X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Ftasks%2FRicSupervision.java;h=c2dd18ec6c5716a923b3f5ff5b2b32ce3723b112;hb=refs%2Fchanges%2F15%2F3215%2F1;hp=d6013de733aa013b87f125669de176ad4e7544fd;hpb=c5c251953f36a3a56613ad28f2d73f958ff58295;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSupervision.java b/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSupervision.java index d6013de7..c2dd18ec 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSupervision.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSupervision.java @@ -43,10 +43,12 @@ import reactor.core.publisher.Mono; /** * Regularly checks the existing rics towards the local repository to keep it - * consistent. + * consistent. When the policy types or instances in the Near-RT RIC is not + * consistent, a synchronization is performed. */ @Component @EnableScheduling +@SuppressWarnings("squid:S2629") // Invoke method(s) only conditionally public class RicSupervision { private static final Logger logger = LoggerFactory.getLogger(RicSupervision.class); @@ -72,18 +74,19 @@ 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()), // + createTask().subscribe( // + ric -> logger.debug("Ric: {} checked", ric.ric.name()), // null, // - () -> logger.debug("Checking Rics completed")); + () -> logger.debug("Checking Rics completed") // + ); } private Flux 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 checkOneRic(RicData ricData) { @@ -112,7 +115,7 @@ public class RicSupervision { } private Mono 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) {