X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Fconfiguration%2FApplicationConfig.java;h=d8da5ee89af883713cbce391a4e4907d6d1f4d82;hb=63036ab25f7878781e74b2ca0706b28451f59f27;hp=79c82a789844d21d058ea9b97c83084111aa2cfa;hpb=def3c3e28fb8616a444ad3caaf2f789292402a02;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfig.java b/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfig.java index 79c82a78..d8da5ee8 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfig.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfig.java @@ -47,10 +47,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.stereotype.Component; import reactor.core.publisher.Mono; -@Component @EnableConfigurationProperties @ConfigurationProperties("app") public class ApplicationConfig { @@ -76,18 +74,26 @@ public class ApplicationConfig { return this.ricConfigs; } - public Optional getRicConfig(String managedElementId) { + public Optional lookupRicConfigForManagedElement(String managedElementId) { for (RicConfig ricConfig : getRicConfigs()) { if (ricConfig.managedElementIds().contains(managedElementId)) { return Optional.of(ricConfig); - } } return Optional.empty(); } + public RicConfig getRic(String ricName) throws ServiceException { + for (RicConfig ricConfig : getRicConfigs()) { + if (ricConfig.name().equals(ricName)) { + return ricConfig; + } + } + throw new ServiceException("Could not find ric: " + ricName); + } + public void initialize() { - loadConfigurationFromFile(); + loadConfigurationFromFile(this.filepath); } Mono getEnvironment(Properties systemEnvironment) { @@ -97,7 +103,7 @@ public class ApplicationConfig { /** * Reads the configuration from file. */ - void loadConfigurationFromFile() { + protected void loadConfigurationFromFile(String filepath) { GsonBuilder gsonBuilder = new GsonBuilder(); ServiceLoader.load(TypeAdapterFactory.class).forEach(gsonBuilder::registerTypeAdapterFactory);