X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Ftasks%2FRicRecoveryTask.java;h=ab25eab46382bb66d89e0da707c58548250e00c2;hb=80ebd8eb750de60424ffb3895fbc7b2032bd1a50;hp=d7e85513d16cdb996c1ce04c41a007a176279e47;hpb=95db19e2820102db0255ca57407faa333cbb4085;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicRecoveryTask.java b/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicRecoveryTask.java index d7e85513..ab25eab4 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicRecoveryTask.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicRecoveryTask.java @@ -41,7 +41,8 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; /** - * Recovery handling of RIC, which means: + * Recovery handling of RIC. + * This means: * - load all policy types * - send all policy instances to the RIC * --- if that fails remove all policy instances @@ -68,7 +69,7 @@ public class RicRecoveryTask { logger.debug("Handling ric: {}", ric.getConfig().name()); synchronized (ric) { - if (ric.state().equals(Ric.RicState.RECOVERING)) { + if (ric.getState() == Ric.RicState.RECOVERING) { return; // Already running } ric.setState(Ric.RicState.RECOVERING); @@ -82,7 +83,7 @@ public class RicRecoveryTask { private Flux startRecover(Ric ric, A1Client a1Client) { Flux recoverTypes = recoverPolicyTypes(ric, a1Client); - Flux deletePoliciesInRic = deleteAllPoliciesInRic(ric, a1Client); + Flux deletePoliciesInRic = a1Client.deleteAllPolicies(); Flux recreatePoliciesInRic = recreateAllPoliciesInRic(ric, a1Client); return Flux.concat(recoverTypes, deletePoliciesInRic, recreatePoliciesInRic); @@ -116,7 +117,7 @@ public class RicRecoveryTask { Flux recoverTypes = this.a1ClientFactory.createA1Client(ric) // .flatMapMany(a1Client -> recoverPolicyTypes(ric, a1Client)); Flux deletePoliciesInRic = this.a1ClientFactory.createA1Client(ric) // - .flatMapMany(a1Client -> deleteAllPoliciesInRic(ric, a1Client)); + .flatMapMany(a1Client -> a1Client.deleteAllPolicies()); Flux.merge(recoverTypes, deletePoliciesInRic) // .subscribe(x -> logger.debug("Brute recover: " + x), // @@ -168,13 +169,6 @@ public class RicRecoveryTask { } } - private Flux deleteAllPoliciesInRic(Ric ric, A1Client a1Client) { - return a1Client.getPolicyIdentities() // - .flatMapMany(policyIds -> Flux.fromIterable(policyIds)) // - .doOnNext(policyId -> logger.debug("Deleting policy: {}, for ric: {}", policyId, ric.getConfig().name())) - .flatMap(policyId -> a1Client.deletePolicy(policyId)); // - } - private Flux recreateAllPoliciesInRic(Ric ric, A1Client a1Client) { synchronized (policies) { return Flux.fromIterable(new Vector<>(policies.getForRic(ric.name()))) //