aboutsummaryrefslogtreecommitdiffstats
path: root/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java
diff options
context:
space:
mode:
authorwasala <przemyslaw.wasala@nokia.com>2018-07-05 14:23:36 +0200
committerwasala <przemyslaw.wasala@nokia.com>2018-08-07 09:52:51 +0200
commite74228673c9c5241a9e901726716f77aacb2711f (patch)
treed4d9b2a4d85d984ce44b3f146a201416bf8b0343 /prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/service/DmaapConsumerJsonParser.java
parenta44fb6f1b9d72ec553ba23038db299b2b8a2016f (diff)
Bug fixes
Improve UnitTest Add changes after review in DmaaPReactiveTasks workflow Change-Id: I920092235528964758014c2d9d229ccd22e69cae Issue-ID: DCAEGEN2-563 Signed-off-by: wasala <przemyslaw.wasala@nokia.com>
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.java46
1 files changed, 24 insertions, 22 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 1d215c62..7516853e 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
@@ -48,28 +48,30 @@ public class DmaapConsumerJsonParser {
public Mono<ConsumerDmaapModel> getJsonObject(Mono<String> monoMessage) {
- return monoMessage.flatMap(message ->
- {
- if (!StringUtils.isEmpty(message)) {
- JsonElement jsonElement = new JsonParser().parse(message);
- ConsumerDmaapModel consumerDmaapModel;
- try {
- if (jsonElement.isJsonObject()) {
- consumerDmaapModel = create(jsonElement.getAsJsonObject());
- } else {
- consumerDmaapModel = create(
- StreamSupport.stream(jsonElement.getAsJsonArray().spliterator(), false).findFirst()
- .flatMap(this::getJsonObjectFromAnArray)
- .orElseThrow(DmaapEmptyResponseException::new));
- }
- logger.info("Parsed model from DmaaP after getting it: {}", consumerDmaapModel);
- return Mono.just(consumerDmaapModel);
- } catch (DmaapNotFoundException | DmaapEmptyResponseException e) {
- return Mono.error(e);
- }
- }
- return Mono.error(new DmaapEmptyResponseException());
- });
+ return monoMessage
+ .flatMap(message -> (StringUtils.isEmpty(message) ? Mono.error(new DmaapEmptyResponseException())
+ : convertJsonToConsumerDmaapModel(message)));
+ }
+
+ private Mono<? extends ConsumerDmaapModel> convertJsonToConsumerDmaapModel(String message) {
+ try {
+ JsonElement jsonElement = new JsonParser().parse(message);
+ ConsumerDmaapModel consumerDmaapModel = jsonElement.isJsonObject() ?
+ create(jsonElement.getAsJsonObject()) :
+ getConsumerDmaapModelFromJsonArray(jsonElement);
+ logger.info("Parsed model from DmaaP after getting it: {}", consumerDmaapModel);
+ return Mono.just(consumerDmaapModel);
+ } catch (DmaapNotFoundException | DmaapEmptyResponseException e) {
+ return Mono.error(e);
+ }
+ }
+
+ private ConsumerDmaapModel getConsumerDmaapModelFromJsonArray(JsonElement jsonElement)
+ throws DmaapNotFoundException, DmaapEmptyResponseException {
+ return create(
+ StreamSupport.stream(jsonElement.getAsJsonArray().spliterator(), false).findFirst()
+ .flatMap(this::getJsonObjectFromAnArray)
+ .orElseThrow(DmaapEmptyResponseException::new));
}
public Optional<JsonObject> getJsonObjectFromAnArray(JsonElement element) {