From dac5e37a0197f9aab3c746676963826d5136365c Mon Sep 17 00:00:00 2001 From: Lathish Date: Thu, 23 Jan 2020 13:56:28 +0000 Subject: [PATCH] DMAAP Consumer logic Issue-ID: NONRTRIC-107 Change-Id: I1277fbb83dda230971c530ba383b0ebec45096ab Signed-off-by: Lathish --- policy-agent/pom.xml | 585 +++++++++++---------- .../oransc/policyagent/dmaap/BusTopicParams.java | 17 + .../policyagent/dmaap/DmaapMessageConsumer.java | 22 + .../dmaap/DmaapMessageConsumerImpl.java | 54 ++ 4 files changed, 386 insertions(+), 292 deletions(-) create mode 100644 policy-agent/src/main/java/org/oransc/policyagent/dmaap/BusTopicParams.java create mode 100644 policy-agent/src/main/java/org/oransc/policyagent/dmaap/DmaapMessageConsumer.java create mode 100644 policy-agent/src/main/java/org/oransc/policyagent/dmaap/DmaapMessageConsumerImpl.java diff --git a/policy-agent/pom.xml b/policy-agent/pom.xml index 860fae10..52c69d55 100644 --- a/policy-agent/pom.xml +++ b/policy-agent/pom.xml @@ -1,294 +1,295 @@ - - - 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 2.1.6.RELEASE - - - org.o-ran-sc.nonrtric - policy-agent - 1.0.0-SNAPSHOT - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - - - - - onap-releases - onap-releases - https://nexus.onap.org/content/repositories/releases/ - - - - 11 - 2.8.0 - 2.7.1 - 1.1.6 - 2.0.0 - 20180130 - 4.0.1 - 3.8.0 - 2.8.1 - 1.18.0 - 0.30.0 - - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - org.springframework.boot - spring-boot-starter-webflux - - - org.springframework.boot - spring-boot-devtools - true - - - org.springframework - spring-webflux - - - io.swagger.core.v3 - swagger-jaxrs2 - ${swagger.version} - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer - ${swagger.version} - - - javax.xml.bind - jaxb-api - - - org.immutables - value - ${immutable.version} - provided - - - org.immutables - gson - ${immutable.version} - - - org.json - json - ${json.version} - - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.onap.dcaegen2.services.sdk.rest.services - cbs-client - ${sdk.version} - - - - io.springfox - springfox-swagger2 - ${springfox.version} - - - io.springfox - springfox-swagger-ui - ${springfox.version} - - - - org.awaitility - awaitility - ${awaitility.version} - test - - - io.projectreactor - reactor-test - test - - - org.junit.jupiter - junit-jupiter-engine - test - - - org.mockito - mockito-junit-jupiter - test - - - org.mockito - mockito-core - test - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - net.revelc.code.formatter - formatter-maven-plugin - ${formatter-maven-plugin.version} - - ${project.basedir}/eclipse-formatter.xml - - - - - com.diffplug.spotless - spotless-maven-plugin - ${spotless-maven-plugin.version} - - - - - com,java,javax,org - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - false - - - - maven-failsafe-plugin - - - org.codehaus.mojo - build-helper-maven-plugin - - - add-source - generate-sources - - add-source - - - - ${project.build.directory}/generated-sources/annotations/ - - - - - - - io.fabric8 - docker-maven-plugin - ${docker-maven-plugin} - false - - - generate-policy-agent-image - package - - build - - - ${env.CONTAINER_PULL_REGISTRY} - - - o-ran-sc/nonrtric-policy-agent:${project.version} - - try - ${basedir} - Dockerfile - - ${project.build.finalName}.jar - - - ${project.version} - - - - - - - - push-policy-agent-image - - build - push - - - ${env.CONTAINER_PULL_REGISTRY} - ${env.CONTAINER_PUSH_REGISTRY} - - - o-ran-sc/nonrtric-policy-agent:${project.version} - - ${basedir} - Dockerfile - - ${project.build.finalName}.jar - - - ${project.version} - - - - - - - - - - - - JIRA - https://jira.o-ran-sc.org/ - + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.1.6.RELEASE + + + org.o-ran-sc.nonrtric + policy-agent + 1.0.0-SNAPSHOT + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + onap-releases + onap-releases + https://nexus.onap.org/content/repositories/releases/ + + + + 11 + 2.8.0 + 2.7.1 + 1.1.6 + 2.0.0 + 20180130 + 4.0.1 + 3.8.0 + 2.8.1 + 1.18.0 + 0.30.0 + 1.1.9 + 1.18.4 + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + org.springframework.boot + spring-boot-starter-webflux + + + org.springframework.boot + spring-boot-devtools + true + + + org.springframework + spring-webflux + + + io.swagger.core.v3 + swagger-jaxrs2 + ${swagger.version} + + + io.swagger.core.v3 + swagger-jaxrs2-servlet-initializer + ${swagger.version} + + + javax.xml.bind + jaxb-api + + + org.immutables + value + ${immutable.version} + provided + + + org.immutables + gson + ${immutable.version} + + + org.json + json + ${json.version} + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.onap.dcaegen2.services.sdk.rest.services + cbs-client + ${sdk.version} + + + + io.springfox + springfox-swagger2 + ${springfox.version} + + + io.springfox + springfox-swagger-ui + ${springfox.version} + + + + org.awaitility + awaitility + ${awaitility.version} + test + + + io.projectreactor + reactor-test + test + + + org.junit.jupiter + junit-jupiter-engine + test + + + org.mockito + mockito-junit-jupiter + test + + + org.mockito + mockito-core + test + + + org.projectlombok + lombok + provided + + + org.onap.dmaap.messagerouter.dmaapclient + dmaapClient + ${version.dmaap} + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + net.revelc.code.formatter + formatter-maven-plugin + ${formatter-maven-plugin.version} + + ${project.basedir}/eclipse-formatter.xml + + + + + com.diffplug.spotless + spotless-maven-plugin + ${spotless-maven-plugin.version} + + + + + com,java,javax,org + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + false + + + + maven-failsafe-plugin + + + org.codehaus.mojo + build-helper-maven-plugin + + + add-source + generate-sources + + add-source + + + + ${project.build.directory}/generated-sources/annotations/ + + + + + + + io.fabric8 + docker-maven-plugin + ${docker-maven-plugin} + false + + + generate-policy-agent-image + package + + build + + + ${env.CONTAINER_PULL_REGISTRY} + + + o-ran-sc/nonrtric-policy-agent:${project.version} + + try + ${basedir} + Dockerfile + + ${project.build.finalName}.jar + + + ${project.version} + + + + + + + + push-policy-agent-image + + build + push + + + ${env.CONTAINER_PULL_REGISTRY} + ${env.CONTAINER_PUSH_REGISTRY} + + + o-ran-sc/nonrtric-policy-agent:${project.version} + + ${basedir} + Dockerfile + + ${project.build.finalName}.jar + + + ${project.version} + + + + + + + + + + + + JIRA + https://jira.o-ran-sc.org/ + diff --git a/policy-agent/src/main/java/org/oransc/policyagent/dmaap/BusTopicParams.java b/policy-agent/src/main/java/org/oransc/policyagent/dmaap/BusTopicParams.java new file mode 100644 index 00000000..47ab5924 --- /dev/null +++ b/policy-agent/src/main/java/org/oransc/policyagent/dmaap/BusTopicParams.java @@ -0,0 +1,17 @@ +package org.oransc.policyagent.dmaap; + +import org.springframework.context.annotation.Configuration; + +@Configuration("dmaap") +public class BusTopicParams { + + private int port; + private String server; + private String topic; + private String consumerGroup; + private String consumerInstance; + private int fetchTimeout; + private int fetchLimit; + private String userName; + private String password; +} \ No newline at end of file diff --git a/policy-agent/src/main/java/org/oransc/policyagent/dmaap/DmaapMessageConsumer.java b/policy-agent/src/main/java/org/oransc/policyagent/dmaap/DmaapMessageConsumer.java new file mode 100644 index 00000000..42be12d3 --- /dev/null +++ b/policy-agent/src/main/java/org/oransc/policyagent/dmaap/DmaapMessageConsumer.java @@ -0,0 +1,22 @@ +package org.oransc.policyagent.dmaap; + +import java.util.Properties; + +/** + * The Dmaap consumer which has the base methods to be implemented by any class + * which implements this interface + * + */ +public interface DmaapMessageConsumer extends Runnable { + + public void init(Properties baseProperties); + + public abstract void processMsg(String msg) throws Exception; + + public boolean isReady(); + + public boolean isRunning(); + + public void stopConsumer(); + +} diff --git a/policy-agent/src/main/java/org/oransc/policyagent/dmaap/DmaapMessageConsumerImpl.java b/policy-agent/src/main/java/org/oransc/policyagent/dmaap/DmaapMessageConsumerImpl.java new file mode 100644 index 00000000..b64a8224 --- /dev/null +++ b/policy-agent/src/main/java/org/oransc/policyagent/dmaap/DmaapMessageConsumerImpl.java @@ -0,0 +1,54 @@ +package org.oransc.policyagent.dmaap; + +import java.util.Properties; + +import org.onap.dmaap.mr.client.impl.MRConsumerImpl; + +public class DmaapMessageConsumerImpl implements DmaapMessageConsumer { + + protected MRConsumerImpl consumer; + + public DmaapMessageConsumerImpl() { + // TODO Auto-generated constructor stub + } + + @Override + public void run() { + // TODO Auto-generated method stub + + } + + @Override + public void init(Properties baseProperties) { + // Initialize the DMAAP with the properties + // TODO Auto-generated method stub + + } + + @Override + public void processMsg(String msg) throws Exception { + // Call the Controller once you get the message from DMAAP + // Call the concurrent Task executor to handle the incoming request + // TODO Auto-generated method stub + + } + + @Override + public boolean isReady() { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isRunning() { + // TODO Auto-generated method stub + return false; + } + + @Override + public void stopConsumer() { + // TODO Auto-generated method stub + + } + +} -- 2.16.6