From d000733344658e79e8a384e724349bdb644d7c62 Mon Sep 17 00:00:00 2001 From: "puthuparambil.aditya" Date: Wed, 8 Dec 2021 18:53:39 +0000 Subject: Define response objects(schemas) in cps-ncmp Issue-ID: CPS-559 Signed-off-by: puthuparambil.aditya Change-Id: Id181f2a1b9554118f5e7464c95e873f09fc908eb --- .../rest/controller/NetworkCmProxyController.java | 47 +++++++++++----------- 1 file changed, 24 insertions(+), 23 deletions(-) (limited to 'cps-ncmp-rest/src/main/java/org') diff --git a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java index 3b44b80f6..28bb28ce8 100755 --- a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java +++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java @@ -37,6 +37,7 @@ import java.util.stream.Collectors; import javax.validation.Valid; import javax.validation.constraints.NotNull; import lombok.extern.slf4j.Slf4j; +import org.modelmapper.ModelMapper; import org.onap.cps.ncmp.api.NetworkCmProxyDataService; import org.onap.cps.ncmp.rest.api.NetworkCmProxyApi; import org.onap.cps.ncmp.rest.model.CmHandleProperties; @@ -46,9 +47,9 @@ import org.onap.cps.ncmp.rest.model.ConditionProperties; import org.onap.cps.ncmp.rest.model.Conditions; import org.onap.cps.ncmp.rest.model.ModuleNameAsJsonObject; import org.onap.cps.ncmp.rest.model.ModuleNamesAsJsonArray; +import org.onap.cps.ncmp.rest.model.ModuleReference; import org.onap.cps.spi.FetchDescendantsOption; import org.onap.cps.spi.model.DataNode; -import org.onap.cps.spi.model.ModuleReference; import org.onap.cps.utils.DataMapUtils; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -62,6 +63,7 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { private static final Gson GSON = new GsonBuilder().create(); + private final ModelMapper modelMapper = new ModelMapper(); private final NetworkCmProxyDataService networkCmProxyDataService; /** @@ -78,9 +80,9 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { */ @Override @Deprecated(forRemoval = false) - public ResponseEntity createNode(final String cmHandle, @Valid final String jsonData, + public ResponseEntity createNode(final String cmHandle, @Valid final Object jsonData, @Valid final String parentNodeXpath) { - networkCmProxyDataService.createDataNode(cmHandle, parentNodeXpath, jsonData); + networkCmProxyDataService.createDataNode(cmHandle, parentNodeXpath, GSON.toJson(jsonData)); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -91,8 +93,8 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { @Override @Deprecated(forRemoval = false) public ResponseEntity addListNodeElements(@NotNull @Valid final String parentNodeXpath, - final String cmHandle, @Valid final String jsonData) { - networkCmProxyDataService.addListNodeElements(cmHandle, parentNodeXpath, jsonData); + final String cmHandle, @Valid final Object jsonData) { + networkCmProxyDataService.addListNodeElements(cmHandle, parentNodeXpath, GSON.toJson(jsonData)); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -131,9 +133,9 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { */ @Override @Deprecated(forRemoval = false) - public ResponseEntity replaceNode(final String cmHandle, @Valid final String jsonData, + public ResponseEntity replaceNode(final String cmHandle, @Valid final Object jsonData, @Valid final String parentNodeXpath) { - networkCmProxyDataService.replaceNodeTree(cmHandle, parentNodeXpath, jsonData); + networkCmProxyDataService.replaceNodeTree(cmHandle, parentNodeXpath, GSON.toJson(jsonData)); return new ResponseEntity<>(HttpStatus.OK); } @@ -143,9 +145,9 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { */ @Override @Deprecated(forRemoval = false) - public ResponseEntity updateNodeLeaves(final String cmHandle, @Valid final String jsonData, + public ResponseEntity updateNodeLeaves(final String cmHandle, @Valid final Object jsonData, @Valid final String parentNodeXpath) { - networkCmProxyDataService.updateNodeLeaves(cmHandle, parentNodeXpath, jsonData); + networkCmProxyDataService.updateNodeLeaves(cmHandle, parentNodeXpath, GSON.toJson(jsonData)); return new ResponseEntity<>(HttpStatus.OK); } @@ -196,7 +198,7 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { final String cmHandle, final Object requestBody, final String contentType) { networkCmProxyDataService.writeResourceDataPassThroughRunningForCmHandle(cmHandle, - resourceIdentifier, PATCH, requestBody.toString(), contentType); + resourceIdentifier, PATCH, GSON.toJson(requestBody), contentType); return new ResponseEntity<>(HttpStatus.OK); } @@ -211,11 +213,9 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { */ @Override public ResponseEntity createResourceDataRunningForCmHandle(final String resourceIdentifier, - final String cmHandle, - final String requestBody, - final String contentType) { + final String cmHandle, final Object requestBody, final String contentType) { networkCmProxyDataService.writeResourceDataPassThroughRunningForCmHandle(cmHandle, - resourceIdentifier, CREATE, requestBody, contentType); + resourceIdentifier, CREATE, GSON.toJson(requestBody), contentType); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -231,10 +231,10 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { @Override public ResponseEntity updateResourceDataRunningForCmHandle(final String resourceIdentifier, final String cmHandle, - final String requestBody, + final Object requestBody, final String contentType) { networkCmProxyDataService.writeResourceDataPassThroughRunningForCmHandle(cmHandle, - resourceIdentifier, UPDATE, requestBody, contentType); + resourceIdentifier, UPDATE, GSON.toJson(requestBody), contentType); return new ResponseEntity<>(HttpStatus.OK); } @@ -251,11 +251,11 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { @Override public ResponseEntity deleteResourceDataRunningForCmHandle(final String resourceIdentifier, final String cmHandle, - final String requestBody, + final Object requestBody, final String contentType) { networkCmProxyDataService.writeResourceDataPassThroughRunningForCmHandle(cmHandle, - resourceIdentifier, DELETE, requestBody, contentType); + resourceIdentifier, DELETE, GSON.toJson(requestBody), contentType); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -280,11 +280,12 @@ public class NetworkCmProxyController implements NetworkCmProxyApi { * @param cmHandle the cm handle * @return module references for cm handle */ - @Override - public ResponseEntity getModuleReferencesByCmHandle(final String cmHandle) { - final Collection - moduleReferences = networkCmProxyDataService.getYangResourcesModuleReferences(cmHandle); - return new ResponseEntity<>(new Gson().toJson(moduleReferences), HttpStatus.OK); + public ResponseEntity> getModuleReferencesByCmHandle(final String cmHandle) { + final List moduleReferences = + networkCmProxyDataService.getYangResourcesModuleReferences(cmHandle).stream() + .map(moduleReference -> modelMapper.map(moduleReference, ModuleReference.class)) + .collect(Collectors.toList()); + return new ResponseEntity<>(moduleReferences, HttpStatus.OK); } private Collection processConditions(final List conditionProperties) { -- cgit 1.2.3-korg