X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Ftasks%2FServiceSupervision.java;h=d75ff4fe1e97506a5f068ee8f8c078f5cb6c368f;hb=be84d0b846398b9684f9ddba2ef4f60a23cd5eb0;hp=1e7f2dc771d5bb4bae59b988a883a38c012ac694;hpb=4891734864ae374cf6ff357f41cc840c4f685300;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/tasks/ServiceSupervision.java b/policy-agent/src/main/java/org/oransc/policyagent/tasks/ServiceSupervision.java index 1e7f2dc7..d75ff4fe 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/tasks/ServiceSupervision.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/tasks/ServiceSupervision.java @@ -20,7 +20,7 @@ package org.oransc.policyagent.tasks; -import org.oransc.policyagent.clients.A1Client; +import org.oransc.policyagent.clients.A1ClientFactory; import org.oransc.policyagent.repository.Policies; import org.oransc.policyagent.repository.Policy; import org.oransc.policyagent.repository.Service; @@ -41,13 +41,13 @@ public class ServiceSupervision { private static final Logger logger = LoggerFactory.getLogger(ServiceSupervision.class); private final Services services; private final Policies policies; - private A1Client a1Client; + private A1ClientFactory a1ClientFactory; @Autowired - public ServiceSupervision(Services services, Policies policies, A1Client a1Client) { + public ServiceSupervision(Services services, Policies policies, A1ClientFactory a1ClientFactory) { this.services = services; this.policies = policies; - this.a1Client = a1Client; + this.a1ClientFactory = a1ClientFactory; } @Scheduled(fixedRate = 1000 * 60) @@ -86,9 +86,10 @@ public class ServiceSupervision { } private Mono deletePolicyInRic(Policy policy) { - return a1Client.deletePolicy(policy.ric().getConfig().baseUrl(), policy.id()) // - .onErrorResume(exception -> handleDeleteFromRicFailure(policy, exception)) // - .map((nothing) -> policy); + return a1ClientFactory.createA1Client(policy.ric()) // + .flatMap(client -> client.deletePolicy(policy.id()) // + .onErrorResume(exception -> handleDeleteFromRicFailure(policy, exception)) // + .map((nothing) -> policy)); } private Mono handleDeleteFromRicFailure(Policy policy, Throwable e) {