package org.onap.cps.ncmp.api;
-import static org.onap.cps.ncmp.api.impl.operations.DmiRequestBody.OperationEnum;
-
import java.util.Collection;
import java.util.Map;
+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;
DmiPluginRegistrationResponse updateDmiRegistrationAndSyncModule(DmiPluginRegistration dmiPluginRegistration);
/**
- * Get resource data for data store pass-through operational
- * using dmi.
+ * Get resource data for given data store using dmi.
*
- * @param cmHandleId cm handle identifier
- * @param resourceIdentifier resource identifier
+ * @param datastoreName datastore name
+ * @param cmHandleId cm handle identifier
+ * @param resourceIdentifier resource identifier
* @param optionsParamInQuery options query
- * @param topicParamInQuery topic name for (triggering) async responses
- * @param requestId unique requestId for async request
+ * @param topicParamInQuery topic name for (triggering) async responses
+ * @param requestId unique requestId for async request
* @return {@code Object} resource data
*/
- Object getResourceDataOperationalForCmHandle(String cmHandleId,
- String resourceIdentifier,
- String optionsParamInQuery,
- String topicParamInQuery,
- String requestId);
+ Object getResourceDataForCmHandle(String datastoreName,
+ String cmHandleId,
+ String resourceIdentifier,
+ String optionsParamInQuery,
+ String topicParamInQuery,
+ String requestId);
/**
* Get resource data for operational.
*
- * @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 getResourceDataOperational(String cmHandleId,
+ Object getResourceDataForCmHandle(String datastoreName,
+ String cmHandleId,
String resourceIdentifier,
FetchDescendantsOption fetchDescendantsOption);
/**
- * Get resource data for data store pass-through running
- * using dmi.
+ * Execute (async) data operation for group of cm handles using dmi.
*
- * @param cmHandleId cm handle identifier
- * @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 getResourceDataPassThroughRunningForCmHandle(String cmHandleId,
- 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);