aboutsummaryrefslogtreecommitdiffstats
path: root/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTask.java
diff options
context:
space:
mode:
authorwasala <przemyslaw.wasala@nokia.com>2018-08-08 13:39:14 +0200
committerwasala <przemyslaw.wasala@nokia.com>2018-08-09 07:55:43 +0200
commit5005d7463fb8ef25f0b4e975d4392367037c7239 (patch)
treee1ef2c5f5bc99d9514c13e1068f3b56c1881a4c1 /prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTask.java
parent7679a6f8177d47116aa8dbae0b38f8b0a8174dc5 (diff)
Reactive A&AI client
*plugged reactiveHttpClient in prh workflow *added junit tests for workflow Change-Id: I74f3fa7354de9b0f7f164c070ea61b70e74bde23 Issue-ID: DCAEGEN2-609 Signed-off-by: wasala <przemyslaw.wasala@nokia.com>
Diffstat (limited to 'prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTask.java')
-rw-r--r--prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTask.java19
1 files changed, 15 insertions, 4 deletions
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTask.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTask.java
index abd4fc45..f58fed61 100644
--- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTask.java
+++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTask.java
@@ -20,19 +20,30 @@
package org.onap.dcaegen2.services.prh.tasks;
+import org.onap.dcaegen2.services.prh.config.AaiClientConfiguration;
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.AaiReactiveWebClient;
+import org.onap.dcaegen2.services.prh.service.producer.AaiProducerReactiveHttpClient;
+import org.springframework.web.reactive.function.client.WebClient;
+import reactor.core.publisher.Mono;
/**
* @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/13/18
*/
public abstract class AaiProducerTask {
- abstract ConsumerDmaapModel publish(ConsumerDmaapModel message) throws AaiNotFoundException;
+ abstract Mono<ConsumerDmaapModel> publish(Mono<ConsumerDmaapModel> message) throws AaiNotFoundException;
- abstract AaiProducerClient resolveClient();
+ abstract AaiProducerReactiveHttpClient resolveClient();
- protected abstract ConsumerDmaapModel execute(ConsumerDmaapModel consumerDmaapModel) throws PrhTaskException;
+ protected abstract AaiClientConfiguration resolveConfiguration();
+
+ protected abstract Mono<ConsumerDmaapModel> execute(Mono<ConsumerDmaapModel> consumerDmaapModel)
+ throws PrhTaskException;
+
+ WebClient buildWebClient() {
+ return new AaiReactiveWebClient().fromConfiguration(resolveConfiguration()).build();
+ }
}