fix data type as string for dmi request body 07/123807/3
authortragait <rahul.tyagi@est.tech>
Thu, 2 Sep 2021 11:32:35 +0000 (12:32 +0100)
committertragait <rahul.tyagi@est.tech>
Fri, 3 Sep 2021 15:04:36 +0000 (16:04 +0100)
Issue-ID: CPS-634
Signed-off-by: tragait <rahul.tyagi@est.tech>
Change-Id: Ib3d9d7cab12c77332d799b89e73e5a9b934a4473

docs/openapi/components.yml
src/main/java/org/onap/cps/ncmp/dmi/service/DmiService.java
src/main/java/org/onap/cps/ncmp/dmi/service/DmiServiceImpl.java
src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy
src/test/groovy/org/onap/cps/ncmp/dmi/service/DmiServiceImplSpec.groovy
src/test/resources/WriteDataForCmHandle.json

index bac5f9c..3866b83 100644 (file)
@@ -78,7 +78,7 @@ components:
         dataType:
           type: string
         data:
-          type: object
+          type: string
         cmHandleProperties:
           type: object
           additionalProperties:
index f144608..7f79a04 100644 (file)
@@ -106,5 +106,5 @@ public interface DmiService {
      * @return response from sdnc
      */
     String writeResourceDataPassthroughForCmHandle(String cmHandle, String resourceIdentifier, String dataType,
-        Object data);
+        String data);
 }
\ No newline at end of file
index 216190e..87936bb 100644 (file)
@@ -207,18 +207,9 @@ public class DmiServiceImpl implements DmiService {
 
     @Override
     public String writeResourceDataPassthroughForCmHandle(final String cmHandle, final String resourceIdentifier,
-        final String dataType, final Object data) {
-        final String jsonData;
-        try {
-            jsonData = objectMapper.writeValueAsString(data);
-        } catch (final JsonProcessingException e) {
-            log.error("JSON exception occurred when processing pass through request data for the given cmHandle {}",
-                cmHandle);
-            throw new DmiException("Unable to process incoming JSON from the request body.",
-                "JSON exception occurred when writing data for the given cmHandle " + cmHandle, e);
-        }
+        final String dataType, final String data) {
         final ResponseEntity<String> responseEntity =
-            sdncOperations.writeResourceDataPassthroughRunning(cmHandle, resourceIdentifier, dataType, jsonData);
+            sdncOperations.writeResourceDataPassthroughRunning(cmHandle, resourceIdentifier, dataType, data);
         if (responseEntity.getStatusCode() == HttpStatus.CREATED) {
             return responseEntity.getBody();
         } else {
index e08870f..c32608c 100644 (file)
@@ -212,7 +212,7 @@ class DmiRestControllerSpec extends Specification {
             def writeDataforCmHandlePassthroughRunning = "${basePathV1}/ch/some-cmHandle/data/ds/ncmp-datastore:passthrough-running/some-resourceIdentifier"
             def jsonData = TestUtils.getResourceFileContent('WriteDataForCmHandle.json')
         and: 'dmi service is called'
-            mockDmiService.writeResourceDataPassthroughForCmHandle('some-cmHandle', 'some-resourceIdentifier', 'application/json',  ['some-data': 'some-value']) >> '{some-json}'
+            mockDmiService.writeResourceDataPassthroughForCmHandle('some-cmHandle', 'some-resourceIdentifier', 'application/json',  '{ some data }') >> '{some-json}'
         when: 'write cmHandle passthrough running post api is invoked with json data'
             def response = mvc.perform(
                     post(writeDataforCmHandlePassthroughRunning).contentType(MediaType.APPLICATION_JSON)
index 1d2cf7f..7891450 100644 (file)
@@ -266,7 +266,7 @@ class DmiServiceImplSpec extends Specification {
             mockObjectMapper.writeValueAsString(_) >> jsonString
         when: 'write resource data for pass through method is invoked'
             objectUnderTest.writeResourceDataPassthroughForCmHandle('some-cmHandle',
-                    'some-resourceIdentifier', 'some-dataType', new Object())
+                    'some-resourceIdentifier', 'some-dataType', 'some-json-data')
         then: 'a dmi exception is thrown'
             thrown(DmiException.class)
         where: 'the following combinations are tested'
index 8eb1959..178421f 100644 (file)
@@ -1,9 +1,7 @@
 {
   "operation": "create",
   "dataType": "application/json",
-  "data": {
-    "some-data": "some-value"
-  },
+  "data": "{ some data }",
   "cmHandleProperties": {
     "some-property": "some-property-value"
   }