Bugfix
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / tasks / RefreshConfigTask.java
index de4a771..7cfe486 100644 (file)
@@ -70,7 +70,8 @@ import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
 /**
- * Regularly refreshes the configuration from Consul.
+ * Regularly refreshes the configuration from Consul or from a local
+ * configuration file.
  */
 @Component
 public class RefreshConfigTask {
@@ -108,8 +109,9 @@ public class RefreshConfigTask {
         logger.debug("Starting refreshConfigTask");
         stop();
         refreshTask = createRefreshTask() //
-            .subscribe(notUsed -> logger.debug("Refreshed configuration data"),
-                throwable -> logger.error("Configuration refresh terminated due to exception", throwable),
+            .subscribe(
+                notUsed -> logger.debug("Refreshed configuration data"), throwable -> logger
+                    .error("Configuration refresh terminated due to exception {}", throwable.getMessage()),
                 () -> logger.error("Configuration refresh terminated"));
     }
 
@@ -125,16 +127,16 @@ public class RefreshConfigTask {
             .filter(notUsed -> !this.isConsulUsed) //
             .flatMap(notUsed -> loadConfigurationFromFile()) //
             .onErrorResume(this::ignoreError) //
-            .doOnNext(json -> logger.debug("loadFromFile")) //
+            .doOnNext(json -> logger.debug("loadFromFile succeeded")) //
             .doOnTerminate(() -> logger.error("loadFromFile Terminate"));
 
         Flux<JsonObject> loadFromConsul = getEnvironment(systemEnvironment) //
             .flatMap(this::createCbsClient) //
             .flatMapMany(this::periodicConfigurationUpdates) //
             .onErrorResume(this::ignoreError) //
-            .doOnNext(json -> logger.debug("loadFromConsul")) //
+            .doOnNext(json -> logger.debug("loadFromConsul succeeded")) //
             .doOnNext(json -> this.isConsulUsed = true) //
-            .doOnTerminate(() -> logger.error("loadFromConsul Terminate"));
+            .doOnTerminate(() -> logger.error("loadFromConsul Terminated"));
 
         return Flux.merge(loadFromFile, loadFromConsul) //
             .flatMap(this::parseConfiguration) //
@@ -164,20 +166,18 @@ public class RefreshConfigTask {
         return Mono.empty();
     }
 
-    private Mono<ApplicationConfigParser> parseConfiguration(JsonObject jsonObject) {
+    private Mono<ApplicationConfigParser.ConfigParserResult> parseConfiguration(JsonObject jsonObject) {
         try {
             ApplicationConfigParser parser = new ApplicationConfigParser();
-            parser.parse(jsonObject);
-            return Mono.just(parser);
+            return Mono.just(parser.parse(jsonObject));
         } catch (ServiceException e) {
             logger.error("Could not parse configuration {}", e.toString(), e);
             return Mono.error(e);
         }
     }
 
-    private Flux<RicConfigUpdate> updateConfig(ApplicationConfigParser config) {
-        return this.appConfig.setConfiguration(config.getRicConfigs(), config.getDmaapPublisherConfig(),
-            config.getDmaapConsumerConfig());
+    private Flux<RicConfigUpdate> updateConfig(ApplicationConfigParser.ConfigParserResult config) {
+        return this.appConfig.setConfiguration(config);
     }
 
     boolean configFileExists() {