Introduce and use new Hazelcast map pt. 2
[cps.git] / cps-ncmp-service / src / main / java / org / onap / cps / ncmp / api / NetworkCmProxyDataService.java
index 03737bc..0c12875 100644 (file)
 package org.onap.cps.ncmp.api;
 
 import java.util.Collection;
-import java.util.List;
 import java.util.Map;
-import org.onap.cps.ncmp.api.impl.operations.OperationEnum;
-import org.onap.cps.ncmp.api.inventory.CompositeState;
+import org.onap.cps.ncmp.api.impl.inventory.CompositeState;
+import org.onap.cps.ncmp.api.impl.operations.OperationType;
 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;
@@ -53,7 +53,7 @@ public interface NetworkCmProxyDataService {
     /**
      * Get resource data for given data store using dmi.
      *
-     * @param dataStoreName       data store name
+     * @param datastoreName       datastore name
      * @param cmHandleId          cm handle identifier
      * @param resourceIdentifier  resource identifier
      * @param optionsParamInQuery options query
@@ -61,7 +61,7 @@ public interface NetworkCmProxyDataService {
      * @param requestId           unique requestId for async request
      * @return {@code Object} resource data
      */
-    Object getResourceDataForCmHandle(String dataStoreName,
+    Object getResourceDataForCmHandle(String datastoreName,
                                       String cmHandleId,
                                       String resourceIdentifier,
                                       String optionsParamInQuery,
@@ -71,49 +71,41 @@ public interface NetworkCmProxyDataService {
     /**
      * Get resource data for operational.
      *
-     * @param dataStoreName       data store name
-     * @param cmHandleId cm handle identifier
+     * @param datastoreName      datastore name
+     * @param cmHandleId         cm handle identifier
      * @param resourceIdentifier resource identifier
      * @Link FetchDescendantsOption fetch descendants option
      * @return {@code Object} resource data
      */
-    Object getResourceDataForCmHandle(String dataStoreName,
+    Object getResourceDataForCmHandle(String datastoreName,
                                       String cmHandleId,
                                       String resourceIdentifier,
                                       FetchDescendantsOption fetchDescendantsOption);
 
     /**
-     * Get resource data for given batch of cm handles using dmi.
+     * Execute (async) data operation for group of cm handles using dmi.
      *
-     * @param dataStoreName       data store name
-     * @param cmHandleIds         cm handle identifiers
-     * @param resourceIdentifier  resource identifier
-     * @param optionsParamInQuery options query
-     * @param topicParamInQuery   topic name for (triggering) async responses
-     * @param requestId           unique requestId for async request
-     * @return {@code Object} resource data
+     * @param topicParamInQuery        topic name for (triggering) async responses
+     * @param dataOperationRequest     contains a list of operation definitions(multiple operations)
      */
-    Object getResourceDataForCmHandleBatch(String dataStoreName,
-                                       List<String> cmHandleIds,
-                                       String resourceIdentifier,
-                                       String optionsParamInQuery,
-                                       String topicParamInQuery,
-                                       String requestId);
+    void executeDataOperationForCmHandles(String topicParamInQuery,
+                                          DataOperationRequest dataOperationRequest,
+                                          String requestId);
 
 
     /**
-     * Write resource data for data store pass-through running
-     * using dmi for given cm-handle.
-     *  @param cmHandleId cm handle identifier
+     * Write resource data for data store pass-through running using dmi for given cm-handle.
+     *
+     * @param cmHandleId         cm handle identifier
      * @param resourceIdentifier resource identifier
-     * @param operation required operation
-     * @param requestBody request body to create resource
-     * @param contentType content type in body
+     * @param operationType      required operation type
+     * @param requestBody        request body to create resource
+     * @param contentType        content type in body
      * @return {@code Object} return data
      */
     Object writeResourceDataPassThroughRunningForCmHandle(String cmHandleId,
                                                         String resourceIdentifier,
-                                                        OperationEnum operation,
+                                                        OperationType operationType,
                                                         String requestBody,
                                                         String contentType);
 
@@ -179,7 +171,7 @@ public interface NetworkCmProxyDataService {
      * @param cmHandleId cm handle id
      * @param dataSyncEnabled data sync enabled flag
      */
-    void setDataSyncEnabled(String cmHandleId, boolean dataSyncEnabled);
+    void setDataSyncEnabled(String cmHandleId, Boolean dataSyncEnabled);
 
     /**
      * Get all cm handle IDs by DMI plugin identifier.