diff options
Diffstat (limited to 'prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks')
-rw-r--r-- | prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIConsumerTask.java | 30 | ||||
-rw-r--r-- | prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIConsumerTaskImpl.java | 89 | ||||
-rw-r--r-- | prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIProducerTask.java (renamed from prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTask.java) | 2 | ||||
-rw-r--r-- | prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIProducerTaskImpl.java (renamed from prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTaskImpl.java) | 37 | ||||
-rw-r--r-- | prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTaskImpl.java | 5 | ||||
-rw-r--r-- | prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImpl.java | 5 | ||||
-rw-r--r-- | prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTasks.java | 14 |
7 files changed, 160 insertions, 22 deletions
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIConsumerTask.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIConsumerTask.java new file mode 100644 index 00000000..5a3afd86 --- /dev/null +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIConsumerTask.java @@ -0,0 +1,30 @@ +/*- + * ============LICENSE_START======================================================= + * PNF-REGISTRATION-HANDLER + * ================================================================================ + * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.dcaegen2.services.prh.tasks; + +import org.onap.dcaegen2.services.prh.exceptions.AAINotFoundException; + +public abstract class AAIConsumerTask<T> extends Task { + + protected abstract void consume() throws AAINotFoundException; + + protected abstract T resolveConfiguration(); +} 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 new file mode 100644 index 00000000..64ccad5c --- /dev/null +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIConsumerTaskImpl.java @@ -0,0 +1,89 @@ +/*- + * ============LICENSE_START======================================================= + * PNF-REGISTRATION-HANDLER + * ================================================================================ + * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.dcaegen2.services.prh.tasks; + +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<AAIClientConfiguration> { + + private static final Logger logger = LoggerFactory.getLogger(ScheduledTasks.class); + private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); + + private final Config prhAppConfig; + private final HttpRequestDetails requestDetails; + private AAIProducerClient producerClient; + public Optional<String> response; + + @Autowired + public AAIConsumerTaskImpl(AppConfig prhAppConfig, HttpRequestDetails requestDetails) { + this.prhAppConfig = prhAppConfig; + this.requestDetails = requestDetails; + } + + @Override + protected void consume() throws AAINotFoundException { + logger.debug("Start task AAIConsumerTask::publish() :: Execution Time - {}", dateTimeFormatter.format( + LocalDateTime.now())); + + + producerClient = new AAIProducerClient(prhAppConfig.getAAIClientConfiguration()); + + response = producerClient.getHttpResponse(requestDetails); + + logger.debug("End task AAIConsumerTask::publish() :: Execution Time - {}", dateTimeFormatter.format( + LocalDateTime.now())); + + } + + @Override + public ResponseEntity execute(Object object) throws AAINotFoundException { + logger.debug("Start task AAIProducerTaskImpl::execute() :: Execution Time - {}", dateTimeFormatter.format( + LocalDateTime.now())); + consume(); + logger.debug("End task AAIPublisherTaskImpl::execute() :: Execution Time - {}", dateTimeFormatter.format( + LocalDateTime.now())); + return null; + } + + @Override + void initConfigs() { + } + + @Override + protected AAIClientConfiguration resolveConfiguration() { + return prhAppConfig.getAAIClientConfiguration(); + } +} 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/AAIProducerTask.java index 8ea4ac8f..787e614d 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/AAIProducerTask.java @@ -24,7 +24,7 @@ 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<T> extends Task { +public abstract class AAIProducerTask<T> extends Task { protected abstract void publish() throws AAINotFoundException; 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/AAIProducerTaskImpl.java index aa452047..a5d173ba 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/AAIProducerTaskImpl.java @@ -19,48 +19,61 @@ */ 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.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; + /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/13/18 */ @Component -public class AAIPublisherTaskImpl extends AAIPublisherTask<AAIHttpClientConfiguration> { +public class AAIProducerTaskImpl extends AAIProducerTask<AAIClientConfiguration> { private static final Logger logger = LoggerFactory.getLogger(ScheduledTasks.class); private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss"); private final Config prhAppConfig; + private AAIProducerClient producerClient; + private HttpRequestDetails requestDetails; + private String jsonBody = "{\"ipaddress-v4-oam\":\"11.22.33.155\"}"; + private String pnfName = "example-pnf-name-val-40510"; // pnf name received from dmaap required for URI + public Optional<String> response; @Autowired - public AAIPublisherTaskImpl(AppConfig prhAppConfig) { + public AAIProducerTaskImpl(AppConfig prhAppConfig, HttpRequestDetails requestDetails) { this.prhAppConfig = prhAppConfig; - + this.requestDetails = requestDetails; } @Override protected void publish() throws AAINotFoundException { - logger.debug("Start task DmaapConsumerTask::publish() :: Execution Time - {}", dateTimeFormatter.format( + logger.debug("Start task AAIConsumerTask::publish() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); - prhAppConfig.getAAIHttpClientConfiguration(); - logger.debug("End task DmaapConsumerTask::publish() :: Execution Time - {}", dateTimeFormatter.format( + + producerClient = new AAIProducerClient(prhAppConfig.getAAIClientConfiguration()); + + response = producerClient.getHttpResponse(requestDetails); + + logger.debug("End task AAIConsumerTask::publish() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); } @Override public ResponseEntity execute(Object object) throws AAINotFoundException { - logger.debug("Start task AAIPublisherTaskImpl::execute() :: Execution Time - {}", dateTimeFormatter.format( + logger.debug("Start task AAIProducerTaskImpl::execute() :: Execution Time - {}", dateTimeFormatter.format( LocalDateTime.now())); publish(); logger.debug("End task AAIPublisherTaskImpl::execute() :: Execution Time - {}", dateTimeFormatter.format( @@ -73,8 +86,8 @@ public class AAIPublisherTaskImpl extends AAIPublisherTask<AAIHttpClientConfigur } @Override - protected AAIHttpClientConfiguration resolveConfiguration() { - return prhAppConfig.getAAIHttpClientConfiguration(); + protected AAIClientConfiguration resolveConfiguration() { + return prhAppConfig.getAAIClientConfiguration(); } } 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 0db49f7c..eb66361d 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 @@ -19,8 +19,6 @@ */ 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.onap.dcaegen2.services.prh.configuration.Config; @@ -30,6 +28,9 @@ 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; + /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/23/18 */ 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 072f9c7d..ff5f5893 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,8 +19,6 @@ */ 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.onap.dcaegen2.services.prh.configuration.Config; @@ -30,6 +28,9 @@ 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; + /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/13/18 */ 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 c051afbc..2922da1a 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 @@ -39,14 +39,16 @@ public class ScheduledTasks { private final Task dmaapConsumerTask; private final Task dmaapProducerTask; - private final Task aaiPublisherTask; + private final Task aaiProducerTask; + private final Task aaiConsumerTask; @Autowired public ScheduledTasks(DmaapConsumerTask dmaapConsumerTask, DmaapPublisherTask dmaapPublisherTask, - AAIPublisherTask aaiPublisherTask) { + AAIProducerTask aaiPublisherTask, AAIConsumerTask aaiConsumerTask) { this.dmaapConsumerTask = dmaapConsumerTask; this.dmaapProducerTask = dmaapPublisherTask; - this.aaiPublisherTask = aaiPublisherTask; + this.aaiProducerTask = aaiPublisherTask; + this.aaiConsumerTask = aaiConsumerTask; } public void scheduleMainPrhEventTask() { @@ -65,8 +67,10 @@ public class ScheduledTasks { } private void setTaskExecutionFlow() { - dmaapConsumerTask.setNext(aaiPublisherTask); - aaiPublisherTask.setNext(dmaapProducerTask); + dmaapConsumerTask.setNext(aaiProducerTask); + aaiProducerTask.setNext(dmaapProducerTask); + aaiConsumerTask.setNext(aaiConsumerTask); + dmaapProducerTask.setNext(dmaapConsumerTask); } } |