diff options
Diffstat (limited to 'prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks')
7 files changed, 70 insertions, 33 deletions
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 d0948aea..4c35b2ee 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 @@ -25,6 +25,7 @@ import org.onap.dcaegen2.services.prh.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.service.AAIConsumerClient; import org.slf4j.Logger; @@ -36,7 +37,7 @@ import org.springframework.stereotype.Component; public class AAIConsumerTaskImpl extends AAIConsumerTask<ConsumerDmaapModel, String, AAIClientConfiguration> { - private static final Logger logger = LoggerFactory.getLogger(AAIConsumerTaskImpl.class); + private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Config prhAppConfig; private AAIConsumerClient aaiConsumerClient; @@ -58,6 +59,14 @@ public class AAIConsumerTaskImpl extends } @Override + protected void receiveRequest(ConsumerDmaapModel body) throws PrhTaskException { + String response = execute(body); + if (taskProcess != null && response != null && !response.isEmpty()) { + taskProcess.receiveRequest(response); + } + } + + @Override public String execute(ConsumerDmaapModel consumerDmaapModel) throws AAINotFoundException { consumerDmaapModel = Optional.ofNullable(consumerDmaapModel) .orElseThrow(() -> new AAINotFoundException("Invoked null object to AAI task")); @@ -67,7 +76,7 @@ public class AAIConsumerTaskImpl extends } @Override - AAIClientConfiguration resolveConfiguration() { + protected AAIClientConfiguration resolveConfiguration() { return prhAppConfig.getAAIClientConfiguration(); } 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 ba3fade7..b637bb29 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 @@ -23,6 +23,7 @@ import org.onap.dcaegen2.services.prh.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.service.AAIProducerClient; import org.onap.dcaegen2.services.prh.service.HttpUtils; @@ -41,7 +42,7 @@ import java.util.Optional; public class AAIProducerTaskImpl extends AAIProducerTask<ConsumerDmaapModel, ConsumerDmaapModel, AAIClientConfiguration> { - private static final Logger logger = LoggerFactory.getLogger(AAIProducerTaskImpl.class); + private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Config prhAppConfig; private AAIProducerClient aaiProducerClient; @@ -53,18 +54,26 @@ public class AAIProducerTaskImpl extends @Override ConsumerDmaapModel publish(ConsumerDmaapModel consumerDmaapModel) throws AAINotFoundException { - logger.trace("Method called with arg {}", consumerDmaapModel); + logger.info("Sending PNF model to AAI {}", consumerDmaapModel); try { return aaiProducerClient.getHttpResponse(consumerDmaapModel) .filter(HttpUtils::isSuccessfulResponseCode).map(response -> consumerDmaapModel).orElseThrow(() -> new AAINotFoundException("Incorrect response code for continuation of tasks workflow")); - } catch ( URISyntaxException e) { + } catch (URISyntaxException e) { logger.warn("Patch request not successful", e); throw new AAINotFoundException("Patch request not successful"); } } @Override + protected void receiveRequest(ConsumerDmaapModel body) throws PrhTaskException { + ConsumerDmaapModel response = execute(body); + if (taskProcess != null && response != null) { + taskProcess.receiveRequest(response); + } + } + + @Override public ConsumerDmaapModel execute(ConsumerDmaapModel consumerDmaapModel) throws AAINotFoundException { consumerDmaapModel = Optional.ofNullable(consumerDmaapModel) .orElseThrow(() -> new AAINotFoundException("Invoked null object to AAI task")); @@ -73,7 +82,7 @@ public class AAIProducerTaskImpl extends return publish(consumerDmaapModel); } - AAIClientConfiguration resolveConfiguration() { + protected AAIClientConfiguration resolveConfiguration() { return prhAppConfig.getAAIClientConfiguration(); } diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTask.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTask.java index fcadc483..3e36bcdd 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTask.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTask.java @@ -19,7 +19,7 @@ */ package org.onap.dcaegen2.services.prh.tasks; -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.service.consumer.ExtendedDmaapConsumerHttpClientImpl; @@ -28,7 +28,7 @@ import org.onap.dcaegen2.services.prh.service.consumer.ExtendedDmaapConsumerHttp */ abstract class DmaapConsumerTask<R, S, C> extends Task<R, S, C> { - abstract ConsumerDmaapModel consume(String message) throws DmaapNotFoundException; + abstract ConsumerDmaapModel consume(String message) throws PrhTaskException; abstract ExtendedDmaapConsumerHttpClientImpl resolveClient(); diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImpl.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImpl.java index 9d818366..43eb9eaa 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImpl.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImpl.java @@ -20,13 +20,13 @@ package org.onap.dcaegen2.services.prh.tasks; import java.util.Optional; -import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel; import org.onap.dcaegen2.services.prh.config.DmaapConsumerConfiguration; import org.onap.dcaegen2.services.prh.configuration.AppConfig; import org.onap.dcaegen2.services.prh.configuration.Config; +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.service.DmaapConsumerJsonParser; import org.onap.dcaegen2.services.prh.service.consumer.ExtendedDmaapConsumerHttpClientImpl; import org.slf4j.Logger; @@ -41,7 +41,7 @@ import org.springframework.stereotype.Component; public class DmaapConsumerTaskImpl extends DmaapConsumerTask<String, ConsumerDmaapModel, DmaapConsumerConfiguration> { - private static final Logger logger = LoggerFactory.getLogger(DmaapConsumerTaskImpl.class); + private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Config prhAppConfig; private ExtendedDmaapConsumerHttpClientImpl extendedDmaapConsumerHttpClient; private DmaapConsumerJsonParser dmaapConsumerJsonParser; @@ -57,12 +57,27 @@ public class DmaapConsumerTaskImpl extends this.dmaapConsumerJsonParser = dmaapConsumerJsonParser; } + @Override - ConsumerDmaapModel consume(String message) throws DmaapNotFoundException { - logger.trace("Method called with arg {}", message); + ConsumerDmaapModel consume(String message) throws PrhTaskException { + logger.info("Consumed model from DmaaP: {}", message); return dmaapConsumerJsonParser.getJsonObject(message) - .orElseThrow(() -> new DmaapNotFoundException(String.format("Nothing to consume from DmaaP %s topic.", - resolveConfiguration().dmaapTopicName()))); + .orElseThrow(() -> new DmaapNotFoundException("Null response from JSONObject in single reqeust")); + + } + + @Override + protected void receiveRequest(String body) throws PrhTaskException { + try { + ConsumerDmaapModel response = execute(body); + if (taskProcess != null && response != null) { + taskProcess.receiveRequest(response); + } + } catch (DmaapEmptyResponseException e) { + logger.warn("Nothing to consume from DmaaP {} topic.", + resolveConfiguration().dmaapTopicName()); + } + } @Override @@ -79,7 +94,7 @@ public class DmaapConsumerTaskImpl extends } @Override - DmaapConsumerConfiguration resolveConfiguration() { + protected DmaapConsumerConfiguration resolveConfiguration() { return prhAppConfig.getDmaapConsumerConfiguration(); } 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 6a514747..1a522921 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 @@ -24,6 +24,7 @@ import org.onap.dcaegen2.services.prh.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.prh.service.producer.ExtendedDmaapProducerHttpClientImpl; import org.slf4j.Logger; @@ -39,7 +40,7 @@ import org.springframework.stereotype.Component; public class DmaapPublisherTaskImpl extends DmaapPublisherTask<ConsumerDmaapModel, Integer, DmaapPublisherConfiguration> { - private static final Logger logger = LoggerFactory.getLogger(DmaapPublisherTaskImpl.class); + private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Config prhAppConfig; private ExtendedDmaapProducerHttpClientImpl extendedDmaapProducerHttpClient; @@ -50,13 +51,22 @@ public class DmaapPublisherTaskImpl extends @Override Integer publish(ConsumerDmaapModel consumerDmaapModel) throws DmaapNotFoundException { - logger.trace("Method called with arg {}", consumerDmaapModel); + logger.info("Publishing on DmaaP topic {} object {}", resolveConfiguration().dmaapTopicName(), + consumerDmaapModel); return extendedDmaapProducerHttpClient.getHttpProducerResponse(consumerDmaapModel) .filter(response -> response == HttpStatus.OK.value()) .orElseThrow(() -> new DmaapNotFoundException("Incorrect response from Dmaap")); } @Override + protected void receiveRequest(ConsumerDmaapModel body) throws PrhTaskException { + Integer response = execute(body); + if (taskProcess != null && response != null) { + taskProcess.receiveRequest(response); + } + } + + @Override public Integer execute(ConsumerDmaapModel consumerDmaapModel) throws DmaapNotFoundException { consumerDmaapModel = Optional.ofNullable(consumerDmaapModel) .orElseThrow(() -> new DmaapNotFoundException("Invoked null object to Dmaap task")); @@ -66,7 +76,7 @@ public class DmaapPublisherTaskImpl extends } @Override - DmaapPublisherConfiguration resolveConfiguration() { + protected DmaapPublisherConfiguration resolveConfiguration() { return prhAppConfig.getDmaapPublisherConfiguration(); } diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTasks.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTasks.java index 052de058..f7767101 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTasks.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTasks.java @@ -31,7 +31,7 @@ import org.springframework.stereotype.Component; @Component public class ScheduledTasks { - private static final Logger logger = LoggerFactory.getLogger(ScheduledTasks.class); + private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final DmaapConsumerTask dmaapConsumerTask; private final DmaapPublisherTask dmaapProducerTask; diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/Task.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/Task.java index 8aa01446..e2b11fdc 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/Task.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/Task.java @@ -28,21 +28,15 @@ import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException; public abstract class Task<R, S, C> { - private Task taskProcess; + Task taskProcess; - public void setNext(Task task) { - this.taskProcess = task; - } - - public void receiveRequest(R body) throws PrhTaskException { + abstract protected void receiveRequest(R body) throws PrhTaskException; - S response = execute(body); - if (taskProcess != null) { - taskProcess.receiveRequest(response); - } - } + abstract protected S execute(R object) throws PrhTaskException; - abstract S execute(R object) throws PrhTaskException; + abstract protected C resolveConfiguration(); - abstract C resolveConfiguration(); + void setNext(Task task) { + this.taskProcess = task; + } } |