X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Fconfiguration%2FApplicationConfigParser.java;h=059016dc0071c8a9cdc91d4ed43236c312b55dd2;hb=5c6cd00806f7e0328c2fe584d3b2742dd19e6b80;hp=c69c39d4025d372ca8269f6258f6c8d480a36a41;hpb=8f1c85c3604a0d10675cacd16a7b67dca346d478;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfigParser.java b/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfigParser.java index c69c39d4..059016dc 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfigParser.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfigParser.java @@ -35,37 +35,52 @@ import java.util.Set; import javax.validation.constraints.NotNull; -import lombok.Getter; - +import org.immutables.gson.Gson; +import org.immutables.value.Value; import org.onap.dmaap.mr.test.clients.ProtocolTypeConstants; import org.oransc.policyagent.exceptions.ServiceException; import org.springframework.http.MediaType; +/** + * Parser for the Json representing of the component configuration. + */ public class ApplicationConfigParser { private static final String CONFIG = "config"; - @Getter - private List ricConfigs; - @Getter - private Properties dmaapPublisherConfig = new Properties(); - @Getter - private Properties dmaapConsumerConfig = new Properties(); + @Value.Immutable + @Gson.TypeAdapters + public interface ConfigParserResult { + List ricConfigs(); + + Properties dmaapPublisherConfig(); + + Properties dmaapConsumerConfig(); + } + + public ConfigParserResult parse(JsonObject root) throws ServiceException { + + Properties dmaapPublisherConfig = new Properties(); + Properties dmaapConsumerConfig = new Properties(); - public void parse(JsonObject root) throws ServiceException { JsonObject agentConfigJson = root.getAsJsonObject(CONFIG); - ricConfigs = parseRics(agentConfigJson); + List ricConfigs = parseRics(agentConfigJson); JsonObject json = agentConfigJson.getAsJsonObject("streams_publishes"); if (json != null) { - this.dmaapPublisherConfig = parseDmaapConfig(json); + dmaapPublisherConfig = parseDmaapConfig(json); } json = agentConfigJson.getAsJsonObject("streams_subscribes"); if (json != null) { - this.dmaapConsumerConfig = parseDmaapConfig(json); + dmaapConsumerConfig = parseDmaapConfig(json); } + return ImmutableConfigParserResult.builder() // + .dmaapConsumerConfig(dmaapConsumerConfig) // + .dmaapPublisherConfig(dmaapPublisherConfig) // + .ricConfigs(ricConfigs) // + .build(); } private List parseRics(JsonObject config) throws ServiceException {