Modify data operation schema to accommodate additional information
[cps.git] / cps-ncmp-service / src / main / java / org / onap / cps / ncmp / api / impl / operations / DmiDataOperations.java
index 8f0975f..ba6f891 100644 (file)
@@ -241,10 +241,12 @@ public class DmiDataOperations extends DmiOperations {
 
     private void sendDataOperationRequestToDmiService(final String dataOperationResourceUrl,
                                                       final List<DmiDataOperation> dmiDataOperationRequestBodies) {
-        final String dataOperationRequestBodiesAsJsonString =
-                jsonObjectMapper.asJsonString(dmiDataOperationRequestBodies);
+        final DmiDataOperationRequest dmiDataOperationRequest = DmiDataOperationRequest.builder()
+                .operations(dmiDataOperationRequestBodies).build();
+        final String dmiDataOperationRequestAsJsonString =
+                jsonObjectMapper.asJsonString(dmiDataOperationRequest);
         TaskExecutor.executeTask(() -> dmiRestClient.postOperationWithJsonData(dataOperationResourceUrl,
-                                dataOperationRequestBodiesAsJsonString, READ),
+                                dmiDataOperationRequestAsJsonString, READ),
                         DEFAULT_ASYNC_TASK_EXECUTOR_TIMEOUT_IN_MILLISECONDS)
                 .whenCompleteAsync((response, throwable) -> handleTaskCompletionException(throwable,
                         dataOperationResourceUrl, dmiDataOperationRequestBodies));
@@ -259,22 +261,22 @@ public class DmiDataOperations extends DmiOperations {
             final String topicName = dataOperationResourceUrlParameters.get("topic").get(0);
             final String requestId = dataOperationResourceUrlParameters.get("requestId").get(0);
 
-            final MultiValueMap<String, Map<NcmpEventResponseCode, List<String>>>
-                    cmHandleIdsPerResponseCodesPerOperationId = new LinkedMultiValueMap<>();
+            final MultiValueMap<DmiDataOperation, Map<NcmpEventResponseCode, List<String>>>
+                    cmHandleIdsPerResponseCodesPerOperation = new LinkedMultiValueMap<>();
 
             dmiDataOperationRequestBodies.forEach(dmiDataOperationRequestBody -> {
                 final List<String> cmHandleIds = dmiDataOperationRequestBody.getCmHandles().stream()
                         .map(CmHandle::getId).collect(Collectors.toList());
                 if (throwable.getCause() instanceof HttpClientRequestException) {
-                    cmHandleIdsPerResponseCodesPerOperationId.add(dmiDataOperationRequestBody.getOperationId(),
+                    cmHandleIdsPerResponseCodesPerOperation.add(dmiDataOperationRequestBody,
                             Map.of(NcmpEventResponseCode.UNABLE_TO_READ_RESOURCE_DATA, cmHandleIds));
                 } else {
-                    cmHandleIdsPerResponseCodesPerOperationId.add(dmiDataOperationRequestBody.getOperationId(),
+                    cmHandleIdsPerResponseCodesPerOperation.add(dmiDataOperationRequestBody,
                             Map.of(NcmpEventResponseCode.DMI_SERVICE_NOT_RESPONDING, cmHandleIds));
                 }
             });
             ResourceDataOperationRequestUtils.publishErrorMessageToClientTopic(topicName, requestId,
-                    cmHandleIdsPerResponseCodesPerOperationId);
+                    cmHandleIdsPerResponseCodesPerOperation);
         }
     }
 }