From 0386c752ae31856bd5ee83fc8b6de763c48d3c83 Mon Sep 17 00:00:00 2001 From: pwielebs Date: Mon, 17 Dec 2018 09:49:00 +0100 Subject: Integration with SDK * 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 --- prh-commons/pom.xml | 6 +++ .../services/prh/model/CommonFunctions.java | 45 --------------------- .../services/prh/model/ConsumerDmaapModel.java | 4 +- .../services/prh/model/JsonBodyBuilderImpl.java | 46 ++++++++++++++++++++++ .../services/prh/model/CommonFunctionsTest.java | 2 +- 5 files changed, 56 insertions(+), 47 deletions(-) delete mode 100644 prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/CommonFunctions.java create mode 100644 prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java (limited to 'prh-commons') diff --git a/prh-commons/pom.xml b/prh-commons/pom.xml index 1c78d484..91797986 100644 --- a/prh-commons/pom.xml +++ b/prh-commons/pom.xml @@ -14,7 +14,12 @@ prh-commons jar + + + org.onap.dcaegen2.services.sdk.rest.services + common-dependency + ch.qos.logback logback-classic @@ -55,5 +60,6 @@ mockito-core test + diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/CommonFunctions.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/CommonFunctions.java deleted file mode 100644 index 20820fce..00000000 --- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/CommonFunctions.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * PNF-REGISTRATION-HANDLER - * ================================================================================ - * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.dcaegen2.services.prh.model; - -import com.google.gson.GsonBuilder; -import com.google.gson.TypeAdapterFactory; -import java.util.ServiceLoader; - - -public class CommonFunctions { - - private CommonFunctions() { - } - - /** - * Method for serialization object by GSON. - * - * @param consumerDmaapModel - object which will be serialized - * @return string from serialization - */ - public static String createJsonBody(ConsumerDmaapModel consumerDmaapModel) { - GsonBuilder gsonBuilder = new GsonBuilder(); - ServiceLoader.load(TypeAdapterFactory.class).forEach(gsonBuilder::registerTypeAdapterFactory); - return gsonBuilder.create().toJson(ImmutableConsumerDmaapModel.builder().ipv4(consumerDmaapModel.getIpv4()) - .ipv6(consumerDmaapModel.getIpv6()).correlationId(consumerDmaapModel.getCorrelationId()).build()); - } -} \ No newline at end of file diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java index 6d488c85..b2bac24c 100644 --- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java +++ b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java @@ -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 Przemysław Wąsala 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(); diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java new file mode 100644 index 00000000..b504a4bd --- /dev/null +++ b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java @@ -0,0 +1,46 @@ +/* + * ============LICENSE_START======================================================= + * PNF-REGISTRATION-HANDLER + * ================================================================================ + * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +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 JsonBodyBuilderImpl implements JsonBodyBuilder { + + public JsonBodyBuilderImpl() {} + + /** + * Method for serialization object by GSON. + * + * @param consumerDmaapModel - object which will be serialized + * @return string from serialization + */ + 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()) + .ipv6(consumerDmaapModel.getIpv6()).correlationId(consumerDmaapModel.getCorrelationId()).build()); + } +} \ No newline at end of file diff --git a/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/CommonFunctionsTest.java b/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/CommonFunctionsTest.java index 81a569e4..86717d7e 100644 --- a/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/CommonFunctionsTest.java +++ b/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/CommonFunctionsTest.java @@ -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())); } } -- cgit 1.2.3-korg