P2 - Get module names and revisions rest layer
[cps.git] / cps-service / src / main / java / org / onap / cps / spi / CpsModulePersistenceService.java
index bc62a23..9b50f9e 100755 (executable)
@@ -21,6 +21,7 @@
 
 package org.onap.cps.spi;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import org.checkerframework.checker.nullness.qual.NonNull;
@@ -42,6 +43,18 @@ public interface CpsModulePersistenceService {
     void storeSchemaSet(@NonNull String dataspaceName, @NonNull String schemaSetName,
         @NonNull Map<String, String> yangResourcesNameToContentMap);
 
+    /**
+     * Stores a schema set from new modules and existing modules.
+     *
+     * @param dataspaceName                          Dataspace name
+     * @param schemaSetName                          Schema set name
+     * @param newYangResourcesModuleNameToContentMap YANG resources map where key is a module name and value is content
+     * @param moduleReferences                    List of YANG resources module references
+     */
+    void storeSchemaSetFromModules(@NonNull String dataspaceName, @NonNull String schemaSetName,
+                                   @NonNull Map<String, String> newYangResourcesModuleNameToContentMap,
+                                   @NonNull List<ModuleReference> moduleReferences);
+
     /**
      * Deletes Schema Set.
      *
@@ -77,9 +90,19 @@ public interface CpsModulePersistenceService {
         @NonNull String anchorName);
 
     /**
-     * Returns all YANG resources module references.
+     * Returns YANG resources module references for the given dataspace name.
+     *
+     * @param dataspaceName dataspace name
+     * @return Collection of all YANG resources module information in the database
+     */
+    Collection<ModuleReference> getYangResourceModuleReferences(String dataspaceName);
+
+    /**
+     * Get YANG resource module references for the given anchor name and dataspace name.
      *
-     * @return List of all YANG resources module information in the database
+     * @param dataspaceName dataspace name
+     * @param anchorName    anchor name
+     * @return a collection of module names and revisions
      */
-    List<ModuleReference> getAllYangResourcesModuleReferences();
+    Collection<ModuleReference> getYangResourceModuleReferences(String dataspaceName, String anchorName);
 }