diff options
author | Joanna Jeremicz <joanna.jeremicz@nokia.com> | 2019-03-08 09:48:09 +0100 |
---|---|---|
committer | Joanna Jeremicz <joanna.jeremicz@nokia.com> | 2019-03-12 10:59:06 +0100 |
commit | c69d68d5669e45c969fd1293aa76c78d55a95dca (patch) | |
tree | fee7e38468fce8a49db12cf4fb2f2b1e0cefd9c5 /prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java | |
parent | df2c17cd5619d6ca069f73342a9aaafbdf0bba59 (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.java | 18 |
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 |