- List<RuleResult4API> deployedRules = getExistingRules();
-
- // deal with newly added rules
- final Set<String> existingKeys = new HashSet(configInEffect.keySet());
- final Set<String> newKeys = new HashSet(newConfig.keySet());
- newKeys.stream()
- .filter(key -> !existingKeys.contains(key))
- .forEach(key -> {
- if (deployRule(key, newConfig.get(key))) {
- configInEffect.put(key, newConfig.get(key));
- LOGGER.info("Rule '{}' has been deployed.", key);
- }
- });
-
- // deal with removed rules
- existingKeys.stream().filter(key -> !newKeys.contains(key)).forEach(key -> {
- if (deleteRule(find(deployedRules, key))) {
- configInEffect.remove(key);
- LOGGER.info("Rule '{}' has been removed.", key);
- }
- });
-
- // deal with changed rules
- existingKeys.stream().filter(key -> newKeys.contains(key)).forEach(key -> {
- if (changed(configInEffect.get(key), newConfig.get(key))) {
+ try {
+ Map<String, String> newConfig = extractConfigItems(configFileScanner.scan(configFile));
+
+ List<RuleResult4API> deployedRules = getExistingRules();
+
+ // deal with newly added rules
+ final Set<String> existingKeys = new HashSet(configInEffect.keySet());
+ final Set<String> newKeys = new HashSet(newConfig.keySet());
+ newKeys.stream()
+ .filter(key -> !existingKeys.contains(key))
+ .forEach(key -> {
+ if (deployRule(key, newConfig.get(key))) {
+ configInEffect.put(key, newConfig.get(key));
+ LOGGER.info("Rule '{}' has been deployed.", key);
+ }
+ });
+
+ // deal with removed rules
+ existingKeys.stream().filter(key -> !newKeys.contains(key)).forEach(key -> {