Bugfix
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / tasks / RicSupervision.java
index 52780d7..2666d60 100644 (file)
@@ -74,20 +74,15 @@ public class RicSupervision {
     @Scheduled(fixedRate = 1000 * 60)
     public void checkAllRics() {
         logger.debug("Checking Rics starting");
-        createTask().subscribe( //
-            ric -> logger.debug("Ric: {} checked", ric.ric.name()), //
-            null, //
-            () -> logger.debug("Checking Rics completed") //
-        );
+        createTask().subscribe(null, null, () -> logger.debug("Checking all RICs completed"));
     }
 
     private Flux<RicData> createTask() {
-        synchronized (this.rics) {
-            return Flux.fromIterable(rics.getRics()) //
-                .flatMap(this::createRicData) //
-                .flatMap(this::checkOneRic) //
-                .onErrorResume(throwable -> Mono.empty());
-        }
+        return Flux.fromIterable(rics.getRics()) //
+            .flatMap(this::createRicData) //
+            .flatMap(this::checkOneRic) //
+            .onErrorResume(throwable -> Mono.empty());
+
     }
 
     private Mono<RicData> checkOneRic(RicData ricData) {
@@ -96,7 +91,9 @@ public class RicSupervision {
             .flatMap(x -> checkRicPolicies(ricData)) //
             .flatMap(x -> ricData.ric.getLock().unlock()) //
             .doOnError(throwable -> ricData.ric.getLock().unlockBlocking()) //
-            .flatMap(x -> checkRicPolicyTypes(ricData)); //
+            .flatMap(x -> checkRicPolicyTypes(ricData)) //
+            .doOnNext(x -> logger.debug("Ric: {} checked OK", ricData.ric.name())) //
+            .doOnError(t -> logger.debug("Ric: {} check Failed, exception: {}", ricData.ric.name(), t.getMessage()));
     }
 
     private static class RicData {
@@ -116,7 +113,7 @@ public class RicSupervision {
     }
 
     private Mono<RicData> checkRicState(RicData ric) {
-        if (ric.ric.getState() == RicState.UNDEFINED) {
+        if (ric.ric.getState() == RicState.UNAVAILABLE) {
             return startSynchronization(ric) //
                 .onErrorResume(t -> Mono.empty());
         } else if (ric.ric.getState() == RicState.SYNCHRONIZING) {