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=c69c39d4025d372ca8269f6258f6c8d480a36a41;hb=4f602854561a08e754eb0c4ba9327bf49b0e63d7;hp=1ffe9c8e2c0ade2a28e906ed19f31aedd80aaca6;hpb=71a1a31134fe505ad69b559e28eb912aa5a4c58b;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 1ffe9c8e..c69c39d4 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 @@ -20,19 +20,23 @@ package org.oransc.policyagent.configuration; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; + import java.net.MalformedURLException; import java.net.URL; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; import java.util.Map.Entry; import java.util.Properties; import java.util.Set; -import java.util.Vector; + import javax.validation.constraints.NotNull; + import lombok.Getter; + import org.onap.dmaap.mr.test.clients.ProtocolTypeConstants; import org.oransc.policyagent.exceptions.ServiceException; import org.springframework.http.MediaType; @@ -41,42 +45,53 @@ public class ApplicationConfigParser { private static final String CONFIG = "config"; - private static Gson gson = new GsonBuilder() // - .serializeNulls() // - .create(); // - @Getter - private Vector ricConfigs; + private List ricConfigs; @Getter - private Properties dmaapPublisherConfig; + private Properties dmaapPublisherConfig = new Properties(); @Getter - private Properties dmaapConsumerConfig; + private Properties dmaapConsumerConfig = new Properties(); public void parse(JsonObject root) throws ServiceException { JsonObject agentConfigJson = root.getAsJsonObject(CONFIG); ricConfigs = parseRics(agentConfigJson); - JsonObject dmaapPublisherConfigJson = agentConfigJson.getAsJsonObject("streams_publishes"); - if (dmaapPublisherConfigJson == null) { - dmaapPublisherConfig = new Properties(); - } else { - dmaapPublisherConfig = parseDmaapConfig(dmaapPublisherConfigJson); + + JsonObject json = agentConfigJson.getAsJsonObject("streams_publishes"); + if (json != null) { + this.dmaapPublisherConfig = parseDmaapConfig(json); } - JsonObject dmaapConsumerConfigJson = agentConfigJson.getAsJsonObject("streams_subscribes"); - if (dmaapConsumerConfigJson == null) { - dmaapConsumerConfig = new Properties(); - } else { - dmaapConsumerConfig = parseDmaapConfig(dmaapConsumerConfigJson); + + json = agentConfigJson.getAsJsonObject("streams_subscribes"); + if (json != null) { + this.dmaapConsumerConfig = parseDmaapConfig(json); } + } - private Vector parseRics(JsonObject config) throws ServiceException { - Vector result = new Vector(); + private List parseRics(JsonObject config) throws ServiceException { + List result = new ArrayList<>(); for (JsonElement ricElem : getAsJsonArray(config, "ric")) { - result.add(gson.fromJson(ricElem.getAsJsonObject(), ImmutableRicConfig.class)); + JsonObject ricAsJson = ricElem.getAsJsonObject(); + ImmutableRicConfig ricConfig = ImmutableRicConfig.builder() // + .name(ricAsJson.get("name").getAsString()) // + .baseUrl(ricAsJson.get("baseUrl").getAsString()) // + .managedElementIds(parseManagedElementIds(ricAsJson.get("managedElementIds").getAsJsonArray())) // + .build(); + result.add(ricConfig); } return result; } + private List parseManagedElementIds(JsonArray asJsonObject) { + Iterator iterator = asJsonObject.iterator(); + List managedElementIds = new ArrayList<>(); + while (iterator.hasNext()) { + managedElementIds.add(iterator.next().getAsString()); + + } + return managedElementIds; + } + private static JsonElement get(JsonObject obj, String memberName) throws ServiceException { JsonElement elem = obj.get(memberName); if (elem == null) { @@ -99,8 +114,8 @@ public class ApplicationConfigParser { JsonObject dmaapInfo = get(streamConfigEntry, "dmaap_info").getAsJsonObject(); String topicUrl = getAsString(dmaapInfo, "topic_url"); - Properties dmaapProps = new Properties(); try { + Properties dmaapProps = new Properties(); URL url = new URL(topicUrl); String passwd = ""; String userName = ""; @@ -127,11 +142,11 @@ public class ApplicationConfigParser { dmaapProps.put("maxAgeMs", "10000"); dmaapProps.put("compress", true); dmaapProps.put("MessageSentThreadOccurance", "2"); + return dmaapProps; } catch (MalformedURLException e) { throw new ServiceException("Could not parse the URL", e); } - return dmaapProps; } private static @NotNull String getAsString(JsonObject obj, String memberName) throws ServiceException {