Integration with SDK 14/74714/6
authorpwielebs <piotr.wielebski@nokia.com>
Mon, 17 Dec 2018 08:49:00 +0000 (09:49 +0100)
committerpwielebs <piotr.wielebski@nokia.com>
Tue, 18 Dec 2018 13:30:59 +0000 (14:30 +0100)
* minor version upgraded in poms
* align ConsumerDmaapModel to abstraction exposed in SDK
* UTs modified

Change-Id: Iaef2f9e8fab746106574771b2317c5689e047a5b
Issue-ID: DCAEGEN2-1042
Signed-off-by: pwielebs <piotr.wielebski@nokia.com>
20 files changed:
pom.xml
prh-app-server/pom.xml
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTask.java
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImpl.java
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTask.java
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImpl.java
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTask.java
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImpl.java
prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTasks.java
prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParserTest.java
prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImplTest.java
prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/AaiPublisherTaskSpy.java
prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImplTest.java
prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImplTest.java
prh-commons/pom.xml
prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java
prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java [moved from prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/CommonFunctions.java with 86% similarity]
prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/CommonFunctionsTest.java
version.properties

diff --git a/pom.xml b/pom.xml
index 6dc4ab9..5860c65 100644 (file)
--- a/pom.xml
+++ b/pom.xml
     <slf4j.version>1.7.25</slf4j.version>
     <junit-platform.version>1.1.0</junit-platform.version>
     <jacoco.version>0.8.2</jacoco.version>
+    <sdk.version>1.1.0-SNAPSHOT</sdk.version>
   </properties>
 
   <modules>
-    <module>prh-app-server</module>
     <module>prh-commons</module>
+    <module>prh-app-server</module>
   </modules>
 
   <build>
       <dependency>
         <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
         <artifactId>cbs-client</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
+        <version>${sdk.version}</version>
       </dependency>
       <dependency>
         <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
         <artifactId>aai-client</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
+        <version>${sdk.version}</version>
       </dependency>
       <dependency>
         <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
         <artifactId>dmaap-client</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
+        <version>${sdk.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
+        <artifactId>common-dependency</artifactId>
+        <version>${sdk.version}</version>
       </dependency>
       <dependency>
         <groupId>io.springfox</groupId>
       </dependency>
     </dependencies>
   </dependencyManagement>
+
 </project>
index 75b7251..ab0d8d2 100644 (file)
     <dependency>
       <groupId>org.onap.dcaegen2.services.prh</groupId>
       <artifactId>prh-commons</artifactId>
-      <version>${project.version}</version>
+      <version>1.2.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
       <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
       <artifactId>dmaap-client</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
+      <artifactId>common-dependency</artifactId>
+    </dependency>
 
     <dependency>
       <groupId>org.springframework.boot</groupId>
index b054213..4749b52 100644 (file)
@@ -26,8 +26,8 @@ import com.google.gson.JsonParser;
 import java.util.Optional;
 import java.util.stream.StreamSupport;
 import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ImmutableConsumerDmaapModel;
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
+import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.util.StringUtils;
index ecc9758..8e31807 100644 (file)
@@ -23,10 +23,11 @@ package org.onap.dcaegen2.services.prh.tasks;
 import javax.net.ssl.SSLException;
 import org.onap.dcaegen2.services.prh.exceptions.AaiNotFoundException;
 import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException;
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
 import org.onap.dcaegen2.services.sdk.rest.services.aai.client.config.AaiClientConfiguration;
 import org.onap.dcaegen2.services.sdk.rest.services.aai.client.service.AaiReactiveWebClientFactory;
 import org.onap.dcaegen2.services.sdk.rest.services.aai.client.service.http.patch.AaiReactiveHttpPatchClient;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
+
 import org.onap.dcaegen2.services.sdk.rest.services.ssl.SslFactory;
 import org.springframework.web.reactive.function.client.WebClient;
 import reactor.core.publisher.Mono;
index 54d5710..905eb72 100644 (file)
@@ -25,10 +25,12 @@ import org.onap.dcaegen2.services.prh.configuration.Config;
 import org.onap.dcaegen2.services.prh.exceptions.AaiNotFoundException;
 import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException;
 import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException;
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
+import org.onap.dcaegen2.services.prh.model.JsonBodyBuilderImpl;
 import org.onap.dcaegen2.services.prh.model.utils.HttpUtils;
 import org.onap.dcaegen2.services.sdk.rest.services.aai.client.config.AaiClientConfiguration;
 import org.onap.dcaegen2.services.sdk.rest.services.aai.client.service.http.patch.AaiReactiveHttpPatchClient;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,8 +42,7 @@ import reactor.core.publisher.Mono;
  * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/13/18
  */
 @Component
-public class AaiProducerTaskImpl extends
-    AaiProducerTask {
+public class AaiProducerTaskImpl extends AaiProducerTask {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(AaiProducerTaskImpl.class);
 
@@ -68,7 +69,7 @@ public class AaiProducerTaskImpl extends
 
     @Override
     AaiReactiveHttpPatchClient resolveClient() throws SSLException {
-        return new AaiReactiveHttpPatchClient(resolveConfiguration()).createAaiWebClient(buildWebClient());
+        return new AaiReactiveHttpPatchClient(resolveConfiguration(), new JsonBodyBuilderImpl()).createAaiWebClient(buildWebClient());
     }
 
     @Override
@@ -85,6 +86,5 @@ public class AaiProducerTaskImpl extends
         aaiReactiveHttpPatchClient = resolveClient();
         LOGGER.debug("Method called with arg {}", consumerDmaapModel);
         return publish(consumerDmaapModel);
-
     }
 }
\ No newline at end of file
index b44e54d..e3ea896 100644 (file)
 package org.onap.dcaegen2.services.prh.tasks;
 
 import javax.net.ssl.SSLException;
+
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.consumer.DMaaPConsumerReactiveHttpClient;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
+
 import reactor.core.publisher.Flux;
 
 
index eab14db..fd7bca1 100644 (file)
@@ -22,11 +22,12 @@ package org.onap.dcaegen2.services.prh.tasks;
 
 import javax.net.ssl.SSLException;
 import org.onap.dcaegen2.services.prh.configuration.Config;
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
 import org.onap.dcaegen2.services.prh.service.DmaapConsumerJsonParser;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.consumer.ConsumerReactiveHttpClientFactory;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.consumer.DMaaPConsumerReactiveHttpClient;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.consumer.DMaaPReactiveWebClientFactory;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
index 1307968..4d6c0f8 100644 (file)
@@ -21,8 +21,9 @@
 package org.onap.dcaegen2.services.prh.tasks;
 
 import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException;
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.producer.DMaaPPublisherReactiveHttpClient;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
+
 import org.springframework.http.ResponseEntity;
 import reactor.core.publisher.Mono;
 
index 259f16b..63e01c1 100644 (file)
@@ -22,10 +22,13 @@ package org.onap.dcaegen2.services.prh.tasks;
 
 import org.onap.dcaegen2.services.prh.configuration.Config;
 import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException;
+
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
+import org.onap.dcaegen2.services.prh.model.JsonBodyBuilderImpl;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.producer.DMaaPPublisherReactiveHttpClient;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.producer.DmaaPRestTemplateFactory;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.producer.PublisherReactiveHttpClientFactory;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -45,7 +48,7 @@ public class DmaapPublisherTaskImpl implements DmaapPublisherTask {
 
     @Autowired
     public DmaapPublisherTaskImpl(Config config) {
-        this(config, new PublisherReactiveHttpClientFactory(new DmaaPRestTemplateFactory()));
+        this(config, new PublisherReactiveHttpClientFactory(new DmaaPRestTemplateFactory(),new JsonBodyBuilderImpl()));
     }
 
     DmaapPublisherTaskImpl(Config config, PublisherReactiveHttpClientFactory httpClientFactory) {
index 5f23def..2924225 100644 (file)
@@ -30,8 +30,9 @@ import java.util.function.Predicate;
 import javax.net.ssl.SSLException;
 import org.onap.dcaegen2.services.prh.exceptions.DmaapEmptyResponseException;
 import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException;
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
 import org.onap.dcaegen2.services.prh.model.logging.MdcVariables;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.MDC;
index be705c1..01ce741 100644 (file)
@@ -28,8 +28,8 @@ import java.util.Optional;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ImmutableConsumerDmaapModel;
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
+import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel;
 import reactor.core.publisher.Mono;
 import reactor.test.StepVerifier;
 
index f234f74..32e6638 100644 (file)
@@ -38,10 +38,11 @@ import org.junit.jupiter.api.function.Executable;
 import org.onap.dcaegen2.services.prh.TestAppConfiguration;
 import org.onap.dcaegen2.services.prh.configuration.AppConfig;
 import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException;
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
+import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel;
 import org.onap.dcaegen2.services.sdk.rest.services.aai.client.config.AaiClientConfiguration;
 import org.onap.dcaegen2.services.sdk.rest.services.aai.client.service.http.patch.AaiReactiveHttpPatchClient;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ImmutableConsumerDmaapModel;
+
 import org.springframework.http.HttpStatus;
 import org.springframework.web.reactive.function.client.ClientResponse;
 import reactor.core.publisher.Mono;
index 165b0fd..a63910c 100644 (file)
@@ -26,6 +26,7 @@ import static org.mockito.Mockito.spy;
 
 import javax.net.ssl.SSLException;
 import org.onap.dcaegen2.services.prh.configuration.AppConfig;
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
 import org.onap.dcaegen2.services.sdk.rest.services.aai.client.config.AaiClientConfiguration;
 import org.onap.dcaegen2.services.sdk.rest.services.aai.client.service.http.patch.AaiReactiveHttpPatchClient;
 import org.springframework.context.annotation.Bean;
@@ -49,6 +50,7 @@ public class AaiPublisherTaskSpy {
     @Primary
     public AaiProducerTask registerSimpleAaiPublisherTask() throws SSLException {
         AppConfig appConfig = spy(AppConfig.class);
+        ConsumerDmaapModel consumerDmaapModel = spy(ConsumerDmaapModel.class);
         doReturn(mock(AaiClientConfiguration.class)).when(appConfig).getAaiClientConfiguration();
         AaiProducerTaskImpl aaiProducerTask = spy(new AaiProducerTaskImpl(appConfig));
         AaiReactiveHttpPatchClient aaiReactiveHttpPatchClient = mock(AaiReactiveHttpPatchClient.class);
index 29ae1bf..fc85b98 100644 (file)
@@ -32,12 +32,13 @@ import java.util.Optional;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.onap.dcaegen2.services.prh.configuration.AppConfig;
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
+import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel;
 import org.onap.dcaegen2.services.prh.service.DmaapConsumerJsonParser;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.DmaapConsumerConfiguration;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.consumer.ConsumerReactiveHttpClientFactory;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.consumer.DMaaPConsumerReactiveHttpClient;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ImmutableConsumerDmaapModel;
+
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
index 4f5136e..f4a1c2e 100644 (file)
@@ -36,11 +36,11 @@ import org.junit.jupiter.api.function.Executable;
 import org.onap.dcaegen2.services.prh.configuration.AppConfig;
 import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException;
 import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException;
+import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
+import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.DmaapPublisherConfiguration;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.producer.DMaaPPublisherReactiveHttpClient;
 import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.producer.PublisherReactiveHttpClientFactory;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ConsumerDmaapModel;
-import org.onap.dcaegen2.services.sdk.rest.services.model.ImmutableConsumerDmaapModel;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import reactor.core.publisher.Mono;
index 1c78d48..9179798 100644 (file)
   <artifactId>prh-commons</artifactId>
   <packaging>jar</packaging>
 
+
   <dependencies>
+    <dependency>
+      <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
+      <artifactId>common-dependency</artifactId>
+    </dependency>
     <dependency>
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-classic</artifactId>
@@ -55,5 +60,6 @@
       <artifactId>mockito-core</artifactId>
       <scope>test</scope>
     </dependency>
+
   </dependencies>
 </project>
index 6d488c8..b2bac24 100644 (file)
@@ -23,6 +23,8 @@ package org.onap.dcaegen2.services.prh.model;
 import com.google.gson.annotations.SerializedName;
 import org.immutables.gson.Gson;
 import org.immutables.value.Value;
+import org.onap.dcaegen2.services.sdk.rest.services.model.AaiModel;
+import org.onap.dcaegen2.services.sdk.rest.services.model.DmaapModel;
 
 /**
  * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 5/8/18
@@ -30,7 +32,7 @@ import org.immutables.value.Value;
 
 @Value.Immutable
 @Gson.TypeAdapters(fieldNamingStrategy = true)
-public interface ConsumerDmaapModel {
+public interface ConsumerDmaapModel extends AaiModel, DmaapModel {
 
     @SerializedName(value = "correlationId", alternate = "correlationId")
     String getCorrelationId();
@@ -22,13 +22,14 @@ package org.onap.dcaegen2.services.prh.model;
 
 import com.google.gson.GsonBuilder;
 import com.google.gson.TypeAdapterFactory;
+import org.onap.dcaegen2.services.sdk.rest.services.model.JsonBodyBuilder;
+
 import java.util.ServiceLoader;
 
 
-public class CommonFunctions {
+public class JsonBodyBuilderImpl implements JsonBodyBuilder<ConsumerDmaapModel> {
 
-    private CommonFunctions() {
-    }
+    public JsonBodyBuilderImpl() {}
 
     /**
      * Method for serialization object by GSON.
@@ -36,7 +37,7 @@ public class CommonFunctions {
      * @param consumerDmaapModel - object which will be serialized
      * @return string from serialization
      */
-    public static String createJsonBody(ConsumerDmaapModel consumerDmaapModel) {
+    public String createJsonBody(ConsumerDmaapModel consumerDmaapModel) {
         GsonBuilder gsonBuilder = new GsonBuilder();
         ServiceLoader.load(TypeAdapterFactory.class).forEach(gsonBuilder::registerTypeAdapterFactory);
         return gsonBuilder.create().toJson(ImmutableConsumerDmaapModel.builder().ipv4(consumerDmaapModel.getIpv4())
index 81a569e..86717d7 100644 (file)
@@ -30,6 +30,6 @@ class CommonFunctionsTest {
     void createJsonBody_shouldReturnJsonInString() {
         String expectedResult = "{\"correlationId\":\"NOKnhfsadhff\",\"ipaddress-v4-oam\":\"256.22.33.155\""
             + ",\"ipaddress-v6-oam\":\"200J:0db8:85a3:0000:0000:8a2e:0370:7334\"}";
-        assertEquals(expectedResult, CommonFunctions.createJsonBody(new ConsumerDmaapModelForUnitTest()));
+        assertEquals(expectedResult, new JsonBodyBuilderImpl().createJsonBody(new ConsumerDmaapModelForUnitTest()));
     }
 }
index 07578e5..f520c97 100644 (file)
@@ -1,5 +1,5 @@
 major=1\r
-minor=2\r
+minor=3\r
 patch=0\r
 base_version=${major}.${minor}.${patch}\r
 release_version=${base_version}\r