X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Ftasks%2FStartupService.java;h=d2356ea985f44e522729e76ec6ff9c644dd753a7;hb=b47a7130c10bef2bf812366ca971e4eaa938b152;hp=e014776fa19f34b82abd0b1a78735ced408824b3;hpb=296f7c083ed15a57e59ea4546eb0624bf235d29b;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/tasks/StartupService.java b/policy-agent/src/main/java/org/oransc/policyagent/tasks/StartupService.java index e014776f..d2356ea9 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/tasks/StartupService.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/tasks/StartupService.java @@ -20,15 +20,12 @@ package org.oransc.policyagent.tasks; -import java.util.Vector; - -import org.oransc.policyagent.clients.RicClient; +import org.oransc.policyagent.clients.A1Client; import org.oransc.policyagent.configuration.ApplicationConfig; import org.oransc.policyagent.configuration.RicConfig; -import org.oransc.policyagent.repository.PolicyType; +import org.oransc.policyagent.repository.Policies; import org.oransc.policyagent.repository.PolicyTypes; import org.oransc.policyagent.repository.Ric; -import org.oransc.policyagent.repository.Ric.RicState; import org.oransc.policyagent.repository.Rics; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -53,35 +50,31 @@ public class StartupService { PolicyTypes policyTypes; @Autowired - private RicClient ricClient; + private A1Client a1Client; + + @Autowired + private Policies policies; - StartupService(ApplicationConfig appConfig, Rics rics, PolicyTypes policyTypes, RicClient ricClient) { + StartupService(ApplicationConfig appConfig, Rics rics, PolicyTypes policyTypes, A1Client a1Client, + Policies policies) { this.applicationConfig = appConfig; this.rics = rics; this.policyTypes = policyTypes; - this.ricClient = ricClient; + this.a1Client = a1Client; + this.policies = policies; } /** * Reads the configured Rics and performs the service discovery. The result is put into the repository. */ public void startup() { + logger.debug("Starting up"); applicationConfig.initialize(); - Vector ricConfigs = applicationConfig.getRicConfigs(); - for (RicConfig ricConfig : ricConfigs) { - Ric ric = new Ric(ricConfig); - String baseUrl = ricConfig.baseUrl(); - ricClient.deleteAllPolicies(baseUrl); - Vector types = ricClient.getPolicyTypes(baseUrl); - for (PolicyType policyType : types) { - if (!policyTypes.contains(policyType)) { - policyTypes.put(policyType); - } - } - ric.setState(RicState.ACTIVE); - rics.put(ric); + for (RicConfig ricConfig : applicationConfig.getRicConfigs()) { + rics.put(new Ric(ricConfig)); } - + RicRecoveryTask recoveryTask = new RicRecoveryTask(a1Client, policyTypes, policies); + recoveryTask.run(rics.getRics()); // recover all Rics } }