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=f7420a027668420f53bfc1b1804c5729b5011b92;hb=805681f9c4f555fd905af4ecd4f0beea8d657327;hp=6612e39acf516f8523f730ae55b687bf17884f0f;hpb=35e7ea7bb7a6e2890542f3535aa09b11b2f079a1;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 6612e39a..f7420a02 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,9 +20,6 @@ package org.oransc.policyagent.tasks; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - import org.oransc.policyagent.clients.A1Client; import org.oransc.policyagent.configuration.ApplicationConfig; import org.oransc.policyagent.repository.ImmutablePolicyType; @@ -45,10 +42,6 @@ import reactor.core.publisher.Mono; @Service("startupService") public class StartupService { - private static Gson gson = new GsonBuilder() // - .serializeNulls() // - .create(); // - private static final Logger logger = LoggerFactory.getLogger(StartupService.class); @Autowired @@ -77,42 +70,43 @@ public class StartupService { applicationConfig.initialize(); Flux.fromIterable(applicationConfig.getRicConfigs()) // .map(ricConfig -> new Ric(ricConfig)) // - .doOnNext(ric -> logger.debug("Handling ric: {}", ric.getConfig().name())).flatMap(this::handlePolicyTypes) + .doOnNext(ric -> logger.debug("Handling ric: {}", ric.getConfig().name())) // + .flatMap(this::addPolicyTypesForRic) + .flatMap(this::deletePoliciesForRic) // .flatMap(this::setRicToActive) // .flatMap(this::addRicToRepo) // .subscribe(); } - private Mono handlePolicyTypes(Ric ric) { - a1Client.getAllPolicyTypes(ric.getConfig().baseUrl()) // - .map(policyTypeString -> gson.fromJson(policyTypeString, ImmutablePolicyType.class)) // - .doOnNext(type -> logger.debug("For ric: {}, handling type: {}", ric.getConfig().name(), type.name())) + private Mono addPolicyTypesForRic(Ric ric) { + a1Client.getPolicyTypeIdentities(ric.getConfig().baseUrl()) // + .doOnNext(typeId -> logger.debug("For ric: {}, handling type: {}", ric.getConfig().name(), typeId)) .flatMap(this::addTypeToRepo) // .flatMap(type -> addTypeToRic(ric, type)) // - .flatMap(type -> deletePoliciesForType(ric, type)) // .subscribe(); return Mono.just(ric); } - private Mono addTypeToRepo(PolicyType policyType) { - if (!policyTypes.contains(policyType)) { - policyTypes.put(policyType); + private Mono addTypeToRepo(String policyTypeId) { + ImmutablePolicyType type = ImmutablePolicyType.builder().name(policyTypeId).build(); + if (!policyTypes.contains(policyTypeId)) { + policyTypes.put(type); } - return Mono.just(policyType); + return Mono.just(type); } - private Mono addTypeToRic(Ric ric, PolicyType policyType) { + private Mono addTypeToRic(Ric ric, PolicyType policyType) { ric.addSupportedPolicyType(policyType); - return Mono.just(policyType); + return Mono.empty(); } - private Mono deletePoliciesForType(Ric ric, PolicyType policyType) { - a1Client.getPoliciesForType(ric.getConfig().baseUrl(), policyType.name()) // + private Mono deletePoliciesForRic(Ric ric) { + a1Client.getPolicyIdentities(ric.getConfig().baseUrl()) // .doOnNext(policyId -> logger.debug("deleting policy: {}, for ric: {}", policyId, ric.getConfig().name())) // .flatMap(policyId -> a1Client.deletePolicy(ric.getConfig().baseUrl(), policyId)) // .subscribe(); - return Mono.empty(); + return Mono.just(ric); } private Mono setRicToActive(Ric ric) {