aboutsummaryrefslogtreecommitdiffstats
path: root/prh-dmaap-client/src/main/java/org
diff options
context:
space:
mode:
authorwasala <przemyslaw.wasala@nokia.com>2018-06-26 19:29:43 +0200
committerwasala <przemyslaw.wasala@nokia.com>2018-08-07 08:32:28 +0200
commitc8c9a242f7a1f8454e2cf94b0442128533569dc5 (patch)
tree784673c75693f6f77b624e5c83c12e24b73646ec /prh-dmaap-client/src/main/java/org
parent8b1502fb0f1af5d00ec26e712e57b792fbd16bd8 (diff)
DmaapConsumerReactive fixed tests
Change-Id: I888ef94a084f32a18c77c12a18fb6636a4f33649 Issue-ID: DCAEGEN2-557 Signed-off-by: wasala <przemyslaw.wasala@nokia.com>
Diffstat (limited to 'prh-dmaap-client/src/main/java/org')
-rw-r--r--prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/consumer/DmaapConsumerReactiveHttpClient.java9
-rw-r--r--prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/consumer/ExtendedDmaapConsumerHttpClientImpl.java130
2 files changed, 6 insertions, 133 deletions
diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/consumer/DmaapConsumerReactiveHttpClient.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/consumer/DmaapConsumerReactiveHttpClient.java
index 859784a8..a99833dc 100644
--- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/consumer/DmaapConsumerReactiveHttpClient.java
+++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/consumer/DmaapConsumerReactiveHttpClient.java
@@ -24,6 +24,7 @@ import static org.springframework.web.reactive.function.client.ExchangeFilterFun
import java.net.URI;
import java.net.URISyntaxException;
+import java.util.Optional;
import org.apache.http.client.utils.URIBuilder;
import org.onap.dcaegen2.services.prh.config.DmaapConsumerConfiguration;
import org.slf4j.Logger;
@@ -66,7 +67,7 @@ public class DmaapConsumerReactiveHttpClient {
.build();
}
- public Mono<String> getDmaaPConsumerResposne() {
+ public Mono<Optional<String>> getDmaaPConsumerResponse() {
try {
return webClient
.get()
@@ -75,8 +76,10 @@ public class DmaapConsumerReactiveHttpClient {
.onStatus(HttpStatus::is4xxClientError, clientResponse ->
Mono.error(new Exception("HTTP 400"))
)
- .onStatus(HttpStatus::is5xxServerError, clientResponse -> Mono.error(new Exception("HTTP 500")))
- .bodyToMono(String.class);
+ .onStatus(HttpStatus::is5xxServerError, clientResponse ->
+ Mono.error(new Exception("HTTP 500")))
+ .bodyToMono(String.class)
+ .map(Optional::of);
} catch (URISyntaxException e) {
logger.warn("Exception while executing HTTP request: ", e);
return Mono.error(e);
diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/consumer/ExtendedDmaapConsumerHttpClientImpl.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/consumer/ExtendedDmaapConsumerHttpClientImpl.java
deleted file mode 100644
index 0f8fe28c..00000000
--- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/consumer/ExtendedDmaapConsumerHttpClientImpl.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * ============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.service.consumer;
-
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Optional;
-import org.apache.http.HttpEntity;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpRequestBase;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.util.EntityUtils;
-import org.onap.dcaegen2.services.prh.config.DmaapConsumerConfiguration;
-import org.onap.dcaegen2.services.prh.service.DmaapHttpClientImpl;
-import org.onap.dcaegen2.services.prh.service.HttpUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-public class ExtendedDmaapConsumerHttpClientImpl {
-
- private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
- private final CloseableHttpClient closeableHttpClient;
- private final String dmaapHostName;
- private final String dmaapProtocol;
- private final Integer dmaapPortNumber;
- private final String dmaapTopicName;
- private final String consumerGroup;
- private final String consumerId;
- private final String dmaapContentType;
-
-
- public ExtendedDmaapConsumerHttpClientImpl(DmaapConsumerConfiguration configuration) {
- this.closeableHttpClient = new DmaapHttpClientImpl(configuration).getHttpClient();
- this.dmaapHostName = configuration.dmaapHostName();
- this.dmaapProtocol = configuration.dmaapProtocol();
- this.dmaapPortNumber = configuration.dmaapPortNumber();
- this.dmaapTopicName = configuration.dmaapTopicName();
- this.consumerGroup = configuration.consumerGroup();
- this.consumerId = configuration.consumerId();
- this.dmaapContentType = configuration.dmaapContentType();
- }
-
- public Optional<String> getHttpConsumerResponse() {
-
- try {
- return createRequest()
- .flatMap(this::executeHttpClient);
- } catch (URISyntaxException e) {
- logger.warn("Exception while executing HTTP request: ", e);
- }
- return Optional.empty();
- }
-
- private Optional<String> executeHttpClient(HttpRequestBase httpRequestBase) {
- try {
- return closeableHttpClient.execute(httpRequestBase, getDmaapConsumerResponseHandler());
- } catch (IOException e) {
- logger.warn("Exception while executing HTTP request: ", e);
- }
- return Optional.empty();
- }
-
- private Optional<HttpRequestBase> createRequest() throws URISyntaxException {
- return "application/json".equals(dmaapContentType)
- ? createDmaapConsumerExtendedURI().map(this::createHttpRequest)
- : Optional.empty();
- }
-
- private HttpRequestBase createHttpRequest(URI extendedURI) {
- HttpRequestBase httpRequestBase = new HttpGet(extendedURI);
- httpRequestBase.addHeader("Content-type", dmaapContentType);
- return httpRequestBase;
- }
-
-
- private String createRequestPath() {
- return dmaapTopicName + "/" + consumerGroup + "/" + consumerId;
- }
-
- private Optional<URI> createDmaapConsumerExtendedURI() throws URISyntaxException {
- return Optional.ofNullable(new URIBuilder()
- .setScheme(dmaapProtocol)
- .setHost(dmaapHostName)
- .setPort(dmaapPortNumber)
- .setPath(createRequestPath()).build());
- }
-
- private ResponseHandler<Optional<String>> getDmaapConsumerResponseHandler() {
- return httpResponse -> {
- final int responseCode = httpResponse.getStatusLine().getStatusCode();
- logger.info("Status code of operation: {}", responseCode);
- final HttpEntity responseEntity = httpResponse.getEntity();
-
- if (HttpUtils.isSuccessfulResponseCode(responseCode)) {
- logger.trace("HTTP response successful.");
- final String dmaapResponse = EntityUtils.toString(responseEntity);
- return Optional.of(dmaapResponse);
- } else {
- String dmaapResponse = responseEntity != null ? EntityUtils.toString(responseEntity) : "";
- logger.trace("HTTP response not successful : {}", dmaapResponse);
- return Optional.of(String.valueOf(responseCode));
- }
- };
- }
-}
-
-