patch operation for ncmp running
[cps.git] / cps-ncmp-service / src / main / java / org / onap / cps / ncmp / api / NetworkCmProxyDataService.java
index 03d70c1..ea34f95 100644 (file)
 
 package org.onap.cps.ncmp.api;
 
+import static org.onap.cps.ncmp.api.impl.operations.DmiRequestBody.OperationEnum;
+
 import java.util.Collection;
-import javax.validation.constraints.NotNull;
 import org.checkerframework.checker.nullness.qual.NonNull;
 import org.onap.cps.ncmp.api.models.DmiPluginRegistration;
 import org.onap.cps.spi.FetchDescendantsOption;
 import org.onap.cps.spi.model.DataNode;
+import org.onap.cps.spi.model.ModuleReference;
 
 /*
  * Datastore interface for handling CPS data.
@@ -105,7 +107,7 @@ public interface NetworkCmProxyDataService {
      *
      * @param dmiPluginRegistration Dmi Plugin Registration
      */
-    void updateDmiPluginRegistration(DmiPluginRegistration dmiPluginRegistration);
+    void updateDmiRegistrationAndSyncModule(DmiPluginRegistration dmiPluginRegistration);
 
     /**
      * Get resource data for data store pass-through operational
@@ -113,16 +115,14 @@ public interface NetworkCmProxyDataService {
      *
      * @param cmHandle cm handle
      * @param resourceIdentifier resource identifier
-     * @param accept accept param
-     * @param fields fields query
-     * @param depth depth query
+     * @param acceptParamInHeader accept param
+     * @param optionsParamInQuery options query
      * @return {@code Object} resource data
      */
-    Object getResourceDataOperationalForCmHandle(@NotNull String cmHandle,
-                                                 @NotNull String resourceIdentifier,
-                                                 String accept,
-                                                 String fields,
-                                                 Integer depth);
+    Object getResourceDataOperationalForCmHandle(String cmHandle,
+                                                 String resourceIdentifier,
+                                                 String acceptParamInHeader,
+                                                 String optionsParamInQuery);
 
     /**
      * Get resource data for data store pass-through running
@@ -130,28 +130,46 @@ public interface NetworkCmProxyDataService {
      *
      * @param cmHandle cm handle
      * @param resourceIdentifier resource identifier
-     * @param acceptParam accept param
-     * @param fields fields query
-     * @param depth depth query
+     * @param acceptParamInHeader accept param
+     * @param optionsParamInQuery options query
      * @return {@code Object} resource data
      */
-    Object getResourceDataPassThroughRunningForCmHandle(@NotNull String cmHandle,
-                                                        @NotNull String resourceIdentifier,
-                                                        String acceptParam,
-                                                        String fields,
-                                                        Integer depth);
+    Object getResourceDataPassThroughRunningForCmHandle(String cmHandle,
+                                                        String resourceIdentifier,
+                                                        String acceptParamInHeader,
+                                                        String optionsParamInQuery);
 
     /**
-     * Create resource data for data store pass-through running
+     * Write resource data for data store pass-through running
      * using dmi for given cm-handle.
-     *
-     * @param cmHandle cm handle
+     *  @param cmHandle cm handle
      * @param resourceIdentifier resource identifier
+     * @param operation required operation
      * @param requestBody request body to create resource
      * @param contentType content type in body
+     * @return {@code Object} return data
      */
-    void createResourceDataPassThroughRunningForCmHandle(@NotNull String cmHandle,
-                                                         @NotNull String resourceIdentifier,
-                                                         @NotNull Object requestBody,
-                                                         String contentType);
+    Object writeResourceDataPassThroughRunningForCmHandle(String cmHandle,
+                                                        String resourceIdentifier,
+                                                        OperationEnum operation,
+                                                        String requestBody,
+                                                        String contentType);
+
+    /**
+     * Retrieve module references for the given cm handle.
+     *
+     * @param cmHandle cm handle
+     * @return a collection of modules names and revisions
+     */
+    Collection<ModuleReference> getYangResourcesModuleReferences(String cmHandle);
+
+    /**
+     * Query cm handle identifiers for the given collection of module names.
+     *
+     * @param moduleNames module names.
+     * @return a collection of cm handle identifiers. The schema set for each cm handle must include all the
+     *         given module names
+     */
+    Collection<String> executeCmHandleHasAllModulesSearch(Collection<String> moduleNames);
+
 }