aboutsummaryrefslogtreecommitdiffstats
path: root/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java')
-rw-r--r--prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java18
1 files changed, 14 insertions, 4 deletions
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 ab4ec633..a62321ca 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
@@ -24,15 +24,20 @@ import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.util.Optional;
import java.util.stream.StreamSupport;
+import org.onap.dcaegen2.services.prh.exceptions.DmaapEmptyResponseException;
import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException;
+import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException;
import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 5/8/18
*/
public class DmaapConsumerJsonParser {
+ private final Logger logger = LoggerFactory.getLogger(this.getClass());
private static final String EVENT = "event";
private static final String OTHER_FIELDS = "otherFields";
private static final String PNF_OAM_IPV_4_ADDRESS = "pnfOamIpv4Address";
@@ -40,16 +45,21 @@ public class DmaapConsumerJsonParser {
private static final String PNF_VENDOR_NAME = "pnfVendorName";
private static final String PNF_SERIAL_NUMBER = "pnfSerialNumber";
- public Optional<ConsumerDmaapModel> getJsonObject(String message) throws DmaapNotFoundException {
+
+ public Optional<ConsumerDmaapModel> getJsonObject(String message)
+ throws PrhTaskException {
JsonElement jsonElement = new JsonParser().parse(message);
+ Optional<ConsumerDmaapModel> consumerDmaapModel;
if (jsonElement.isJsonObject()) {
- return Optional.of(create(jsonElement.getAsJsonObject()));
+ consumerDmaapModel = Optional.of(create(jsonElement.getAsJsonObject()));
} else {
- return Optional
+ consumerDmaapModel = Optional
.of(create(StreamSupport.stream(jsonElement.getAsJsonArray().spliterator(), false).findFirst()
.flatMap(this::getJsonObjectFromAnArray)
- .orElse(null)));
+ .orElseThrow(DmaapEmptyResponseException::new)));
}
+ logger.info("Parsed model from DmaaP after getting it: {}", consumerDmaapModel);
+ return consumerDmaapModel;
}
public Optional<JsonObject> getJsonObjectFromAnArray(JsonElement element) {