diff options
Diffstat (limited to 'prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks')
8 files changed, 101 insertions, 37 deletions
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTask.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTask.java index 87a70810..8ea4ac8f 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTask.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTask.java @@ -24,7 +24,9 @@ import org.onap.dcaegen2.services.prh.exceptions.AAINotFoundException; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/13/18 */ -public abstract class AAIPublisherTask implements Task { +public abstract class AAIPublisherTask<T> extends Task { protected abstract void publish() throws AAINotFoundException; + + protected abstract T resolveConfiguration(); } diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTaskImpl.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTaskImpl.java index d4efea4f..c524b990 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTaskImpl.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTaskImpl.java @@ -21,40 +21,54 @@ package org.onap.dcaegen2.services.prh.tasks; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import org.onap.dcaegen2.services.config.AAIHttpClientConfiguration; import org.onap.dcaegen2.services.prh.configuration.AppConfig; +import org.onap.dcaegen2.services.prh.exceptions.AAINotFoundException; 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; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/13/18 */ @Component -public class AAIPublisherTaskImpl extends AAIPublisherTask { +public class AAIPublisherTaskImpl extends AAIPublisherTask<AAIHttpClientConfiguration> { private static final Logger logger = LoggerFactory.getLogger(ScheduledTasks.class); private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); + private final AppConfig prhAppConfig; + @Autowired - public AppConfig prhAppConfig; + public AAIPublisherTaskImpl(AppConfig prhAppConfig) { + this.prhAppConfig = prhAppConfig; + + } @Override - protected void publish() { + protected void publish() throws AAINotFoundException { logger.debug("Start task DmaapConsumerTask::publish() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); - logger.debug("End task DmaapConsumerTask::publish() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); + } @Override - public void execute() { + public ResponseEntity execute(Object object) throws AAINotFoundException { logger.debug("Start task AAIPublisherTaskImpl::execute() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); - + publish(); logger.debug("End task AAIPublisherTaskImpl::execute() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); + return null; + } + @Override + protected AAIHttpClientConfiguration resolveConfiguration() { + return prhAppConfig.getAAIHttpClientConfiguration(); } + } 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 41031664..68a79e01 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 @@ -24,7 +24,9 @@ import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/13/18 */ -public abstract class DmaapConsumerTask implements Task { +public abstract class DmaapConsumerTask<T> extends Task { protected abstract void consume() throws DmaapNotFoundException; + + protected abstract T resolveConfiguration(); } 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 57f97778..1ee85d03 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 @@ -21,41 +21,53 @@ package org.onap.dcaegen2.services.prh.tasks; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import org.onap.dcaegen2.services.config.DmaapConsumerConfiguration; import org.onap.dcaegen2.services.prh.configuration.AppConfig; 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; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/23/18 */ @Component -public class DmaapConsumerTaskImpl extends DmaapConsumerTask { +public class DmaapConsumerTaskImpl extends DmaapConsumerTask<DmaapConsumerConfiguration> { private static final Logger logger = LoggerFactory.getLogger(DmaapConsumerTaskImpl.class); private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); + private final AppConfig prhAppConfig; + @Autowired - public AppConfig prhAppConfig; + public DmaapConsumerTaskImpl(AppConfig prhAppConfig) { + this.prhAppConfig = prhAppConfig; + } @Override - public void execute() { - logger.debug("Start task DmaapConsumerTask::execute() :: Execution Time - {}", dateTimeFormatter.format( + protected void consume() { + logger.debug("Start task DmaapConsumerTask::consume() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); - logger.debug("End task DmaapConsumerTask::execute() :: Execution Time - {}", + logger.debug("End task DmaapConsumerTask::consume() :: Execution Time - {}", dateTimeFormatter.format(LocalDateTime.now())); + } @Override - protected void consume() { - logger.debug("Start task DmaapConsumerTask::consume() :: Execution Time - {}", dateTimeFormatter.format( + public ResponseEntity execute(Object object) { + logger.debug("Start task DmaapConsumerTask::execute() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); - - logger.debug("End task DmaapConsumerTask::consume() :: Execution Time - {}", + consume(); + logger.debug("End task DmaapConsumerTask::execute() :: Execution Time - {}", dateTimeFormatter.format(LocalDateTime.now())); + return null; + } + @Override + protected DmaapConsumerConfiguration resolveConfiguration() { + return prhAppConfig.getDmaapConsumerConfiguration(); } }
\ No newline at end of file diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTask.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTask.java index d203c8c5..239d36a9 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTask.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTask.java @@ -24,8 +24,10 @@ import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/23/18 */ -public abstract class DmaapPublisherTask implements Task { +public abstract class DmaapPublisherTask<T> extends Task { protected abstract void publish() 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 92eb875c..b14d8d37 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 @@ -21,39 +21,51 @@ package org.onap.dcaegen2.services.prh.tasks; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import org.onap.dcaegen2.services.config.DmaapPublisherConfiguration; import org.onap.dcaegen2.services.prh.configuration.AppConfig; 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; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/13/18 */ @Component -public class DmaapPublisherTaskImpl extends DmaapPublisherTask { +public class DmaapPublisherTaskImpl extends DmaapPublisherTask<DmaapPublisherConfiguration> { private static final Logger logger = LoggerFactory.getLogger(ScheduledTasks.class); private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); + private final AppConfig prhAppConfig; + @Autowired - public AppConfig prhAppConfig; + public DmaapPublisherTaskImpl(AppConfig prhAppConfig) { + this.prhAppConfig = prhAppConfig; + } @Override - public void execute() { - logger.debug("Start task DmaapPublisherTask::consume() :: Execution Time - {}", dateTimeFormatter.format( + protected void publish() { + logger.debug("Start task DmaapPublisherTask::publish() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); - logger.debug("End task DmaapPublisherTask::consume() :: Execution Time - {}", + logger.debug("End task DmaapPublisherTask::publish() :: Execution Time - {}", dateTimeFormatter.format(LocalDateTime.now())); } @Override - protected void publish() { - logger.debug("Start task DmaapPublisherTask::publish() :: Execution Time - {}", dateTimeFormatter.format( + public ResponseEntity execute(Object object) { + logger.debug("Start task DmaapPublisherTask::consume() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); - - logger.debug("End task DmaapPublisherTask::publish() :: Execution Time - {}", + publish(); + logger.debug("End task DmaapPublisherTask::consume() :: Execution Time - {}", dateTimeFormatter.format(LocalDateTime.now())); + return null; + } + + @Override + 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 713f5d48..a9c53ccc 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 @@ -36,25 +36,24 @@ public class ScheduledTasks { private static final Logger logger = LoggerFactory.getLogger(ScheduledTasks.class); private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); - private final DmaapConsumerTask dmaapConsumerTask; - private final DmaapPublisherTask dmaapPublisherTask; - private final AAIPublisherTask aaiPublisherTask; + private final Task dmaapConsumerTask; + private final Task dmaapProducerTask; + private final Task aaiPublisherTask; @Autowired public ScheduledTasks(DmaapConsumerTask dmaapConsumerTask, DmaapPublisherTask dmaapPublisherTask, AAIPublisherTask aaiPublisherTask) { this.dmaapConsumerTask = dmaapConsumerTask; - this.dmaapPublisherTask = dmaapPublisherTask; + this.dmaapProducerTask = dmaapPublisherTask; this.aaiPublisherTask = aaiPublisherTask; } public void scheduleMainPrhEventTask() { logger.debug("Task scheduledTaskAskingDMaaPOfConsumeEvent() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); + setTaskExecutionFlow(); try { - dmaapConsumerTask.execute(); - dmaapPublisherTask.execute(); - aaiPublisherTask.execute(); + dmaapConsumerTask.receiveRequest(null); } catch (PrhTaskException e) { logger .error("Task scheduledTaskAskingDMaaPOfConsumeEvent()::PrhTaskException :: Execution Time - {}:{}", @@ -63,4 +62,9 @@ public class ScheduledTasks { } } + private void setTaskExecutionFlow() { + dmaapConsumerTask.setNext(aaiPublisherTask); + aaiPublisherTask.setNext(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 1bf8f6d3..f5e8b39e 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 @@ -20,13 +20,29 @@ package org.onap.dcaegen2.services.prh.tasks; import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException; +import org.springframework.http.ResponseEntity; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/13/18 */ -@FunctionalInterface -public interface Task { - void execute() throws PrhTaskException; +public abstract class Task { + + private Task taskProcess; + + public void setNext(Task task) { + this.taskProcess = task; + } + + public void receiveRequest(Object body) throws PrhTaskException { + Object responseEntity = execute(body); + if (taskProcess != null) { + taskProcess.receiveRequest(responseEntity); + } + } + + abstract ResponseEntity execute(Object object) throws PrhTaskException; + + } |