NCMP : Replacing the word 'Batch' as 'DataOperation'. 36/135036/5
authorraviteja.karumuri <raviteja.karumuri@est.tech>
Tue, 20 Jun 2023 18:10:21 +0000 (19:10 +0100)
committerraviteja.karumuri <raviteja.karumuri@est.tech>
Thu, 22 Jun 2023 10:23:30 +0000 (11:23 +0100)
Issue-ID: CPS-1754
Signed-off-by: raviteja.karumuri <raviteja.karumuri@est.tech>
Change-Id: Ie9f56effb160582ba7177331fb6260b2bde2342b

22 files changed:
cps-ncmp-rest-stub/cps-ncmp-rest-stub-service/src/main/java/org/onap/cps/ncmp/rest/stub/controller/NetworkCmProxyStubController.java
cps-ncmp-rest/docs/openapi/components.yaml
cps-ncmp-rest/docs/openapi/ncmp.yml
cps-ncmp-rest/docs/openapi/openapi.yml
cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyController.java
cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/handlers/NcmpDatastoreRequestHandler.java
cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/handlers/NcmpPassthroughResourceRequestHandler.java
cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/handlers/TaskManagementDefaultHandler.java
cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/mapper/DataOperationRequestMapper.java [moved from cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/mapper/ResourceDataBatchRequestMapper.java with 71% similarity]
cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy
cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandlerSpec.groovy
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiBatchOperation.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiDataOperations.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/utils/ResourceDataBatchRequestUtils.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/DataOperationDefinition.java [moved from cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/BatchOperationDefinition.java with 94% similarity]
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/DataOperationRequest.java [moved from cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/ResourceDataBatchRequest.java with 91% similarity]
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImplSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/operations/DmiDataOperationsSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/utils/DataOperationRequestUtilsSpec.groovy [moved from cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/utils/ResourceDataBatchRequestUtilsSpec.groovy with 74% similarity]
cps-ncmp-service/src/test/resources/dataOperationRequest.json [moved from cps-ncmp-service/src/test/resources/resourceDataBatchRequest.json with 100% similarity]

index 37980ed..ee035bf 100644 (file)
@@ -36,7 +36,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.onap.cps.ncmp.api.impl.operations.DatastoreType;
 import org.onap.cps.ncmp.rest.api.NetworkCmProxyApi;
 import org.onap.cps.ncmp.rest.model.CmHandleQueryParameters;
-import org.onap.cps.ncmp.rest.model.ResourceDataBatchRequest;
+import org.onap.cps.ncmp.rest.model.DataOperationRequest;
 import org.onap.cps.ncmp.rest.model.RestModuleDefinition;
 import org.onap.cps.ncmp.rest.model.RestModuleReference;
 import org.onap.cps.ncmp.rest.model.RestOutputCmHandle;
@@ -159,8 +159,8 @@ public class NetworkCmProxyStubController implements NetworkCmProxyApi {
     }
 
     @Override
-    public ResponseEntity<Object> getResourceDataForCmHandleBatch(@NotNull @Valid final String topic,
-                                                                  @Valid final ResourceDataBatchRequest body) {
+    public ResponseEntity<Object> executeDataOperationForCmHandles(final String topicParamInQuery,
+                                                                   final DataOperationRequest dataOperationRequest) {
         return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
     }
 
index 2781f57..d45b8da 100644 (file)
@@ -285,18 +285,18 @@ components:
       properties:
         state:
           $ref: '#/components/schemas/CmHandleCompositeState'
-    # Batch Request Schemas
-    ResourceDataBatchRequest:
+    # Data Operation Request Schemas
+    DataOperationRequest:
       type: object
-      title: get resource data for given array of operations
+      title: execute data operation for given array of operations
       properties:
         operations:
           type: array
           items:
             type: object
-            $ref: '#/components/schemas/BatchOperationDefinition'
-          description: contains batch request details
-    BatchOperationDefinition:
+            $ref: '#/components/schemas/DataOperationDefinition'
+          description: contains group of data operation requests
+    DataOperationDefinition:
       required:
         - operation
         - datastore
index 957a3b8..95ca6cc 100755 (executable)
@@ -194,13 +194,13 @@ resourceDataForCmHandle:
       502:
         $ref: 'components.yaml#/components/responses/BadGateway'
 
-getResourceDataForCmHandleBatch:
+dataOperationForCmHandle:
   post:
     tags:
       - network-cm-proxy
-    summary: Get resource data for batch of cm handle ids
+    summary: Execute a data operation for group of cm handle ids
     description: This request will be handled asynchronously using messaging to the supplied topic. The rest response will be an acknowledge with a requestId to identify the relevant messages.
-    operationId: getResourceDataForCmHandleBatch
+    operationId: executeDataOperationForCmHandles
     parameters:
       - $ref: 'components.yaml#/components/parameters/requiredTopicParamInQuery'
     requestBody:
@@ -208,7 +208,7 @@ getResourceDataForCmHandleBatch:
       content:
         application/json:
           schema:
-            $ref: 'components.yaml#/components/schemas/ResourceDataBatchRequest'
+            $ref: 'components.yaml#/components/schemas/DataOperationRequest'
     responses:
       200:
         description: OK
index b63b568..84d86ff 100755 (executable)
@@ -35,7 +35,7 @@ paths:
     $ref: 'ncmp.yml#/resourceDataForCmHandle'
 
   /v1/data:
-    $ref: 'ncmp.yml#/getResourceDataForCmHandleBatch'
+    $ref: 'ncmp.yml#/dataOperationForCmHandle'
 
   /v1/ch/{cm-handle}/data/ds/{datastore-name}/query:
     $ref: 'ncmp.yml#/queryResourceDataForCmHandle'
index 1b78fa0..3c22b81 100755 (executable)
@@ -46,10 +46,10 @@ import org.onap.cps.ncmp.rest.controller.handlers.NcmpCachedResourceRequestHandl
 import org.onap.cps.ncmp.rest.controller.handlers.NcmpDatastoreRequestHandler;
 import org.onap.cps.ncmp.rest.controller.handlers.NcmpPassthroughResourceRequestHandler;
 import org.onap.cps.ncmp.rest.mapper.CmHandleStateMapper;
-import org.onap.cps.ncmp.rest.mapper.ResourceDataBatchRequestMapper;
+import org.onap.cps.ncmp.rest.mapper.DataOperationRequestMapper;
 import org.onap.cps.ncmp.rest.model.CmHandlePublicProperties;
 import org.onap.cps.ncmp.rest.model.CmHandleQueryParameters;
-import org.onap.cps.ncmp.rest.model.ResourceDataBatchRequest;
+import org.onap.cps.ncmp.rest.model.DataOperationRequest;
 import org.onap.cps.ncmp.rest.model.RestModuleDefinition;
 import org.onap.cps.ncmp.rest.model.RestModuleReference;
 import org.onap.cps.ncmp.rest.model.RestOutputCmHandle;
@@ -76,7 +76,7 @@ public class NetworkCmProxyController implements NetworkCmProxyApi {
     private final CmHandleStateMapper cmHandleStateMapper;
     private final NcmpCachedResourceRequestHandler ncmpCachedResourceRequestHandler;
     private final NcmpPassthroughResourceRequestHandler ncmpPassthroughResourceRequestHandler;
-    private final ResourceDataBatchRequestMapper resourceDataBatchRequestMapper;
+    private final DataOperationRequestMapper dataOperationRequestMapper;
 
     /**
      * Get resource data from datastore.
@@ -105,11 +105,11 @@ public class NetworkCmProxyController implements NetworkCmProxyApi {
     }
 
     @Override
-    public ResponseEntity<Object> getResourceDataForCmHandleBatch(final String topicParamInQuery,
-                                                                  final ResourceDataBatchRequest
-                                                                          resourceDataBatchRequest) {
+    public ResponseEntity<Object> executeDataOperationForCmHandles(final String topicParamInQuery,
+                                                                  final DataOperationRequest
+                                                                          dataOperationRequest) {
         return ncmpPassthroughResourceRequestHandler.executeRequest(topicParamInQuery,
-                resourceDataBatchRequestMapper.toResourceDataBatchRequest(resourceDataBatchRequest));
+                dataOperationRequestMapper.toDataOperationRequest(dataOperationRequest));
     }
 
     /**
index a8ca13a..101be45 100644 (file)
@@ -31,7 +31,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.onap.cps.ncmp.api.impl.exception.InvalidDatastoreException;
 import org.onap.cps.ncmp.api.impl.operations.DatastoreType;
 import org.onap.cps.ncmp.api.impl.operations.OperationType;
-import org.onap.cps.ncmp.api.models.ResourceDataBatchRequest;
+import org.onap.cps.ncmp.api.models.DataOperationRequest;
 import org.onap.cps.ncmp.rest.exceptions.OperationNotSupportedException;
 import org.onap.cps.ncmp.rest.executor.CpsNcmpTaskExecutor;
 import org.onap.cps.ncmp.rest.util.TopicValidator;
@@ -105,21 +105,21 @@ public class NcmpDatastoreRequestHandler implements TaskManagementDefaultHandler
     }
 
     /**
-     * Executes asynchronous request for batch of cm handles to resource data.
+     * Executes asynchronous request for group of cm handles to resource data.
      *
      * @param topicParamInQuery        the topic param in query
-     * @param resourceDataBatchRequest batch request details for resource data
+     * @param dataOperationRequest     data operation request details for resource data
      * @return the response entity
      */
     public ResponseEntity<Object> executeRequest(final String topicParamInQuery,
-                                                 final ResourceDataBatchRequest
-                                                         resourceDataBatchRequest) {
-        validateBatchRequest(topicParamInQuery, resourceDataBatchRequest);
+                                                 final DataOperationRequest
+                                                         dataOperationRequest) {
+        validateDataOperationRequest(topicParamInQuery, dataOperationRequest);
         if (!notificationFeatureEnabled) {
             return ResponseEntity.ok(Map.of("status",
                     "Asynchronous request is unavailable as notification feature is currently disabled."));
         }
-        return getRequestIdAndSendBatchRequestToDmiService(topicParamInQuery, resourceDataBatchRequest);
+        return getRequestIdAndSendDataOperationRequestToDmiService(topicParamInQuery, dataOperationRequest);
     }
 
     protected ResponseEntity<Object> executeTaskAsync(final String topicParamInQuery,
@@ -152,27 +152,27 @@ public class NcmpDatastoreRequestHandler implements TaskManagementDefaultHandler
         return executeTaskAsync(topicParamInQuery, requestId, taskSupplier);
     }
 
-    private ResponseEntity<Object> getRequestIdAndSendBatchRequestToDmiService(final String topicParamInQuery,
-                                                                               final ResourceDataBatchRequest
-                                                                                       resourceDataBatchRequest) {
+    private ResponseEntity<Object> getRequestIdAndSendDataOperationRequestToDmiService(final String topicParamInQuery,
+                                                                                       final DataOperationRequest
+                                                                                       dataOperationRequest) {
         final String requestId = UUID.randomUUID().toString();
-        sendResourceDataBatchRequestAsynchronously(topicParamInQuery, resourceDataBatchRequest, requestId);
+        sendDataOperationRequestAsynchronously(topicParamInQuery, dataOperationRequest, requestId);
         return ResponseEntity.ok(Map.of("requestId", requestId));
     }
 
-    private void validateBatchRequest(final String topicParamInQuery,
-                                      final ResourceDataBatchRequest
-                                              resourceDataBatchRequest) {
+    private void validateDataOperationRequest(final String topicParamInQuery,
+                                              final DataOperationRequest
+                                              dataOperationRequest) {
         TopicValidator.validateTopicName(topicParamInQuery);
-        resourceDataBatchRequest.getBatchOperationDefinitions().forEach(batchOperationDetail -> {
-            if (OperationType.fromOperationName(batchOperationDetail.getOperation()) != READ) {
+        dataOperationRequest.getDataOperationDefinitions().forEach(dataOperationDetail -> {
+            if (OperationType.fromOperationName(dataOperationDetail.getOperation()) != READ) {
                 throw new OperationNotSupportedException(
-                        batchOperationDetail.getOperation() + " operation not yet supported for target ids :"
-                                + batchOperationDetail.getCmHandleIds());
-            } else if (DatastoreType.fromDatastoreName(batchOperationDetail.getDatastore()) == OPERATIONAL) {
-                throw new InvalidDatastoreException(batchOperationDetail.getDatastore()
+                        dataOperationDetail.getOperation() + " operation not yet supported for target ids :"
+                                + dataOperationDetail.getCmHandleIds());
+            } else if (DatastoreType.fromDatastoreName(dataOperationDetail.getDatastore()) == OPERATIONAL) {
+                throw new InvalidDatastoreException(dataOperationDetail.getDatastore()
                         + " datastore is not supported for target ids : "
-                        + batchOperationDetail.getCmHandleIds());
+                        + dataOperationDetail.getCmHandleIds());
             }
         });
     }
index 5c35818..0e49c6d 100644 (file)
@@ -22,7 +22,7 @@ package org.onap.cps.ncmp.rest.controller.handlers;
 
 import java.util.function.Supplier;
 import org.onap.cps.ncmp.api.NetworkCmProxyDataService;
-import org.onap.cps.ncmp.api.models.ResourceDataBatchRequest;
+import org.onap.cps.ncmp.api.models.DataOperationRequest;
 import org.onap.cps.ncmp.rest.executor.CpsNcmpTaskExecutor;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
@@ -59,11 +59,11 @@ public class NcmpPassthroughResourceRequestHandler extends NcmpDatastoreRequestH
 
     @Async
     @Override
-    public void sendResourceDataBatchRequestAsynchronously(final String topicParamInQuery,
-                                                           final ResourceDataBatchRequest
-                                                                  resourceDataBatchRequest,
-                                                           final String requestId) {
-        networkCmProxyDataService.requestResourceDataForCmHandleBatch(topicParamInQuery, resourceDataBatchRequest,
+    public void sendDataOperationRequestAsynchronously(final String topicParamInQuery,
+                                                       final DataOperationRequest
+                                                                   dataOperationRequest,
+                                                       final String requestId) {
+        networkCmProxyDataService.executeDataOperationForCmHandles(topicParamInQuery, dataOperationRequest,
                 requestId);
 
     }
index 937935b..b2520b1 100644 (file)
@@ -21,7 +21,7 @@
 package org.onap.cps.ncmp.rest.controller.handlers;
 
 import java.util.function.Supplier;
-import org.onap.cps.ncmp.api.models.ResourceDataBatchRequest;
+import org.onap.cps.ncmp.api.models.DataOperationRequest;
 import org.onap.cps.spi.FetchDescendantsOption;
 
 public interface TaskManagementDefaultHandler {
@@ -46,10 +46,10 @@ public interface TaskManagementDefaultHandler {
         return NO_OBJECT_SUPPLIER;
     }
 
-    default void sendResourceDataBatchRequestAsynchronously(final String topicParamInQuery,
-                                                            final ResourceDataBatchRequest
-                                                                    resourceDataBatchRequest,
-                                                            final String requestId) {
+    default void sendDataOperationRequestAsynchronously(final String topicParamInQuery,
+                                                        final DataOperationRequest
+                                                                    dataOperationRequest,
+                                                        final String requestId) {
     }
 
     static FetchDescendantsOption getFetchDescendantsOption(final boolean includeDescendants) {
@@ -24,18 +24,18 @@ import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
 import org.mapstruct.NullValueCheckStrategy;
 import org.mapstruct.NullValuePropertyMappingStrategy;
-import org.onap.cps.ncmp.api.models.BatchOperationDefinition;
-import org.onap.cps.ncmp.api.models.ResourceDataBatchRequest;
+import org.onap.cps.ncmp.api.models.DataOperationDefinition;
+import org.onap.cps.ncmp.api.models.DataOperationRequest;
 
 @Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS,
         nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.SET_TO_DEFAULT)
-public interface ResourceDataBatchRequestMapper {
+public interface DataOperationRequestMapper {
 
-    @Mapping(source = "operations", target = "batchOperationDefinitions")
-    ResourceDataBatchRequest toResourceDataBatchRequest(
-            org.onap.cps.ncmp.rest.model.ResourceDataBatchRequest resourceDataBatchRequest);
+    @Mapping(source = "operations", target = "dataOperationDefinitions")
+    DataOperationRequest toDataOperationRequest(
+            org.onap.cps.ncmp.rest.model.DataOperationRequest dataOperationRequest);
 
     @Mapping(source = "targetIds", target = "cmHandleIds")
-    BatchOperationDefinition toBatchOperationDefinition(
-            org.onap.cps.ncmp.rest.model.BatchOperationDefinition batchOperationDefinition);
+    DataOperationDefinition toDataOperationDefinition(
+            org.onap.cps.ncmp.rest.model.DataOperationDefinition dataOperationDefinition);
 }
index 31e83aa..4ee31e1 100644 (file)
@@ -32,14 +32,14 @@ import org.onap.cps.ncmp.api.inventory.CmHandleState
 import org.onap.cps.ncmp.api.inventory.CompositeState
 import org.onap.cps.ncmp.api.inventory.DataStoreSyncState
 import org.onap.cps.ncmp.api.inventory.LockReasonCategory
-import org.onap.cps.ncmp.rest.model.BatchOperationDefinition
+import org.onap.cps.ncmp.rest.model.DataOperationRequest
+import org.onap.cps.ncmp.rest.model.DataOperationDefinition
 import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle
 import org.onap.cps.ncmp.rest.controller.handlers.NcmpCachedResourceRequestHandler
 import org.onap.cps.ncmp.rest.controller.handlers.NcmpPassthroughResourceRequestHandler
 import org.onap.cps.ncmp.rest.executor.CpsNcmpTaskExecutor
 import org.onap.cps.ncmp.rest.mapper.CmHandleStateMapper
-import org.onap.cps.ncmp.rest.mapper.ResourceDataBatchRequestMapper
-import org.onap.cps.ncmp.rest.model.ResourceDataBatchRequest
+import org.onap.cps.ncmp.rest.mapper.DataOperationRequestMapper
 import org.onap.cps.ncmp.rest.util.DeprecationHelper
 import org.onap.cps.spi.FetchDescendantsOption
 import org.onap.cps.spi.model.ModuleDefinition
@@ -101,7 +101,7 @@ class NetworkCmProxyControllerSpec extends Specification {
     CmHandleStateMapper cmHandleStateMapper = Mappers.getMapper(CmHandleStateMapper)
 
     @SpringBean
-    ResourceDataBatchRequestMapper resourceDataBatchRequestMapper = Mappers.getMapper(ResourceDataBatchRequestMapper)
+    DataOperationRequestMapper dataOperationRequestMapper = Mappers.getMapper(DataOperationRequestMapper)
 
     @SpringBean
     CpsNcmpTaskExecutor spiedCpsTaskExecutor = Spy()
@@ -205,18 +205,18 @@ class NetworkCmProxyControllerSpec extends Specification {
             'invalid non-empty topic value in url' | 'passthrough-operational' | '&topic=1_5_*_#'
     }
 
-    def 'Get (async) batch resource data from dmi service.'() {
-        given: 'batch resource data url'
+    def 'Execute (async) data operation to read data from dmi service.'() {
+        given: 'data operation url'
             def getUrl = "$ncmpBasePathV1/data?topic=my-topic-name"
-            def resourceDataBatchRequestJsonData = jsonObjectMapper.asJsonString(
-                    getResourceDataBatchRequest("read", datastore.datastoreName))
-            def expectedDmiResourceDataBatchRequest
-                    = jsonObjectMapper.convertJsonString(resourceDataBatchRequestJsonData, org.onap.cps.ncmp.api.models.ResourceDataBatchRequest.class)
-        when: 'post data resource request is performed'
+            def dataOperationRequestJsonData = jsonObjectMapper.asJsonString(
+                    getDataOperationRequest("read", datastore.datastoreName))
+            def expectedDmiDataOperationRequest
+                    = jsonObjectMapper.convertJsonString(dataOperationRequestJsonData, org.onap.cps.ncmp.api.models.DataOperationRequest.class)
+        when: 'post data operation request is performed'
             def response = mvc.perform(
                     post(getUrl)
                             .contentType(MediaType.APPLICATION_JSON)
-                            .content(resourceDataBatchRequestJsonData)
+                            .content(dataOperationRequestJsonData)
             ).andReturn().response
         then: 'response status is Ok'
             response.status == HttpStatus.OK.value()
@@ -225,21 +225,21 @@ class NetworkCmProxyControllerSpec extends Specification {
         then: 'wait a little to allow execution of service method by task executor (on separate thread)'
             Thread.sleep(100)
         then: 'the service has been invoked with the correct parameters '
-            1 * mockNetworkCmProxyDataService.requestResourceDataForCmHandleBatch('my-topic-name', expectedDmiResourceDataBatchRequest, _)
+            1 * mockNetworkCmProxyDataService.executeDataOperationForCmHandles('my-topic-name', expectedDmiDataOperationRequest, _)
         where: 'the following data stores are used'
             datastore << [PASSTHROUGH_RUNNING, PASSTHROUGH_OPERATIONAL]
     }
 
-    def 'Get batch resource data for #scenario from dmi service.'() {
-        given: 'batch resource data url'
+    def 'Execute (async) data operation for #scenario from dmi service.'() {
+        given: 'data operation url'
             def getUrl = "$ncmpBasePathV1/data?topic=my-topic-name"
-            def resourceDataBatchRequestJsonData = jsonObjectMapper.asJsonString(
-                    getResourceDataBatchRequest(operation, datastore))
+            def dataOperationRequestJsonData = jsonObjectMapper.asJsonString(
+                    getDataOperationRequest(operation, datastore))
         when: 'post data resource request is performed'
             def response = mvc.perform(
                     post(getUrl)
                             .contentType(MediaType.APPLICATION_JSON)
-                            .content(resourceDataBatchRequestJsonData)
+                            .content(dataOperationRequestJsonData)
             ).andReturn().response
         then: 'response status is BAD_REQUEST'
             response.status == HttpStatus.BAD_REQUEST.value()
@@ -250,17 +250,17 @@ class NetworkCmProxyControllerSpec extends Specification {
             'non-supported operation (passthrough-operational)' | PASSTHROUGH_OPERATIONAL.datastoreName | 'create'
     }
 
-    def 'Get batch resource data when notification feature is disabled for datastore: #datastore.'() {
-        given: 'batch resource data url'
+    def 'Get data operation resource data when notification feature is disabled for datastore: #datastore.'() {
+        given: 'data operation url'
             def getUrl = "$ncmpBasePathV1/data?topic=my-topic-name"
-            def resourceDataBatchRequestJsonData = jsonObjectMapper.asJsonString(
-                    getResourceDataBatchRequest("read", datastore.datastoreName))
+            def dataOperationRequestJsonData = jsonObjectMapper.asJsonString(
+                    getDataOperationRequest("read", datastore.datastoreName))
             ncmpPassthroughResourceRequestHandler.notificationFeatureEnabled = false
         when: 'post data resource request is performed'
             def response = mvc.perform(
                     post(getUrl)
                             .contentType(MediaType.APPLICATION_JSON)
-                            .content(resourceDataBatchRequestJsonData)
+                            .content(dataOperationRequestJsonData)
             ).andReturn().response
         then: 'response status is Ok'
             response.status == HttpStatus.OK.value()
@@ -686,22 +686,23 @@ class NetworkCmProxyControllerSpec extends Specification {
         return assertContainsAll(response, expectedContent)
     }
 
-    def getResourceDataBatchRequest(operation, datastore) {
-        def resourceDataBatchRequest = new ResourceDataBatchRequest()
-        def batchOperationDefinitions = new ArrayList()
-        batchOperationDefinitions.add(getBatchOperationDefinition(operation, datastore))
-        resourceDataBatchRequest.addOperationsItem(batchOperationDefinitions)
+    def getDataOperationRequest(operation, datastore) {
+        def dataOperationRequest = new DataOperationRequest()
+        def dataOperationDefinitions = new ArrayList()
+        dataOperationDefinitions.add(getDataOperationDefinition(operation, datastore))
+        dataOperationRequest.addOperationsItem(dataOperationDefinitions)
+        return dataOperationRequest
     }
 
-    def getBatchOperationDefinition(operation, datastore) {
-        def batchOperationDefinition = new BatchOperationDefinition()
-        batchOperationDefinition.setOperation(operation)
-        batchOperationDefinition.setOperationId("operational-12")
-        batchOperationDefinition.setDatastore(datastore)
-        batchOperationDefinition.setOptions("some option")
-        batchOperationDefinition.setResourceIdentifier("some resource identifier")
-        batchOperationDefinition.addTargetIdsItem("some-cm-handle")
-        return batchOperationDefinition
+    def getDataOperationDefinition(operation, datastore) {
+        def dataOperationDefinition = new DataOperationDefinition()
+        dataOperationDefinition.setOperation(operation)
+        dataOperationDefinition.setOperationId("operational-12")
+        dataOperationDefinition.setDatastore(datastore)
+        dataOperationDefinition.setOptions("some option")
+        dataOperationDefinition.setResourceIdentifier("some resource identifier")
+        dataOperationDefinition.addTargetIdsItem("some-cm-handle")
+        return dataOperationDefinition
     }
 
 }
index a3afc55..6dc537c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *  ============LICENSE_START=======================================================
  *  Copyright (C) 2021 highstreet technologies GmbH
- *  Modifications Copyright (C) 2021-2022 Nordix Foundation
+ *  Modifications Copyright (C) 2021-2023 Nordix Foundation
  *  ================================================================================
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
@@ -33,7 +33,7 @@ import org.onap.cps.ncmp.rest.controller.handlers.NcmpCachedResourceRequestHandl
 import org.onap.cps.ncmp.rest.controller.handlers.NcmpPassthroughResourceRequestHandler
 import org.onap.cps.ncmp.rest.executor.CpsNcmpTaskExecutor
 import org.onap.cps.ncmp.rest.mapper.CmHandleStateMapper
-import org.onap.cps.ncmp.rest.mapper.ResourceDataBatchRequestMapper
+import org.onap.cps.ncmp.rest.mapper.DataOperationRequestMapper
 import org.onap.cps.ncmp.rest.util.DeprecationHelper
 import org.onap.cps.spi.exceptions.AlreadyDefinedException
 import org.onap.cps.spi.exceptions.AlreadyDefinedExceptionBatch
@@ -76,7 +76,7 @@ class NetworkCmProxyRestExceptionHandlerSpec extends Specification {
     CmHandleStateMapper cmHandleStateMapper = Mappers.getMapper(CmHandleStateMapper)
 
     @SpringBean
-    ResourceDataBatchRequestMapper resourceDataBatchRequestMapper = Mappers.getMapper(ResourceDataBatchRequestMapper)
+    DataOperationRequestMapper dataOperationRequestMapper = Mappers.getMapper(DataOperationRequestMapper)
 
     @SpringBean
     CpsNcmpTaskExecutor stubbedCpsTaskExecutor = Stub()
index 046c788..e20780b 100644 (file)
@@ -29,10 +29,10 @@ import org.onap.cps.ncmp.api.impl.operations.OperationType;
 import org.onap.cps.ncmp.api.inventory.CompositeState;
 import org.onap.cps.ncmp.api.models.CmHandleQueryApiParameters;
 import org.onap.cps.ncmp.api.models.CmHandleQueryServiceParameters;
+import org.onap.cps.ncmp.api.models.DataOperationRequest;
 import org.onap.cps.ncmp.api.models.DmiPluginRegistration;
 import org.onap.cps.ncmp.api.models.DmiPluginRegistrationResponse;
 import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle;
-import org.onap.cps.ncmp.api.models.ResourceDataBatchRequest;
 import org.onap.cps.spi.FetchDescendantsOption;
 import org.onap.cps.spi.model.ModuleDefinition;
 import org.onap.cps.spi.model.ModuleReference;
@@ -83,15 +83,15 @@ public interface NetworkCmProxyDataService {
                                       FetchDescendantsOption fetchDescendantsOption);
 
     /**
-     * Get resource data for batch of cm handles using dmi.
+     * Execute (async) data operation for group of cm handles using dmi.
      *
      * @param topicParamInQuery        topic name for (triggering) async responses
-     * @param resourceDataBatchRequest cm handle identifiers
+     * @param dataOperationRequest     cm handle identifiers
      */
-    void requestResourceDataForCmHandleBatch(String topicParamInQuery,
-                                         ResourceDataBatchRequest
-                                                 resourceDataBatchRequest,
-                                         String requestId);
+    void executeDataOperationForCmHandles(String topicParamInQuery,
+                                          DataOperationRequest
+                                                            dataOperationRequest,
+                                          String requestId);
 
 
     /**
index 536775e..2e9d7c2 100755 (executable)
@@ -60,10 +60,10 @@ import org.onap.cps.ncmp.api.models.CmHandleQueryApiParameters;
 import org.onap.cps.ncmp.api.models.CmHandleQueryServiceParameters;
 import org.onap.cps.ncmp.api.models.CmHandleRegistrationResponse;
 import org.onap.cps.ncmp.api.models.CmHandleRegistrationResponse.RegistrationError;
+import org.onap.cps.ncmp.api.models.DataOperationRequest;
 import org.onap.cps.ncmp.api.models.DmiPluginRegistration;
 import org.onap.cps.ncmp.api.models.DmiPluginRegistrationResponse;
 import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle;
-import org.onap.cps.ncmp.api.models.ResourceDataBatchRequest;
 import org.onap.cps.spi.FetchDescendantsOption;
 import org.onap.cps.spi.exceptions.AlreadyDefinedExceptionBatch;
 import org.onap.cps.spi.exceptions.CpsException;
@@ -139,11 +139,11 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService
     }
 
     @Override
-    public void requestResourceDataForCmHandleBatch(final String topicParamInQuery,
-                                                final ResourceDataBatchRequest
-                                                        resourceDataBatchRequest,
-                                                final String requestId) {
-        dmiDataOperations.requestResourceDataFromDmi(topicParamInQuery, resourceDataBatchRequest, requestId);
+    public void executeDataOperationForCmHandles(final String topicParamInQuery,
+                                                 final DataOperationRequest
+                                                         dataOperationRequest,
+                                                 final String requestId) {
+        dmiDataOperations.requestResourceDataFromDmi(topicParamInQuery, dataOperationRequest, requestId);
     }
 
     @Override
index 76ad0f7..512c3bc 100644 (file)
@@ -27,7 +27,7 @@ import java.util.ArrayList;
 import java.util.List;
 import lombok.Builder;
 import lombok.Getter;
-import org.onap.cps.ncmp.api.models.BatchOperationDefinition;
+import org.onap.cps.ncmp.api.models.DataOperationDefinition;
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
 @Getter
@@ -45,20 +45,20 @@ public class DmiBatchOperation {
     private final List<CmHandle> cmHandles = new ArrayList<>();
 
     /**
-     * Create and initialise a (outgoing) DMI batch operation.
+     * Create and initialise a (outgoing) DMI data operation.
      *
-     * @param batchOperationDefinition batchOperationDefinition definition of incoming of batch request
+     * @param dataOperationDefinition  definition of incoming of dataOperation request
      * @return mapped dmi operation details
      */
     public static DmiBatchOperation buildDmiBatchRequestBodyWithoutCmHandles(
-            final BatchOperationDefinition batchOperationDefinition) {
+            final DataOperationDefinition dataOperationDefinition) {
 
         return DmiBatchOperation.builder()
-                .operationType(OperationType.fromOperationName(batchOperationDefinition.getOperation()))
-                .operationId(batchOperationDefinition.getOperationId())
-                .datastore(DatastoreType.fromDatastoreName(batchOperationDefinition.getDatastore()).getDatastoreName())
-                .options(batchOperationDefinition.getOptions())
-                .resourceIdentifier(batchOperationDefinition.getResourceIdentifier())
+                .operationType(OperationType.fromOperationName(dataOperationDefinition.getOperation()))
+                .operationId(dataOperationDefinition.getOperationId())
+                .datastore(DatastoreType.fromDatastoreName(dataOperationDefinition.getDatastore()).getDatastoreName())
+                .options(dataOperationDefinition.getOptions())
+                .resourceIdentifier(dataOperationDefinition.getResourceIdentifier())
                 .build();
     }
 }
index 3e8d40a..adf634d 100644 (file)
@@ -38,7 +38,7 @@ import org.onap.cps.ncmp.api.impl.utils.ResourceDataBatchRequestUtils;
 import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle;
 import org.onap.cps.ncmp.api.inventory.CmHandleState;
 import org.onap.cps.ncmp.api.inventory.InventoryPersistence;
-import org.onap.cps.ncmp.api.models.ResourceDataBatchRequest;
+import org.onap.cps.ncmp.api.models.DataOperationRequest;
 import org.onap.cps.spi.exceptions.CpsException;
 import org.onap.cps.utils.JsonObjectMapper;
 import org.springframework.http.ResponseEntity;
@@ -118,21 +118,21 @@ public class DmiDataOperations extends DmiOperations {
      * The data wil be returned as message on the topic specified.
      *
      * @param topicParamInQuery        topic name for (triggering) async responses
-     * @param resourceDataBatchRequest batch request for resource data
+     * @param dataOperationRequest     data operation request to execute operations
      * @param requestId                requestId for as a response
      */
     public void requestResourceDataFromDmi(final String topicParamInQuery,
-                                           final ResourceDataBatchRequest resourceDataBatchRequest,
+                                           final DataOperationRequest dataOperationRequest,
                                            final String requestId)  {
 
         final Set<String> cmHandlesIds
-                = getDistinctCmHandleIdsFromBatchRequest(resourceDataBatchRequest);
+                = getDistinctCmHandleIdsFromDataOperationRequest(dataOperationRequest);
 
         final Collection<YangModelCmHandle> yangModelCmHandles
                 = getYangModelCmHandlesInReadyState(cmHandlesIds);
 
         final Map<String, List<DmiBatchOperation>> operationsOutPerDmiServiceName
-                = ResourceDataBatchRequestUtils.processPerOperationInBatchRequest(resourceDataBatchRequest,
+                = ResourceDataBatchRequestUtils.processPerOperationInBatchRequest(dataOperationRequest,
                 yangModelCmHandles);
 
         buildBatchRequestUrlAndSendToDmiService(topicParamInQuery, requestId, operationsOutPerDmiServiceName);
@@ -214,11 +214,11 @@ public class DmiDataOperations extends DmiOperations {
         }
     }
 
-    private static Set<String> getDistinctCmHandleIdsFromBatchRequest(final ResourceDataBatchRequest
-                                                                              resourceDataBatchRequest) {
-        return resourceDataBatchRequest.getBatchOperationDefinitions().stream()
-                .flatMap(batchOperationDefinition ->
-                        batchOperationDefinition.getCmHandleIds().stream()).collect(Collectors.toSet());
+    private static Set<String> getDistinctCmHandleIdsFromDataOperationRequest(final DataOperationRequest
+                                                                              dataOperationRequest) {
+        return dataOperationRequest.getDataOperationDefinitions().stream()
+                .flatMap(dataOperationDefinition ->
+                        dataOperationDefinition.getCmHandleIds().stream()).collect(Collectors.toSet());
     }
 
     private Collection<YangModelCmHandle> getYangModelCmHandlesInReadyState(final Set<String> requestedCmHandleIds) {
index e4c9bfb..f0d0255 100644 (file)
@@ -33,8 +33,8 @@ import lombok.extern.slf4j.Slf4j;
 import org.onap.cps.ncmp.api.impl.operations.CmHandle;
 import org.onap.cps.ncmp.api.impl.operations.DmiBatchOperation;
 import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle;
-import org.onap.cps.ncmp.api.models.BatchOperationDefinition;
-import org.onap.cps.ncmp.api.models.ResourceDataBatchRequest;
+import org.onap.cps.ncmp.api.models.DataOperationDefinition;
+import org.onap.cps.ncmp.api.models.DataOperationRequest;
 
 @Slf4j
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
@@ -45,13 +45,13 @@ public class ResourceDataBatchRequestUtils {
     /**
      * Create a list of DMI batch operation per DMI service (name).
      *
-     * @param resourceDataBatchRequestIn incoming batch request details for resource data
-     * @param yangModelCmHandles involved cm handles represented as YangModelCmHandle (incl. metadata)
+     * @param dataOperationRequestIn incoming data operation request details
+     * @param yangModelCmHandles     involved cm handles represented as YangModelCmHandle (incl. metadata)
      *
      * @return {@code Map<String, List<DmiBatchOperation>>} Create a list of DMI batch operation per DMI service (name).
      */
     public static Map<String, List<DmiBatchOperation>> processPerOperationInBatchRequest(
-            final ResourceDataBatchRequest resourceDataBatchRequestIn,
+            final DataOperationRequest dataOperationRequestIn,
             final Collection<YangModelCmHandle> yangModelCmHandles) {
 
         final Map<String, Map<String, Map<String, String>>> dmiPropertiesPerCmHandleIdPerServiceName =
@@ -62,9 +62,9 @@ public class ResourceDataBatchRequestUtils {
 
         final Map<String, List<DmiBatchOperation>> dmiBatchOperationsOutPerDmiServiceName = new HashMap<>();
 
-        for (final BatchOperationDefinition batchOperationDefinitionIn :
-            resourceDataBatchRequestIn.getBatchOperationDefinitions()) {
-            for (final String cmHandleId : batchOperationDefinitionIn.getCmHandleIds()) {
+        for (final DataOperationDefinition dataOperationDefinitionIn :
+            dataOperationRequestIn.getDataOperationDefinitions()) {
+            for (final String cmHandleId : dataOperationDefinitionIn.getCmHandleIds()) {
                 final String dmiServiceName = dmiServiceNamesPerCmHandleId.get(cmHandleId);
                 final Map<String, String> cmHandleIdProperties
                         = dmiPropertiesPerCmHandleIdPerServiceName.get(dmiServiceName).get(cmHandleId);
@@ -72,7 +72,7 @@ public class ResourceDataBatchRequestUtils {
                     publishErrorMessageToClientTopic(cmHandleId);
                 } else {
                     final DmiBatchOperation dmiBatchOperationOut = getOrAddDmiBatchOperation(dmiServiceName,
-                        batchOperationDefinitionIn, dmiBatchOperationsOutPerDmiServiceName);
+                            dataOperationDefinitionIn, dmiBatchOperationsOutPerDmiServiceName);
                     final CmHandle cmHandle = CmHandle.buildCmHandleWithProperties(cmHandleId, cmHandleIdProperties);
                     dmiBatchOperationOut.getCmHandles().add(cmHandle);
                 }
@@ -104,8 +104,8 @@ public class ResourceDataBatchRequestUtils {
     }
 
     private static DmiBatchOperation getOrAddDmiBatchOperation(final String dmiServiceName,
-                                                               final BatchOperationDefinition
-                                                                       batchOperationDefinitionIn,
+                                                               final DataOperationDefinition
+                                                                       dataOperationDefinitionIn,
                                                                final Map<String, List<DmiBatchOperation>>
                                                                        dmiBatchOperationsOutPerDmiServiceName) {
         dmiBatchOperationsOutPerDmiServiceName
@@ -114,10 +114,10 @@ public class ResourceDataBatchRequestUtils {
                 = dmiBatchOperationsOutPerDmiServiceName.get(dmiServiceName);
         final boolean isNewOperation = dmiBatchOperationsOut.isEmpty()
                 || !dmiBatchOperationsOut.get(dmiBatchOperationsOut.size() - 1).getOperationId()
-                .equals(batchOperationDefinitionIn.getOperationId());
+                .equals(dataOperationDefinitionIn.getOperationId());
         if (isNewOperation) {
             final DmiBatchOperation newDmiBatchOperationOut =
-                    DmiBatchOperation.buildDmiBatchRequestBodyWithoutCmHandles(batchOperationDefinitionIn);
+                    DmiBatchOperation.buildDmiBatchRequestBodyWithoutCmHandles(dataOperationDefinitionIn);
             dmiBatchOperationsOut.add(newDmiBatchOperationOut);
             return newDmiBatchOperationOut;
         }
@@ -35,7 +35,7 @@ import lombok.Setter;
 @EqualsAndHashCode
 @JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown = true)
-public class BatchOperationDefinition {
+public class DataOperationDefinition {
 
     private String operation;
     private String operationId;
@@ -45,5 +45,5 @@ public class BatchOperationDefinition {
 
     @JsonProperty("targetIds")
     @Valid
-    private List<String> cmHandleIds = new ArrayList();
+    private List<String> cmHandleIds = new ArrayList<>();
 }
@@ -35,9 +35,9 @@ import lombok.Setter;
 @EqualsAndHashCode
 @JsonInclude(JsonInclude.Include.NON_EMPTY)
 @JsonIgnoreProperties(ignoreUnknown = true)
-public class ResourceDataBatchRequest {
+public class DataOperationRequest {
 
     @JsonProperty("operations")
     @Valid
-    private List<BatchOperationDefinition> batchOperationDefinitions = Collections.emptyList();
+    private List<DataOperationDefinition> dataOperationDefinitions = Collections.emptyList();
 }
index 79f7e50..af2b80f 100644 (file)
@@ -33,13 +33,13 @@ import org.onap.cps.ncmp.api.inventory.CompositeState
 import org.onap.cps.ncmp.api.inventory.InventoryPersistence
 import org.onap.cps.ncmp.api.inventory.LockReasonCategory
 import org.onap.cps.ncmp.api.inventory.DataStoreSyncState
-import org.onap.cps.ncmp.api.models.BatchOperationDefinition
+import org.onap.cps.ncmp.api.models.DataOperationDefinition
 import org.onap.cps.ncmp.api.models.CmHandleQueryApiParameters
 import org.onap.cps.ncmp.api.models.CmHandleQueryServiceParameters
 import org.onap.cps.ncmp.api.models.ConditionApiProperties
 import org.onap.cps.ncmp.api.models.DmiPluginRegistration
 import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle
-import org.onap.cps.ncmp.api.models.ResourceDataBatchRequest
+import org.onap.cps.ncmp.api.models.DataOperationRequest
 import org.onap.cps.spi.exceptions.CpsException
 import org.onap.cps.spi.model.ConditionProperties
 import spock.lang.Shared
@@ -135,13 +135,13 @@ class NetworkCmProxyDataServiceImplSpec extends Specification {
             response == '{dmi-response}'
     }
 
-    def 'Get batch resource data for #datastoreName from DMI.'() {
+    def 'Execute (async) data operation for #datastoreName from DMI.'() {
         given: 'cpsDataService returns valid data node'
-            def resourceDataBatchRequest = getResourceDataBatchRequest(datastoreName)
-        when: 'get batch resource data is called'
-            objectUnderTest.requestResourceDataForCmHandleBatch('some topic', resourceDataBatchRequest, 'requestId')
-        then: 'get batch resource data returns expected response'
-            1 * mockDmiDataOperations.requestResourceDataFromDmi('some topic', resourceDataBatchRequest, 'requestId')
+            def dataOperationRequest = getDataOperationRequest(datastoreName)
+        when: 'request resource data for data operation is called'
+            objectUnderTest.executeDataOperationForCmHandles('some topic', dataOperationRequest, 'requestId')
+        then: 'request resource data for data operation returns expected response'
+            1 * mockDmiDataOperations.requestResourceDataFromDmi('some topic', dataOperationRequest, 'requestId')
         where: 'the following data stores are used'
             datastoreName << [PASSTHROUGH_RUNNING.datastoreName, PASSTHROUGH_OPERATIONAL.datastoreName]
     }
@@ -368,21 +368,22 @@ class NetworkCmProxyDataServiceImplSpec extends Specification {
                 cmHandleXPath, FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS) >> dataNode
     }
 
-    def getResourceDataBatchRequest(datastore) {
-        def resourceDataBatchRequest = new ResourceDataBatchRequest()
-        def batchOperationDefinitions = new ArrayList()
-        batchOperationDefinitions.add(getBatchOperationDefinition(datastore))
-        resourceDataBatchRequest.setBatchOperationDefinitions(batchOperationDefinitions)
+    def getDataOperationRequest(datastore) {
+        def dataOperationRequest = new DataOperationRequest()
+        def dataOperationDefinitions = new ArrayList()
+        dataOperationDefinitions.add(getDataOperationDefinition(datastore))
+        dataOperationRequest.setDataOperationDefinitions(dataOperationDefinitions)
+        return dataOperationRequest
     }
 
-    def getBatchOperationDefinition(datastore) {
-        def batchOperationDefinition = new BatchOperationDefinition()
-        batchOperationDefinition.setOperation("read")
-        batchOperationDefinition.setOperationId("operational-12")
-        batchOperationDefinition.setDatastore(datastore)
+    def getDataOperationDefinition(datastore) {
+        def dataOperationDefinition = new DataOperationDefinition()
+        dataOperationDefinition.setOperation("read")
+        dataOperationDefinition.setOperationId("operational-12")
+        dataOperationDefinition.setDatastore(datastore)
         def targetIds = new ArrayList()
         targetIds.add("some-cm-handle")
-        batchOperationDefinition.setCmHandleIds(targetIds)
-        return batchOperationDefinition
+        dataOperationDefinition.setCmHandleIds(targetIds)
+        return dataOperationDefinition
     }
 }
index 9343666..be178e1 100644 (file)
@@ -24,7 +24,7 @@ package org.onap.cps.ncmp.api.impl.operations
 import com.fasterxml.jackson.databind.ObjectMapper
 import org.onap.cps.ncmp.api.impl.config.NcmpConfiguration
 import org.onap.cps.ncmp.api.impl.utils.DmiServiceUrlBuilder
-import org.onap.cps.ncmp.api.models.ResourceDataBatchRequest
+import org.onap.cps.ncmp.api.models.DataOperationRequest
 import org.onap.cps.ncmp.utils.TestUtils
 import org.onap.cps.utils.JsonObjectMapper
 import org.spockframework.spring.SpringBean
@@ -82,12 +82,12 @@ class DmiDataOperationsSpec extends DmiOperationsBaseSpec {
             'datastore running with properties'    | [yangModelCmHandleProperty] | PASSTHROUGH_RUNNING     | OPTIONS_PARAM || '{"operation":"read","cmHandleProperties":{"prop1":"val1"}}' | 'passthrough-running'     | '&options=(a=1,b=2)'
     }
 
-    def 'call get batch resource data from DMI service #scenario.'() {
-        given: 'collection of yang model cm Handles and resource data batch request'
+    def 'Execute (async) data operation from DMI service.'() {
+        given: 'collection of yang model cm Handles and data operation request'
             mockYangModelCmHandleCollectionRetrieval([yangModelCmHandleProperty])
-            def resourceDataBatchRequestJsonData = TestUtils.getResourceFileContent('resourceDataBatchRequest.json')
-            def resourceDataBatchRequest = spiedJsonObjectMapper.convertJsonString(resourceDataBatchRequestJsonData, ResourceDataBatchRequest.class)
-            resourceDataBatchRequest.batchOperationDefinitions[0].cmHandleIds = [cmHandleId]
+            def dataOperationBatchRequestJsonData = TestUtils.getResourceFileContent('dataOperationRequest.json')
+            def dataOperationRequest = spiedJsonObjectMapper.convertJsonString(dataOperationBatchRequestJsonData, DataOperationRequest.class)
+            dataOperationRequest.dataOperationDefinitions[0].cmHandleIds = [cmHandleId]
             def requestBodyAsJsonStringArg = null
         and: 'a positive response from DMI service when it is called with valid request parameters'
             def responseFromDmi = new ResponseEntity<Object>(HttpStatus.ACCEPTED)
@@ -95,8 +95,8 @@ class DmiDataOperationsSpec extends DmiOperationsBaseSpec {
             def expectedBatchRequestAsJson = '[{"operation":"read","operationId":"operational-14","datastore":"ncmp-datastore:passthrough-operational","options":"some option","resourceIdentifier":"some resource identifier","cmHandles":[{"id":"some-cm-handle","cmHandleProperties":{"prop1":"val1"}}]}]'
             mockDmiRestClient.postOperationWithJsonData(expectedDmiBatchResourceDataUrl, _, READ.operationName) >> responseFromDmi
             dmiServiceUrlBuilder.getBatchRequestUrl(_, _) >> expectedDmiBatchResourceDataUrl
-        when: 'get resource data for batch of cm handles are invoked'
-            objectUnderTest.requestResourceDataFromDmi('my-topic-name', resourceDataBatchRequest, 'requestId')
+        when: 'get resource data for group of cm handles are invoked'
+            objectUnderTest.requestResourceDataFromDmi('my-topic-name', dataOperationRequest, 'requestId')
         then: 'wait a little to allow execution of service method by task executor (on separate thread)'
             Thread.sleep(100)
         then: 'validate ncmp generated dmi request body json args'
@@ -24,36 +24,36 @@ import com.fasterxml.jackson.databind.ObjectMapper
 import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle
 import org.onap.cps.ncmp.api.inventory.CmHandleState
 import org.onap.cps.ncmp.api.inventory.CompositeStateBuilder
-import org.onap.cps.ncmp.api.models.ResourceDataBatchRequest
+import org.onap.cps.ncmp.api.models.DataOperationRequest
 import org.onap.cps.ncmp.utils.TestUtils
 import org.onap.cps.utils.JsonObjectMapper
 import org.spockframework.spring.SpringBean
 import spock.lang.Specification
 
-class ResourceDataBatchRequestUtilsSpec extends Specification {
+class DataOperationRequestUtilsSpec extends Specification {
 
     @SpringBean
     JsonObjectMapper jsonObjectMapper = new JsonObjectMapper(new ObjectMapper())
 
-    def 'Process per operation in batch request with #serviceName.'() {
-        given: 'batch request with 3 operations'
-            def resourceDataBatchRequestJsonData = TestUtils.getResourceFileContent('resourceDataBatchRequest.json')
-            def resourceDataBatchRequest = jsonObjectMapper.convertJsonString(resourceDataBatchRequestJsonData, ResourceDataBatchRequest.class)
+    def 'Process per data operation request with #serviceName.'() {
+        given: 'data operation request with 3 operations'
+            def dataOperationRequestJsonData = TestUtils.getResourceFileContent('dataOperationRequest.json')
+            def dataOperationRequest = jsonObjectMapper.convertJsonString(dataOperationRequestJsonData, DataOperationRequest.class)
         and: '4 known cm handles: ch1-dmi1, ch2-dmi1, ch3-dmi2, ch4-dmi2'
             def yangModelCmHandles = getYangModelCmHandles()
-        when: 'Operation in batch request is processed'
-            def operationsOutPerDmiServiceName = ResourceDataBatchRequestUtils.processPerOperationInBatchRequest(resourceDataBatchRequest, yangModelCmHandles)
+        when: 'data operation request is processed'
+            def operationsOutPerDmiServiceName = ResourceDataBatchRequestUtils.processPerOperationInBatchRequest(dataOperationRequest, yangModelCmHandles)
         and: 'converted to a json node'
-            def dmiBatchRequestBody = jsonObjectMapper.asJsonString(operationsOutPerDmiServiceName.get(serviceName))
-            def dmiBatchRequestBodyAsJsonNode = jsonObjectMapper.convertToJsonNode(dmiBatchRequestBody).get(operationIndex)
+            def dmiDataOperationRequestBody = jsonObjectMapper.asJsonString(operationsOutPerDmiServiceName.get(serviceName))
+            def dmiDataOperationRequestBodyAsJsonNode = jsonObjectMapper.convertToJsonNode(dmiDataOperationRequestBody).get(operationIndex)
         then: 'it contains the correct operation details'
-            assert dmiBatchRequestBodyAsJsonNode.get('operation').asText() == 'read'
-            assert dmiBatchRequestBodyAsJsonNode.get('operationId').asText() == expectedOperationId
-            assert dmiBatchRequestBodyAsJsonNode.get('datastore').asText() == expectedDatastore
+            assert dmiDataOperationRequestBodyAsJsonNode.get('operation').asText() == 'read'
+            assert dmiDataOperationRequestBodyAsJsonNode.get('operationId').asText() == expectedOperationId
+            assert dmiDataOperationRequestBodyAsJsonNode.get('datastore').asText() == expectedDatastore
         and: 'the correct cm handles (just for #serviceName)'
-            assert dmiBatchRequestBodyAsJsonNode.get('cmHandles').size() == expectedCmHandleIds.size()
+            assert dmiDataOperationRequestBodyAsJsonNode.get('cmHandles').size() == expectedCmHandleIds.size()
             expectedCmHandleIds.each {
-                dmiBatchRequestBodyAsJsonNode.get('cmHandles').toString().contains(it)
+                dmiDataOperationRequestBodyAsJsonNode.get('cmHandles').toString().contains(it)
             }
         where: 'the following dmi service and operations are checked'
             serviceName | operationIndex || expectedOperationId | expectedDatastore                        | expectedCmHandleIds