From 8c88efe7a0abe051e8a4c4d271c84eb8e68c29f0 Mon Sep 17 00:00:00 2001 From: wasala Date: Thu, 10 May 2018 13:08:00 +0200 Subject: Added DmaapProducer in task workflow scheduler Change-Id: I46c8ff37ca758525e6647d5057d50595f5739208 Issue-ID: DCAEGEN2-474 Signed-off-by: wasala --- .../prh/controllers/HeartbeatController.java | 3 --- .../prh/controllers/ScheduleController.java | 3 --- .../services/prh/model/ConsumerDmaapModel.java | 2 +- .../prh/service/DmaapConsumerJsonParser.java | 1 - .../services/prh/tasks/AAIConsumerTaskImpl.java | 7 +---- .../services/prh/tasks/AAIProducerTaskImpl.java | 10 +++++--- .../services/prh/tasks/DmaapPublisherTask.java | 2 +- .../services/prh/tasks/DmaapPublisherTaskImpl.java | 30 ++++++++++++++-------- 8 files changed, 30 insertions(+), 28 deletions(-) (limited to 'prh-app-server') diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/HeartbeatController.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/HeartbeatController.java index 275685fe..269e7a2a 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/HeartbeatController.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/HeartbeatController.java @@ -23,9 +23,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; - import org.onap.dcaegen2.services.prh.configuration.PrhAppConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/ScheduleController.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/ScheduleController.java index 4cde51bf..cd3347fe 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/ScheduleController.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/controllers/ScheduleController.java @@ -21,12 +21,9 @@ package org.onap.dcaegen2.services.prh.controllers; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ScheduledFuture; - import org.onap.dcaegen2.services.prh.configuration.PrhAppConfig; import org.onap.dcaegen2.services.prh.tasks.ScheduledTasks; import org.slf4j.Logger; diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java index a3c7d1d3..c6879948 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java @@ -27,7 +27,7 @@ import org.immutables.value.Value; * @author Przemysław Wąsala on 5/8/18 */ -@Value.Immutable(prehash = true) +@Value.Immutable @Gson.TypeAdapters public interface ConsumerDmaapModel { 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 e2d9816e..0ef7e4fe 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 @@ -22,7 +22,6 @@ package org.onap.dcaegen2.services.prh.service; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import java.util.Optional; import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException; import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel; import org.onap.dcaegen2.services.prh.model.ImmutableConsumerDmaapModel; diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIConsumerTaskImpl.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIConsumerTaskImpl.java index 1c80d3f9..95352d44 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIConsumerTaskImpl.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIConsumerTaskImpl.java @@ -20,22 +20,17 @@ package org.onap.dcaegen2.services.prh.tasks; +import java.util.Optional; import org.onap.dcaegen2.services.config.AAIClientConfiguration; import org.onap.dcaegen2.services.prh.configuration.AppConfig; import org.onap.dcaegen2.services.prh.configuration.Config; import org.onap.dcaegen2.services.prh.exceptions.AAINotFoundException; import org.onap.dcaegen2.services.service.AAIProducerClient; -import org.onap.dcaegen2.services.utils.HttpRequestDetails; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.Optional; - @Component public class AAIConsumerTaskImpl extends AAIConsumerTask { diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIProducerTaskImpl.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIProducerTaskImpl.java index a254890f..4a7d9282 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIProducerTaskImpl.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIProducerTaskImpl.java @@ -24,6 +24,7 @@ import org.onap.dcaegen2.services.config.AAIClientConfiguration; import org.onap.dcaegen2.services.prh.configuration.AppConfig; import org.onap.dcaegen2.services.prh.configuration.Config; import org.onap.dcaegen2.services.prh.exceptions.AAINotFoundException; +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.onap.dcaegen2.services.service.AAIProducerClient; @@ -65,10 +66,13 @@ public class AAIProducerTaskImpl extends AAIProducerTask extends Task { - protected abstract U publish(U message) throws DmaapNotFoundException; + protected abstract String publish(U message) throws DmaapNotFoundException; protected abstract T resolveConfiguration(); } diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImpl.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImpl.java index 906bd428..60ab64fd 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImpl.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImpl.java @@ -19,29 +19,31 @@ */ package org.onap.dcaegen2.services.prh.tasks; +import com.google.gson.Gson; import org.onap.dcaegen2.services.config.DmaapPublisherConfiguration; import org.onap.dcaegen2.services.prh.configuration.AppConfig; import org.onap.dcaegen2.services.prh.configuration.Config; 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.service.producer.DmaapPublisherRequestDetails; import org.onap.dcaegen2.services.service.producer.ExtendedDmaapProducerHttpClientImpl; import org.onap.dcaegen2.services.service.producer.ImmutableDmaapPublisherRequestDetails; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; +import org.springframework.http.HttpStatus; import org.springframework.stereotype.Component; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; - /** * @author Przemysław Wąsala on 4/13/18 */ @Component -public class DmaapPublisherTaskImpl extends DmaapPublisherTask { +public class DmaapPublisherTaskImpl extends + DmaapPublisherTask { private static final Logger logger = LoggerFactory.getLogger(ScheduledTasks.class); + private static final Gson gson = new Gson(); private final Config prhAppConfig; @Autowired @@ -50,17 +52,25 @@ public class DmaapPublisherTaskImpl extends DmaapPublisherTask !x.isEmpty() && x.equals(String.valueOf(HttpStatus.OK.value()))) + .orElseThrow(() -> new DmaapNotFoundException("Incorrect response from Dmmap")); + } @Override public Object execute(Object object) throws PrhTaskException { - logger.trace("Method %M called with arg {}", object); - return publish((String) object); + if (object instanceof ConsumerDmaapModel) { + logger.trace("Method %M called with arg {}", object); + return publish((ConsumerDmaapModel) object); + } + throw new DmaapNotFoundException("Incorrect object type"); } @Override -- cgit 1.2.3-korg