From d69742c1f02585ae5d82f49542581698367e9cde Mon Sep 17 00:00:00 2001 From: "puthuparambil.aditya" Date: Tue, 29 Mar 2022 11:03:52 +0100 Subject: [cps] Fix getResourceDataForPassthroughOperational endpoint Get endpoint only accepts application/json. Issue-ID: CPS-957 Signed-off-by: puthuparambil.aditya Change-Id: Ifc7426fbcd6073a39554014dc18b2107b6343b16 --- .../cps/ncmp/api/NetworkCmProxyDataService.java | 4 --- .../api/impl/NetworkCmProxyDataServiceImpl.java | 10 +++---- .../cps/ncmp/api/impl/client/DmiRestClient.java | 31 ++++------------------ .../api/impl/operations/DmiDataOperations.java | 10 +++---- .../api/impl/operations/DmiModelOperations.java | 4 +-- .../ncmp/api/impl/operations/DmiOperations.java | 7 +---- 6 files changed, 14 insertions(+), 52 deletions(-) (limited to 'cps-ncmp-service/src/main/java/org') diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java index 7f4c18f371..d50b8c5ea8 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java @@ -50,14 +50,12 @@ public interface NetworkCmProxyDataService { * * @param cmHandleId cm handle identifier * @param resourceIdentifier resource identifier - * @param acceptParamInHeader accept param * @param optionsParamInQuery options query * @param topicParamInQuery topic name for (triggering) async responses * @return {@code Object} resource data */ Object getResourceDataOperationalForCmHandle(String cmHandleId, String resourceIdentifier, - String acceptParamInHeader, String optionsParamInQuery, String topicParamInQuery); @@ -67,14 +65,12 @@ public interface NetworkCmProxyDataService { * * @param cmHandleId cm handle identifier * @param resourceIdentifier resource identifier - * @param acceptParamInHeader accept param * @param optionsParamInQuery options query * @param topicParamInQuery topic query * @return {@code Object} resource data */ Object getResourceDataPassThroughRunningForCmHandle(String cmHandleId, String resourceIdentifier, - String acceptParamInHeader, String optionsParamInQuery, String topicParamInQuery); diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java index 1a69e45d30..81c060eb3b 100755 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java @@ -118,22 +118,20 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService @Override public Object getResourceDataOperationalForCmHandle(final String cmHandleId, final String resourceIdentifier, - final String acceptParamInHeader, final String optionsParamInQuery, final String topicParamInQuery) { CpsValidator.validateNameCharacters(cmHandleId); - return validateTopicNameAndGetResourceData(cmHandleId, resourceIdentifier, acceptParamInHeader, + return validateTopicNameAndGetResourceData(cmHandleId, resourceIdentifier, DmiOperations.DataStoreEnum.PASSTHROUGH_OPERATIONAL, optionsParamInQuery, topicParamInQuery); } @Override public Object getResourceDataPassThroughRunningForCmHandle(final String cmHandleId, final String resourceIdentifier, - final String acceptParamInHeader, final String optionsParamInQuery, final String topicParamInQuery) { CpsValidator.validateNameCharacters(cmHandleId); - return validateTopicNameAndGetResourceData(cmHandleId, resourceIdentifier, acceptParamInHeader, + return validateTopicNameAndGetResourceData(cmHandleId, resourceIdentifier, DmiOperations.DataStoreEnum.PASSTHROUGH_RUNNING, optionsParamInQuery, topicParamInQuery); } @@ -349,7 +347,6 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService private Object validateTopicNameAndGetResourceData(final String cmHandleId, final String resourceIdentifier, - final String acceptParamInHeader, final DmiOperations.DataStoreEnum dataStore, final String optionsParamInQuery, final String topicParamInQuery) { @@ -360,8 +357,7 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService .body(buildDmiResponse(resourceDataRequestId)); } final ResponseEntity responseEntity = dmiDataOperations.getResourceDataFromDmi( - cmHandleId, resourceIdentifier, optionsParamInQuery, acceptParamInHeader, - dataStore, NO_REQUEST_ID, NO_TOPIC); + cmHandleId, resourceIdentifier, optionsParamInQuery, dataStore, NO_REQUEST_ID, NO_TOPIC); return handleResponse(responseEntity, OperationEnum.READ); } } \ No newline at end of file diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/client/DmiRestClient.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/client/DmiRestClient.java index 94faa557fa..f1bb95f34e 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/client/DmiRestClient.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/client/DmiRestClient.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2021 Nordix Foundation + * Modifications Copyright (C) 2022 Bell Canada * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,43 +21,32 @@ package org.onap.cps.ncmp.api.impl.client; +import lombok.AllArgsConstructor; import org.onap.cps.ncmp.api.impl.config.NcmpConfiguration.DmiProperties; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; @Component +@AllArgsConstructor public class DmiRestClient { private RestTemplate restTemplate; private DmiProperties dmiProperties; - /** - * Constructor injection for DmiRestClient objects. - * - * @param restTemplate the rest template - * @param dmiProperties the DMI properties - */ - public DmiRestClient(final RestTemplate restTemplate, final DmiProperties dmiProperties) { - this.restTemplate = restTemplate; - this.dmiProperties = dmiProperties; - } /** * Sends POST operation to DMI with json body containing module references. * @param dmiResourceUrl dmi resource url * @param jsonData json data body - * @param httpHeaders http headers * @return response entity of type String */ public ResponseEntity postOperationWithJsonData(final String dmiResourceUrl, - final String jsonData, - final HttpHeaders httpHeaders) { - final var httpEntity = new HttpEntity<>(jsonData, configureHttpHeaders(httpHeaders)); + final String jsonData) { + final var httpEntity = new HttpEntity<>(jsonData, configureHttpHeaders(new HttpHeaders())); return restTemplate.postForEntity(dmiResourceUrl, httpEntity, Object.class); } @@ -65,15 +55,4 @@ public class DmiRestClient { httpHeaders.setContentType(MediaType.APPLICATION_JSON); return httpHeaders; } - - /** - * Sends POST operation to DMI. - * @param dmiResourceUrl dmi resource url - * @param httpHeaders http headers - * @return response entity of type String - */ - public ResponseEntity postOperation(final String dmiResourceUrl, final HttpHeaders httpHeaders) { - final var httpEntity = new HttpEntity<>(configureHttpHeaders(httpHeaders)); - return restTemplate.exchange(dmiResourceUrl, HttpMethod.POST, httpEntity, Object.class); - } } diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiDataOperations.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiDataOperations.java index 68de9d5c6b..855e52dcda 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiDataOperations.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiDataOperations.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2021-2022 Nordix Foundation + * Modifications Copyright (C) 2022 Bell Canada * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,7 +30,6 @@ import org.onap.cps.ncmp.api.impl.config.NcmpConfiguration; import org.onap.cps.ncmp.api.impl.utils.DmiServiceUrlBuilder; import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle; import org.onap.cps.utils.JsonObjectMapper; -import org.springframework.http.HttpHeaders; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; @@ -58,7 +58,6 @@ public class DmiDataOperations extends DmiOperations { * @param cmHandleId network resource identifier * @param resourceId resource identifier * @param optionsParamInQuery options query - * @param acceptParamInHeader accept parameter * @param dataStore data store enum * @param requestId requestId for async responses * @param topicParamInQuery topic name for (triggering) async responses @@ -67,7 +66,6 @@ public class DmiDataOperations extends DmiOperations { public ResponseEntity getResourceDataFromDmi(final String cmHandleId, final String resourceId, final String optionsParamInQuery, - final String acceptParamInHeader, final DataStoreEnum dataStore, final String requestId, final String topicParamInQuery) { @@ -79,13 +77,11 @@ public class DmiDataOperations extends DmiOperations { .build(); dmiRequestBody.asDmiProperties(yangModelCmHandle.getDmiProperties()); final String jsonBody = jsonObjectMapper.asJsonString(dmiRequestBody); - final var dmiResourceDataUrl = dmiServiceUrlBuilder.getDmiDatastoreUrl( dmiServiceUrlBuilder.populateQueryParams(resourceId, optionsParamInQuery, topicParamInQuery), dmiServiceUrlBuilder.populateUriVariables( yangModelCmHandle, cmHandleId, dataStore)); - final var httpHeaders = prepareHeader(acceptParamInHeader); - return dmiRestClient.postOperationWithJsonData(dmiResourceDataUrl, jsonBody, httpHeaders); + return dmiRestClient.postOperationWithJsonData(dmiResourceDataUrl, jsonBody); } /** @@ -117,7 +113,7 @@ public class DmiDataOperations extends DmiOperations { dmiServiceUrlBuilder.getDmiDatastoreUrl(dmiServiceUrlBuilder.populateQueryParams(resourceId, null, null), dmiServiceUrlBuilder.populateUriVariables(yangModelCmHandle, cmHandleId, PASSTHROUGH_RUNNING)); - return dmiRestClient.postOperationWithJsonData(dmiUrl, jsonBody, new HttpHeaders()); + return dmiRestClient.postOperationWithJsonData(dmiUrl, jsonBody); } } diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiModelOperations.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiModelOperations.java index d79988e2e0..b033af87cd 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiModelOperations.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiModelOperations.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2021-2022 Nordix Foundation + * Modifications Copyright (C) 2022 Bell Canada * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,7 +37,6 @@ import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle; import org.onap.cps.ncmp.api.models.YangResource; import org.onap.cps.spi.model.ModuleReference; import org.onap.cps.utils.JsonObjectMapper; -import org.springframework.http.HttpHeaders; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; @@ -107,7 +107,7 @@ public class DmiModelOperations extends DmiOperations { final String cmHandle, final String resourceName) { final String dmiResourceDataUrl = getDmiResourceUrl(dmiServiceName, cmHandle, resourceName); - return dmiRestClient.postOperationWithJsonData(dmiResourceDataUrl, jsonData, new HttpHeaders()); + return dmiRestClient.postOperationWithJsonData(dmiResourceDataUrl, jsonData); } private static String getRequestBodyToFetchYangResources(final Collection newModuleReferences, diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiOperations.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiOperations.java index 75ba91b4f7..745007bd44 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiOperations.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiOperations.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2021-2022 Nordix Foundation + * Modifications Copyright (C) 2022 Bell Canada * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,7 +27,6 @@ import org.onap.cps.ncmp.api.impl.client.DmiRestClient; import org.onap.cps.ncmp.api.impl.config.NcmpConfiguration; import org.onap.cps.ncmp.api.impl.utils.DmiServiceUrlBuilder; import org.onap.cps.utils.JsonObjectMapper; -import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Service; @RequiredArgsConstructor @@ -56,10 +56,5 @@ public class DmiOperations { .buildAndExpand(dmiServiceName, dmiProperties.getDmiBasePath(), cmHandle, resourceName).toUriString(); } - static HttpHeaders prepareHeader(final String acceptParam) { - final var httpHeaders = new HttpHeaders(); - httpHeaders.set(HttpHeaders.ACCEPT, acceptParam); - return httpHeaders; - } } -- cgit 1.2.3-korg