aboutsummaryrefslogtreecommitdiffstats
path: root/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImpl.java')
-rw-r--r--prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapPublisherTaskImpl.java49
1 files changed, 23 insertions, 26 deletions
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 1a9abf0f..55a8bb58 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
@@ -20,52 +20,52 @@
package org.onap.dcaegen2.services.prh.tasks;
-import java.util.Optional;
-import javax.net.ssl.SSLException;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
-import org.onap.dcaegen2.services.prh.configuration.Config;
import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException;
import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel;
import org.onap.dcaegen2.services.prh.model.PnfReadyJsonBodyBuilderImpl;
+import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.DmaapPublisherConfiguration;
import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.producer.DMaaPPublisherReactiveHttpClient;
import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.producer.DmaaPRestTemplateFactory;
import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.producer.PublisherReactiveHttpClientFactory;
-import org.onap.dcaegen2.services.sdk.rest.services.uri.URI.URIBuilder;
+import org.onap.dcaegen2.services.sdk.rest.services.uri.URI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
import reactor.core.publisher.Mono;
-import reactor.netty.http.client.HttpClientResponse;
+
+import javax.net.ssl.SSLException;
+import java.util.Optional;
+import java.util.function.Supplier;
/**
* @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/13/18
*/
-@Component
public class DmaapPublisherTaskImpl implements DmaapPublisherTask {
private static final Logger LOGGER = LoggerFactory.getLogger(DmaapPublisherTaskImpl.class);
+ private final Supplier<DmaapPublisherConfiguration> config;
private final PnfReadyJsonBodyBuilderImpl pnfReadyJsonBodyBuilder = new PnfReadyJsonBodyBuilderImpl();
- private Config config;
private final PublisherReactiveHttpClientFactory httpClientFactory;
- @Autowired
- public DmaapPublisherTaskImpl(Config config) {
- this(config,
- new PublisherReactiveHttpClientFactory(new DmaaPRestTemplateFactory(), new PnfReadyJsonBodyBuilderImpl()));
+ public DmaapPublisherTaskImpl(final Supplier<DmaapPublisherConfiguration> config) {
+ this(config, new PublisherReactiveHttpClientFactory(
+ new DmaaPRestTemplateFactory(),
+ new PnfReadyJsonBodyBuilderImpl()));
}
- DmaapPublisherTaskImpl(Config config, PublisherReactiveHttpClientFactory httpClientFactory) {
+ DmaapPublisherTaskImpl(
+ Supplier<DmaapPublisherConfiguration> config,
+ PublisherReactiveHttpClientFactory httpClientFactory) {
this.config = config;
this.httpClientFactory = httpClientFactory;
}
@Override
- public Mono<HttpClientResponse> execute(ConsumerDmaapModel consumerDmaapModel)
- throws DmaapNotFoundException, SSLException {
+ public Mono<org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpResponse>
+ execute(ConsumerDmaapModel consumerDmaapModel) throws DmaapNotFoundException, SSLException {
if (consumerDmaapModel == null) {
throw new DmaapNotFoundException("Invoked null object to DMaaP task");
}
@@ -74,10 +74,9 @@ public class DmaapPublisherTaskImpl implements DmaapPublisherTask {
return dmaapPublisherReactiveHttpClient.getDMaaPProducerResponse(consumerDmaapModel, Optional.empty());
}
-
@Override
public DMaaPPublisherReactiveHttpClient resolveClient() throws SSLException {
- return httpClientFactory.create(config.getDmaapPublisherConfiguration());
+ return httpClientFactory.create(config.get());
}
@@ -87,13 +86,13 @@ public class DmaapPublisherTaskImpl implements DmaapPublisherTask {
* As WA plesae use Mono<HttpResponse> executeWithApache(ConsumerDmaapModel consumerDmaapModel);
* */
@Override
- public Mono<HttpResponse> executeWithApache(ConsumerDmaapModel consumerDmaapModel) {
+ public Mono<org.apache.http.HttpResponse> executeWithApache(ConsumerDmaapModel consumerDmaapModel) {
String json = pnfReadyJsonBodyBuilder.createJsonBody(consumerDmaapModel);
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost(getUrl());
try {
StringEntity input = new StringEntity(json);
- input.setContentType(config.getDmaapPublisherConfiguration().dmaapContentType());
+ input.setContentType(config.get().dmaapContentType());
postRequest.setEntity(input);
HttpResponse response = httpClient.execute(postRequest);
return Mono.just(response);
@@ -104,15 +103,13 @@ public class DmaapPublisherTaskImpl implements DmaapPublisherTask {
}
private String getUrl() {
- return (new URIBuilder()).scheme(config.getDmaapPublisherConfiguration().dmaapProtocol())
- .host(config.getDmaapPublisherConfiguration().dmaapHostName())
- .port(config.getDmaapPublisherConfiguration().dmaapPortNumber()).path(this.createRequestPath()).build()
+ return (new URI.URIBuilder()).scheme(config.get().dmaapProtocol())
+ .host(config.get().dmaapHostName())
+ .port(config.get().dmaapPortNumber()).path(this.createRequestPath()).build()
.toString();
}
private String createRequestPath() {
- return "/" + config.getDmaapPublisherConfiguration().dmaapTopicName();
+ return "/" + config.get().dmaapTopicName();
}
-
-
} \ No newline at end of file