aboutsummaryrefslogtreecommitdiffstats
path: root/prh-commons
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
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')
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java10
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/JsonBodyBuilderImpl.java18
-rw-r--r--prh-commons/src/test/java/org/onap/dcaegen2/services/prh/model/CommonFunctionsTest.java49
3 files changed, 43 insertions, 34 deletions
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 9abbc3b4..d8eefec1 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
@@ -20,6 +20,7 @@
package org.onap.dcaegen2.services.prh.model;
+import com.google.gson.JsonObject;
import com.google.gson.annotations.SerializedName;
import org.immutables.gson.Gson;
import org.immutables.value.Value;
@@ -37,12 +38,6 @@ public interface ConsumerDmaapModel extends AaiModel, DmaapModel {
@SerializedName(value = "correlationId", alternate = "correlationId")
String getCorrelationId();
- @SerializedName(value = "ipaddress-v4-oam", alternate = "ipaddress-v4-oam")
- String getIpv4();
-
- @SerializedName(value = "ipaddress-v6-oam", alternate = "ipaddress-v6-oam")
- String getIpv6();
-
@SerializedName(value = "serial-number", alternate = "serial-number")
String getSerialNumber();
@@ -60,4 +55,7 @@ public interface ConsumerDmaapModel extends AaiModel, DmaapModel {
@SerializedName(value = "sw-version", alternate = "sw-version")
String getSwVersion();
+
+ @SerializedName(value = "additionalFields", alternate = "additionalFields")
+ JsonObject getAdditionalFields();
}
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
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 5e259a64..6b2ddf56 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
@@ -22,6 +22,8 @@ package org.onap.dcaegen2.services.prh.model;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
import org.junit.jupiter.api.Test;
class CommonFunctionsTest {
@@ -29,59 +31,58 @@ class CommonFunctionsTest {
@Test
void createJsonBody_shouldReturnJsonInString() {
+ JsonObject jsonObject = new JsonParser().parse("{\n"
+ + " \"attachmentPoint\": \"bla-bla-30-3\",\n"
+ + " \"cvlan\": \"678\",\n"
+ + " \"svlan\": \"1005\"\n"
+ + " }").getAsJsonObject();
+
ConsumerDmaapModel model = ImmutableConsumerDmaapModel.builder()
.correlationId("NOKnhfsadhff")
- .ipv4("256.22.33.155")
- .ipv6("200J:0db8:85a3:0000:0000:8a2e:0370:7334")
.serialNumber("1234")
.equipVendor("NOKIA")
.equipModel("3310")
.equipType("cell")
.nfRole("role")
.swVersion("1.2.3")
+ .additionalFields(jsonObject)
.build();
-
String expectedResult = "{"
+ "\"correlationId\":\"NOKnhfsadhff\","
- + "\"ipaddress-v4-oam\":\"256.22.33.155\","
- + "\"ipaddress-v6-oam\":\"200J:0db8:85a3:0000:0000:8a2e:0370:7334\","
+ "\"serial-number\":\"1234\","
+ "\"equip-vendor\":\"NOKIA\","
+ "\"equip-model\":\"3310\","
+ "\"equip-type\":\"cell\","
+ "\"nf-role\":\"role\","
- + "\"sw-version\":\"1.2.3\""
+ + "\"sw-version\":\"1.2.3\","
+ + "\"additionalFields\":{\"attachmentPoint\":\"bla-bla-30-3\",\"cvlan\":\"678\",\"svlan\":\"1005\"}"
+ "}";
assertEquals(expectedResult, new JsonBodyBuilderImpl().createJsonBody(model));
}
@Test
- void createJsonBodyWithEmptyAdditionalFields_shouldReturnJsonInString() {
+ void createJsonBodyWithEmptyOptionalPnfRegistrationFields_shouldReturnJsonInString() {
ConsumerDmaapModel model = ImmutableConsumerDmaapModel.builder()
.correlationId("NOKnhfsadhff")
- .ipv4("256.22.33.155")
- .ipv6("200J:0db8:85a3:0000:0000:8a2e:0370:7334")
- .serialNumber("1234")
- .equipVendor("NOKIA")
- .equipModel("3310")
- .equipType("cell")
- .nfRole("role")
- .swVersion("1.2.3")
+ .serialNumber("")
+ .equipVendor("")
+ .equipModel("")
+ .equipType("")
+ .nfRole("")
+ .swVersion("")
+ .additionalFields(new JsonObject())
.build();
-
String expectedResult = "{"
+ "\"correlationId\":\"NOKnhfsadhff\","
- + "\"ipaddress-v4-oam\":\"256.22.33.155\","
- + "\"ipaddress-v6-oam\":\"200J:0db8:85a3:0000:0000:8a2e:0370:7334\","
- + "\"serial-number\":\"1234\","
- + "\"equip-vendor\":\"NOKIA\","
- + "\"equip-model\":\"3310\","
- + "\"equip-type\":\"cell\","
- + "\"nf-role\":\"role\","
- + "\"sw-version\":\"1.2.3\""
+ + "\"serial-number\":\"\","
+ + "\"equip-vendor\":\"\","
+ + "\"equip-model\":\"\","
+ + "\"equip-type\":\"\","
+ + "\"nf-role\":\"\","
+ + "\"sw-version\":\"\""
+ "}";
assertEquals(expectedResult, new JsonBodyBuilderImpl().createJsonBody(model));