From 14433b1454dd4b881b8b36f184d63528a43931ba Mon Sep 17 00:00:00 2001 From: grabinsk Date: Thu, 23 May 2019 14:25:24 +0200 Subject: Fix sending PNF_READY notification after update to El Alto SDK version usage Change-Id: I06c1ae2b2a9831a4c31e09fafbe1500c10714caa Issue-ID: DCAEGEN2-1501 Signed-off-by: grabinsk --- .../prh/model/PnfReadyJsonBodyBuilder.java | 47 +++++++++++++++++++ .../prh/model/PnfReadyJsonBodyBuilderImpl.java | 52 ---------------------- .../prh/model/PnfReadyJsonBodyBuilderTest.java | 24 +++++----- 3 files changed, 61 insertions(+), 62 deletions(-) create mode 100644 prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilder.java delete mode 100644 prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilderImpl.java (limited to 'prh-commons') diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilder.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilder.java new file mode 100644 index 00000000..b39c4690 --- /dev/null +++ b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilder.java @@ -0,0 +1,47 @@ +/* + * ============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.JsonElement; +import com.google.gson.JsonObject; +import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel.Builder; +import org.onap.dcaegen2.services.prh.model.utils.PrhModelAwareGsonBuilder; + + +public class PnfReadyJsonBodyBuilder { + + /** + * Method for serialization object by GSON. + * + * @param consumerDmaapModel - object which will be serialized + * @return string from serialization + */ + public JsonElement createJsonBody(ConsumerDmaapModel consumerDmaapModel) { + Builder builder = ImmutableConsumerDmaapModel.builder() + .correlationId(consumerDmaapModel.getCorrelationId()); + + JsonObject additionalFields = consumerDmaapModel.getAdditionalFields(); + if(additionalFields != null && !additionalFields.equals(new JsonObject())) { + builder.additionalFields(additionalFields); + } + return PrhModelAwareGsonBuilder.createGson().toJsonTree(builder.build()); + } +} \ No newline at end of file diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilderImpl.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilderImpl.java deleted file mode 100644 index 8584f01f..00000000 --- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilderImpl.java +++ /dev/null @@ -1,52 +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.JsonObject; -import com.google.gson.TypeAdapterFactory; -import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel.Builder; -import org.onap.dcaegen2.services.sdk.rest.services.model.JsonBodyBuilder; - -import java.util.ServiceLoader; - - -public class PnfReadyJsonBodyBuilderImpl implements JsonBodyBuilder { - - /** - * 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); - Builder builder = ImmutableConsumerDmaapModel.builder() - .correlationId(consumerDmaapModel.getCorrelationId()); - - JsonObject additionalFields = consumerDmaapModel.getAdditionalFields(); - if(additionalFields != null && !additionalFields.equals(new JsonObject())) { - builder.additionalFields(additionalFields); - } - return gsonBuilder.create().toJson(builder.build()); - } -} \ No newline at end of file diff --git a/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilderTest.java b/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilderTest.java index e104f54e..769e1673 100644 --- a/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilderTest.java +++ b/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/PnfReadyJsonBodyBuilderTest.java @@ -31,23 +31,23 @@ class PnfReadyJsonBodyBuilderTest { @Test void createJsonBody_shouldReturnJsonInString() { - JsonObject jsonObject = new JsonParser().parse("{\n" + JsonObject jsonObject = parse("{\n" + " \"attachmentPoint\": \"bla-bla-30-3\",\n" + " \"cvlan\": \"678\",\n" + " \"svlan\": \"1005\"\n" - + " }").getAsJsonObject(); + + " }"); ConsumerDmaapModel model = ImmutableConsumerDmaapModel.builder() .correlationId("NOKnhfsadhff") .additionalFields(jsonObject) .build(); - String expectedResult = "{" + JsonObject expectedResult = parse("{" + "\"correlationId\":\"NOKnhfsadhff\"," + "\"additionalFields\":{\"attachmentPoint\":\"bla-bla-30-3\",\"cvlan\":\"678\",\"svlan\":\"1005\"}" - + "}"; + + "}"); - assertEquals(expectedResult, new PnfReadyJsonBodyBuilderImpl().createJsonBody(model)); + assertEquals(expectedResult, new PnfReadyJsonBodyBuilder().createJsonBody(model)); } @Test @@ -57,22 +57,26 @@ class PnfReadyJsonBodyBuilderTest { .correlationId("NOKnhfsadhff") .build(); - String expectedResult = "{\"correlationId\":\"NOKnhfsadhff\"}"; + JsonObject expectedResult = parse("{\"correlationId\":\"NOKnhfsadhff\"}"); - assertEquals(expectedResult, new PnfReadyJsonBodyBuilderImpl().createJsonBody(model)); + assertEquals(expectedResult, new PnfReadyJsonBodyBuilder().createJsonBody(model)); } @Test void createJsonBodyWithEmptyOptionalPnfRegistrationFields_shouldReturnJsonInString() { - JsonObject jsonObject = new JsonParser().parse("{}").getAsJsonObject(); + JsonObject jsonObject = new JsonObject(); ConsumerDmaapModel model = ImmutableConsumerDmaapModel.builder() .correlationId("NOKnhfsadhff") .additionalFields(jsonObject) .build(); - String expectedResult = "{\"correlationId\":\"NOKnhfsadhff\"}"; + JsonObject expectedResult = parse("{\"correlationId\":\"NOKnhfsadhff\"}"); - assertEquals(expectedResult, new PnfReadyJsonBodyBuilderImpl().createJsonBody(model)); + assertEquals(expectedResult, new PnfReadyJsonBodyBuilder().createJsonBody(model)); + } + + private static JsonObject parse(String jsonString) { + return new JsonParser().parse(jsonString).getAsJsonObject(); } } -- cgit 1.2.3-korg