diff options
Diffstat (limited to 'src/main/java/org/onap/nbi/apis/hub/ExtApiClientForHub.java')
-rw-r--r-- | src/main/java/org/onap/nbi/apis/hub/ExtApiClientForHub.java | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/main/java/org/onap/nbi/apis/hub/ExtApiClientForHub.java b/src/main/java/org/onap/nbi/apis/hub/ExtApiClientForHub.java deleted file mode 100644 index 10d6f7c..0000000 --- a/src/main/java/org/onap/nbi/apis/hub/ExtApiClientForHub.java +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Copyright (c) 2019 Amdocs - * - * 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. - */ -package org.onap.nbi.apis.hub; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import org.onap.nbi.apis.hub.model.Subscription; -import org.onap.nbi.exceptions.BackendFunctionalException; -import org.onap.nbi.exceptions.TechnicalException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.*; -import org.springframework.stereotype.Service; -import org.springframework.web.client.ResourceAccessException; -import org.springframework.web.client.RestTemplate; - -@Service -public class ExtApiClientForHub { - - @Autowired - RestTemplate restTemplate; - - @Value("${external.nbi.url}") - private String externalNbiUrl; - - @Value("${nbi.url}") - private String nbiUrl; - - private static final Logger LOGGER = LoggerFactory.getLogger(ExtApiClientForHub.class); - - private static final ObjectMapper mapper = new ObjectMapper(); - - public ResponseEntity<Object> postEventSubscription(Subscription subscription, String targetURL) { - try { - - - String url = externalNbiUrl.replace("{targetUrl}", targetURL) + "/hub"; - LOGGER.debug("Sending create event notification request to " + url); - String nbiListenerUrl = nbiUrl + "/listener"; - subscription.setCallback(nbiListenerUrl); - String subscriptionAsBody = mapper.writeValueAsString(subscription); - ResponseEntity<Object> response = postRequest(url, subscriptionAsBody, buildRequestHeaders()); - LOGGER.info("Received response from " + targetURL + "with status : " + response.getStatusCode()); - LOGGER.debug("Response Body: " + response.getBody()); - return response; - }catch(JsonProcessingException ex) { - LOGGER.error("error occurred while parsing service order to Json: " + ex); - throw new TechnicalException("error occurred while parsing service order to Json:"+ HttpStatus.INTERNAL_SERVER_ERROR); - } - } - - private HttpHeaders buildRequestHeaders() { - HttpHeaders httpHeaders = new HttpHeaders(); - httpHeaders.add("Accept", "application/json"); - httpHeaders.add("Content-Type", "application/json"); - return httpHeaders; - } - - - private ResponseEntity<Object> postRequest(String url, String body, HttpHeaders httpHeaders) { - try { - ResponseEntity<Object> response = restTemplate.exchange(url, HttpMethod.POST, new HttpEntity<>(body, httpHeaders), Object.class); - return response; - }catch(BackendFunctionalException ex) { - LOGGER.error("error on calling " + url + " ," + ex); - return new ResponseEntity<>("problem calling onap services", ex.getHttpStatus()); - }catch (ResourceAccessException ex) { - LOGGER.error("error on calling " + url + " ," + ex); - return new ResponseEntity<>("unable to reach onap services", HttpStatus.INTERNAL_SERVER_ERROR); - - } - - } -} - |