From 53e33ec68a6eb0a06ea130215e03a7725da9d22d Mon Sep 17 00:00:00 2001 From: pwielebs Date: Mon, 4 Jun 2018 15:43:27 +0200 Subject: 2nd fix for DmaapConsumerJsonParser Change-Id: I0b5fa7e2a1e8472f72e636a84ef6d2285580b494 Issue-ID: DCAEGEN2-451 Signed-off-by: pwielebs --- .../dcaegen2/services/prh/service/DmaapConsumerJsonParser.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java') diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java index 04956f8d..ba0ec0e8 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java @@ -26,6 +26,7 @@ import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException; import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel; import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel; +import java.util.Optional; import java.util.stream.StreamSupport; /** @@ -41,17 +42,16 @@ public class DmaapConsumerJsonParser { private static final String PNF_SERIAL_NUMBER = "pnfSerialNumber"; - private DmaapConsumerJsonParser() { - } + private DmaapConsumerJsonParser() {} public static ConsumerDmaapModel getJsonObject(String message) throws DmaapNotFoundException { JsonElement jsonElement = new JsonParser().parse(message); - JsonObject jsonObject; - jsonObject = jsonElement.isJsonObject() ? jsonElement.getAsJsonObject() : + JsonObject jsonObject = jsonElement.isJsonObject() ? jsonElement.getAsJsonObject() : StreamSupport.stream(jsonElement.getAsJsonArray().spliterator(), false).findFirst() - .orElseThrow(() -> new DmaapNotFoundException("Json object not found in json array")) + .flatMap(element -> Optional.of(new JsonParser().parse(element.toString()).getAsJsonObject())) + .orElseThrow(() -> new DmaapNotFoundException("Json object not found in json array")) .getAsJsonObject(); return create(jsonObject); -- cgit 1.2.3-korg