From aa9576a7cceb70220fdc55fadef6c7d0e4dac452 Mon Sep 17 00:00:00 2001 From: pwielebs Date: Tue, 4 Dec 2018 12:56:19 +0100 Subject: SDK integration: use dmaap client in PRH Change-Id: I41a952396fb9714f7e1e04c1d08a1e27df3020db Issue-ID: DCAEGEN2-1013 Signed-off-by: pwielebs --- .../producer/DMaaPPublisherReactiveHttpClient.java | 102 --------------------- 1 file changed, 102 deletions(-) delete mode 100644 prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/producer/DMaaPPublisherReactiveHttpClient.java (limited to 'prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/producer/DMaaPPublisherReactiveHttpClient.java') diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/producer/DMaaPPublisherReactiveHttpClient.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/producer/DMaaPPublisherReactiveHttpClient.java deleted file mode 100644 index 2b339775..00000000 --- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/prh/service/producer/DMaaPPublisherReactiveHttpClient.java +++ /dev/null @@ -1,102 +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.producer; - -import static org.onap.dcaegen2.services.prh.model.CommonFunctions.createJsonBody; -import static org.onap.dcaegen2.services.prh.model.logging.MdcVariables.REQUEST_ID; -import static org.onap.dcaegen2.services.prh.model.logging.MdcVariables.X_INVOCATION_ID; -import static org.onap.dcaegen2.services.prh.model.logging.MdcVariables.X_ONAP_REQUEST_ID; - -import java.net.URI; -import java.util.UUID; -import org.onap.dcaegen2.services.prh.config.DmaapPublisherConfiguration; -import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.slf4j.MDC; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; -import org.springframework.web.client.RestTemplate; -import org.springframework.web.util.DefaultUriBuilderFactory; -import reactor.core.publisher.Mono; - - -/** - * @author Przemysław Wąsala on 7/4/18 - */ -public class DMaaPPublisherReactiveHttpClient { - - private final Logger logger = LoggerFactory.getLogger(DMaaPPublisherReactiveHttpClient.class); - private final String dmaapHostName; - private final Integer dmaapPortNumber; - private final String dmaapProtocol; - private final String dmaapTopicName; - private final String dmaapContentType; - private final Mono restTemplateMono; - - /** - * Constructor DMaaPPublisherReactiveHttpClient. - * - * @param dmaapPublisherConfiguration - DMaaP producer configuration object - */ - DMaaPPublisherReactiveHttpClient(DmaapPublisherConfiguration dmaapPublisherConfiguration, - Mono restTemplateMono) { - this.dmaapHostName = dmaapPublisherConfiguration.dmaapHostName(); - this.dmaapProtocol = dmaapPublisherConfiguration.dmaapProtocol(); - this.dmaapPortNumber = dmaapPublisherConfiguration.dmaapPortNumber(); - this.dmaapTopicName = dmaapPublisherConfiguration.dmaapTopicName(); - this.dmaapContentType = dmaapPublisherConfiguration.dmaapContentType(); - this.restTemplateMono = restTemplateMono; - } - - /** - * Function for calling DMaaP HTTP producer - post request to DMaaP. - * - * @param consumerDmaapModelMono - object which will be sent to DMaaP - * @return status code of operation - */ - - public Mono> getDMaaPProducerResponse(ConsumerDmaapModel consumerDmaapModelMono) { - return Mono.defer(() -> { - HttpEntity request = new HttpEntity<>(createJsonBody(consumerDmaapModelMono), getAllHeaders()); - logger.info("Request: {} {}", getUri(), request); - return restTemplateMono.map( - restTemplate -> restTemplate.exchange(getUri(), HttpMethod.POST, request, String.class)); - }); - } - - private HttpHeaders getAllHeaders() { - HttpHeaders headers = new HttpHeaders(); - headers.set(X_ONAP_REQUEST_ID, MDC.get(REQUEST_ID)); - headers.set(X_INVOCATION_ID, UUID.randomUUID().toString()); - headers.set(HttpHeaders.CONTENT_TYPE, dmaapContentType); - return headers; - - } - - URI getUri() { - return new DefaultUriBuilderFactory().builder().scheme(dmaapProtocol).host(dmaapHostName).port(dmaapPortNumber) - .path(dmaapTopicName).build(); - } - -} -- cgit 1.2.3-korg