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=c21af83981088c2b53164bcf53adf72ef6e7aea7;hb=b40e1b476b25dfdd5ad3ba235ab085d6d4087be3;hp=d32db7a0bd379f0aa2d5ca2bec014ad971965833;hpb=c3ed1a5199e3f5f539cc813b9a383dd156fed2e2;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 d32db7a0..c21af839 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,6 +35,8 @@ 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; @@ -47,40 +49,27 @@ public class ApplicationConfigParser { .serializeNulls() // .create(); // - private Vector ricConfig; - private Properties dmaapPublisherConfig; - private Properties dmaapConsumerConfig; - - public ApplicationConfigParser() { - } + @Getter + private Vector ricConfigs; + @Getter + private Properties dmaapPublisherConfig = new Properties(); + @Getter + private Properties dmaapConsumerConfig = new Properties(); public void parse(JsonObject root) throws ServiceException { - JsonObject ricConfigJson = root.getAsJsonObject(CONFIG); - ricConfig = parseRics(ricConfigJson); - JsonObject dmaapPublisherConfigJson = root.getAsJsonObject("streams_publishes"); - if (dmaapPublisherConfigJson == null) { - dmaapPublisherConfig = new Properties(); - } else { - dmaapPublisherConfig = parseDmaapConfig(dmaapPublisherConfigJson); - } - JsonObject dmaapConsumerConfigJson = root.getAsJsonObject("streams_subscribes"); - if (dmaapConsumerConfigJson == null) { - dmaapConsumerConfig = new Properties(); - } else { - dmaapConsumerConfig = parseDmaapConfig(dmaapConsumerConfigJson); - } - } + JsonObject agentConfigJson = root.getAsJsonObject(CONFIG); + ricConfigs = parseRics(agentConfigJson); - public Vector getRicConfigs() { - return this.ricConfig; - } + JsonObject json = agentConfigJson.getAsJsonObject("streams_publishes"); + if (json != null) { + this.dmaapPublisherConfig = parseDmaapConfig(json); + } - public Properties getDmaapPublisherConfig() { - return dmaapPublisherConfig; - } + json = agentConfigJson.getAsJsonObject("streams_subscribes"); + if (json != null) { + this.dmaapConsumerConfig = parseDmaapConfig(json); + } - public Properties getDmaapConsumerConfig() { - return dmaapConsumerConfig; } private Vector parseRics(JsonObject config) throws ServiceException { @@ -103,17 +92,18 @@ public class ApplicationConfigParser { return get(obj, memberName).getAsJsonArray(); } - private Properties parseDmaapConfig(JsonObject consumerCfg) throws ServiceException { - Set> topics = consumerCfg.entrySet(); - if (topics.size() != 1) { - throw new ServiceException("Invalid configuration, number of topic must be one, config: " + topics); + private Properties parseDmaapConfig(JsonObject streamCfg) throws ServiceException { + Set> streamConfigEntries = streamCfg.entrySet(); + if (streamConfigEntries.size() != 1) { + throw new ServiceException( + "Invalid configuration. Number of streams must be one, config: " + streamConfigEntries); } - JsonObject topic = topics.iterator().next().getValue().getAsJsonObject(); - JsonObject dmaapInfo = get(topic, "dmaap_info").getAsJsonObject(); + JsonObject streamConfigEntry = streamConfigEntries.iterator().next().getValue().getAsJsonObject(); + 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 = ""; @@ -125,9 +115,9 @@ public class ApplicationConfigParser { String urlPath = url.getPath(); DmaapUrlPath path = parseDmaapUrlPath(urlPath); - dmaapProps.put("ServiceName", url.getHost()); + dmaapProps.put("ServiceName", url.getHost() + ":" + url.getPort() + "/events"); dmaapProps.put("topic", path.dmaapTopicName); - dmaapProps.put("host", url.getHost()); + dmaapProps.put("host", url.getHost() + ":" + url.getPort()); dmaapProps.put("contenttype", MediaType.APPLICATION_JSON.toString()); dmaapProps.put("userName", userName); dmaapProps.put("password", passwd); @@ -135,13 +125,16 @@ public class ApplicationConfigParser { dmaapProps.put("id", path.consumerId); dmaapProps.put("TransportType", ProtocolTypeConstants.HTTPNOAUTH.toString()); dmaapProps.put("timeout", 15000); - dmaapProps.put("limit", 1000); - dmaapProps.put("port", url.getPort()); + dmaapProps.put("limit", 100); + dmaapProps.put("maxBatchSize", "10"); + 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 { @@ -166,7 +159,7 @@ public class ApplicationConfigParser { throw new ServiceException("The path has incorrect syntax: " + urlPath); } - final String dmaapTopicName = tokens[1] + "/" + tokens[2]; // /events/A1-P + final String dmaapTopicName = tokens[2]; // /events/A1-P String consumerGroup = ""; // users String consumerId = ""; // sdnc1 if (tokens.length == 5) {