Query based on Public CM Properties
[cps.git] / cps-ncmp-service / src / main / java / org / onap / cps / ncmp / api / NetworkCmProxyDataService.java
index 7f4c18f..058c42b 100644 (file)
@@ -26,6 +26,8 @@ package org.onap.cps.ncmp.api;
 import static org.onap.cps.ncmp.api.impl.operations.DmiRequestBody.OperationEnum;
 
 import java.util.Collection;
+import java.util.Set;
+import org.onap.cps.ncmp.api.models.CmHandleQueryApiParameters;
 import org.onap.cps.ncmp.api.models.DmiPluginRegistration;
 import org.onap.cps.ncmp.api.models.DmiPluginRegistrationResponse;
 import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle;
@@ -50,16 +52,16 @@ public interface NetworkCmProxyDataService {
      *
      * @param cmHandleId cm handle identifier
      * @param resourceIdentifier resource identifier
-     * @param acceptParamInHeader accept param
      * @param optionsParamInQuery options query
      * @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 acceptParamInHeader,
                                                  String optionsParamInQuery,
-                                                 String topicParamInQuery);
+                                                 String topicParamInQuery,
+                                                 String requestId);
 
     /**
      * Get resource data for data store pass-through running
@@ -67,16 +69,16 @@ public interface NetworkCmProxyDataService {
      *
      * @param cmHandleId cm handle identifier
      * @param resourceIdentifier resource identifier
-     * @param acceptParamInHeader accept param
      * @param optionsParamInQuery options query
-     * @param topicParamInQuery topic query
+     * @param topicParamInQuery topic name for (triggering) async responses
+     * @param requestId unique requestId for async request
      * @return {@code Object} resource data
      */
     Object getResourceDataPassThroughRunningForCmHandle(String cmHandleId,
                                                         String resourceIdentifier,
-                                                        String acceptParamInHeader,
                                                         String optionsParamInQuery,
-                                                        String topicParamInQuery);
+                                                        String topicParamInQuery,
+                                                        String requestId);
 
     /**
      * Write resource data for data store pass-through running
@@ -119,4 +121,11 @@ public interface NetworkCmProxyDataService {
      */
     NcmpServiceCmHandle getNcmpServiceCmHandle(String cmHandleId);
 
+    /**
+     * Query and return cm handles that match the given query parameters.
+     *
+     * @param cmHandleQueryApiParameters the cm handle query parameters
+     * @return collection of cm handle ids
+     */
+    Set<String> queryCmHandles(CmHandleQueryApiParameters cmHandleQueryApiParameters);
 }