1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.neo4j.server.startup.healthcheck;
21
22 import java.io.File;
23 import java.util.Properties;
24
25 import org.neo4j.server.configuration.Configurator;
26
27 public class ConfigFileMustBePresentRule implements StartupHealthCheckRule {
28 private static final String EMPTY_STRING = "";
29 private boolean passed = false;
30 private boolean ran = false;
31 private String failureMessage = EMPTY_STRING;
32
33 public boolean execute(Properties properties) {
34 ran = true;
35
36 String configFilename = properties.getProperty(Configurator.NEO_SERVER_CONFIG_FILE_KEY);
37
38 if(configFilename == null) {
39 failureMessage = String.format("Property [%s] has not been set.", Configurator.NEO_SERVER_CONFIG_FILE_KEY);
40
41 return false;
42 }
43
44 File configFile = new File(configFilename);
45 if(!configFile.exists()) {
46 failureMessage = String.format("No configuration file at [%s]", configFile.getAbsoluteFile());
47 return false;
48 }
49
50 passed = true;
51 return passed;
52 }
53
54 public String getFailureMessage() {
55 if(passed) {
56 return EMPTY_STRING;
57 }
58
59 if(!ran) {
60 return String.format("%s has not been run", getClass().getName());
61 } else {
62 return failureMessage;
63 }
64 }
65 }