aboutsummaryrefslogtreecommitdiffstats
path: root/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java
diff options
context:
space:
mode:
authorJoanna Jeremicz <joanna.jeremicz@nokia.com>2019-03-08 09:48:09 +0100
committerJoanna Jeremicz <joanna.jeremicz@nokia.com>2019-03-12 10:59:06 +0100
commitc69d68d5669e45c969fd1293aa76c78d55a95dca (patch)
treefee7e38468fce8a49db12cf4fb2f2b1e0cefd9c5 /prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java
parentdf2c17cd5619d6ca069f73342a9aaafbdf0bba59 (diff)
Add AdditionalFields in PNF_Ready event
Enhance the PNF_Ready event with AdditionalFields contents and remove IP information Change-Id: Iacef7e11dd104868440984a0540b2ccd31c8b036 Issue-ID: DCAEGEN2-1312 Signed-off-by: Joanna Jeremicz <joanna.jeremicz@nokia.com>
Diffstat (limited to 'prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java')
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java18
1 files changed, 14 insertions, 4 deletions
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
index fd628834..f04168c2 100644
--- 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
@@ -21,6 +21,8 @@
package org.onap.dcaegen2.services.prh.model;
import com.google.gson.GsonBuilder;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
import com.google.gson.TypeAdapterFactory;
import org.onap.dcaegen2.services.sdk.rest.services.model.JsonBodyBuilder;
@@ -29,6 +31,7 @@ import java.util.ServiceLoader;
public class JsonBodyBuilderImpl implements JsonBodyBuilder<ConsumerDmaapModel> {
+ public static final String ADDITIONAL_FIELDS = "additionalFields";
/**
* Method for serialization object by GSON.
@@ -39,9 +42,7 @@ public class JsonBodyBuilderImpl implements JsonBodyBuilder<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())
- .ipv6(consumerDmaapModel.getIpv6())
+ return filterOutAdditionalFieldsIfEmpty(gsonBuilder.create().toJson(ImmutableConsumerDmaapModel.builder()
.correlationId(consumerDmaapModel.getCorrelationId())
.serialNumber(consumerDmaapModel.getSerialNumber())
.equipVendor(consumerDmaapModel.getEquipVendor())
@@ -49,6 +50,15 @@ public class JsonBodyBuilderImpl implements JsonBodyBuilder<ConsumerDmaapModel>
.equipType(consumerDmaapModel.getEquipType())
.nfRole(consumerDmaapModel.getNfRole())
.swVersion(consumerDmaapModel.getSwVersion())
- .build());
+ .additionalFields(consumerDmaapModel.getAdditionalFields())
+ .build()));
+ }
+
+ private String filterOutAdditionalFieldsIfEmpty(String json) {
+ JsonObject jsonObject = new JsonParser().parse(json).getAsJsonObject();
+ if(jsonObject.get(ADDITIONAL_FIELDS).equals(new JsonObject())) {
+ jsonObject.remove(ADDITIONAL_FIELDS);
+ }
+ return jsonObject.toString();
}
} \ No newline at end of file