+ /**
+ * Update resource data for data store pass-through running using dmi for given cm-handle.
+ *
+ * @param cmHandle cm handle
+ * @param resourceIdentifier resource identifier
+ * @param requestBody request body to create resource
+ * @param contentType content type in body
+ */
+ @Override
+ public void updateResourceDataPassThroughRunningForCmHandle(final String cmHandle, final String resourceIdentifier,
+ final String requestBody, final String contentType) {
+ final DataNode cmHandleDataNode = fetchDataNodeFromDmiRegistryForCmHandle(cmHandle);
+ final String dmiServiceName = String.valueOf(cmHandleDataNode.getLeaves().get(NCMP_DMI_SERVICE_NAME));
+ final Collection<DataNode> cmHandlePropertiesAsDataNodes = cmHandleDataNode.getChildDataNodes();
+ final Map<String, String> cmHandlePropertiesAsMap = getCmHandlePropertiesAsMap(cmHandlePropertiesAsDataNodes);
+ final GenericRequestBody dmiRequestBodyObject = GenericRequestBody.builder()
+ .operation(OperationEnum.UPDATE)
+ .dataType(contentType)
+ .data(requestBody)
+ .cmHandleProperties(cmHandlePropertiesAsMap)
+ .build();
+ final String dmiRequestBody = prepareOperationBody(dmiRequestBodyObject);
+ final ResponseEntity<String> responseEntity = dmiOperations
+ .updateResourceDataPassThroughRunningFromDmi(dmiServiceName,
+ cmHandle,
+ resourceIdentifier,
+ dmiRequestBody);
+ handleResponseFromDmi(responseEntity, "Unable to replace resource data.");
+ }
+