+
+ public static void addStartupFile(String filename) {
+ _startupFiles.add(new File(filename));
+ }
+
+ private Config createLocatorConfig(Config.ParseOpts opts) {
+ if (_locatorFile == null) {
+ return null;
+ }
+
+ Config locatorConfig = null;
+
+ try {
+ Config tmpConfig = null;
+ Map<String, Object> tmpData = new HashMap<>();
+ if (_locatorFile.exists()) {
+ tmpConfig = Config.parseConfig(_locatorFile, opts);
+ // appbase is sanitised in HostWhitelist
+ Map<String, Object> tmpConfigData = tmpConfig.getData();
+ if (tmpConfig != null) {
+ for (Map.Entry<String, Object> entry : tmpConfigData.entrySet()) {
+ String key = entry.getKey();
+ Object value = entry.getValue();
+ String mkey = key.indexOf('.') > -1 ? key.substring(key.indexOf('.') + 1) : key;
+ if (Config.allowedReplaceKeys.contains(mkey) || Config.allowedMergeKeys.contains(mkey)) {
+ tmpData.put(key, value);
+ }
+ }
+ } else {
+ log.warning("Error occurred reading config file", "file", _locatorFile);
+ }
+ } else {
+ log.warning("Given locator file does not exist", "file", _locatorFile);
+ }
+
+ locatorConfig = new Config(tmpData);
+
+ } catch (Exception e) {
+ log.warning("Failure reading locator file", "file", _locatorFile, e);
+ }
+
+ return locatorConfig;
+ }
+
+ public String getAppbase() {
+ return _appbase;
+ }
+