X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fspi%2FCpsModulePersistenceService.java;h=e0827344174f24b6932be35d85dc577f6fbb11d4;hb=5427ef054effb1aadfaaab300282545c99c37a61;hp=bc62a23c52665ce2426c93f0fbffda6f2fa7990e;hpb=f351ced1db57e63663b84acdab9410aa517018c8;p=cps.git diff --git a/cps-service/src/main/java/org/onap/cps/spi/CpsModulePersistenceService.java b/cps-service/src/main/java/org/onap/cps/spi/CpsModulePersistenceService.java index bc62a23c5..e08273441 100755 --- a/cps-service/src/main/java/org/onap/cps/spi/CpsModulePersistenceService.java +++ b/cps-service/src/main/java/org/onap/cps/spi/CpsModulePersistenceService.java @@ -1,7 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2020 Nordix Foundation - * Modifications Copyright (C) 2020 Bell Canada. + * Modifications Copyright (C) 2020-2022 Bell Canada. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,10 +21,9 @@ package org.onap.cps.spi; +import java.util.Collection; import java.util.List; import java.util.Map; -import org.checkerframework.checker.nullness.qual.NonNull; -import org.onap.cps.spi.exceptions.DataInUseException; import org.onap.cps.spi.model.ModuleReference; /** @@ -39,47 +38,64 @@ public interface CpsModulePersistenceService { * @param schemaSetName schema set name * @param yangResourcesNameToContentMap YANG resources (files) map where key is a name and value is content */ - void storeSchemaSet(@NonNull String dataspaceName, @NonNull String schemaSetName, - @NonNull Map yangResourcesNameToContentMap); + void storeSchemaSet(String dataspaceName, String schemaSetName, Map 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(String dataspaceName, String schemaSetName, + Map newYangResourcesModuleNameToContentMap, List moduleReferences); /** * Deletes Schema Set. * - * @param dataspaceName dataspace name - * @param schemaSetName schema set name - * @param cascadeDeleteAllowed indicates the allowance to remove associated anchors and data if exist - * @throws DataInUseException if cascadeDeleteAllowed is set to CASCADE_DELETE_PROHIBITED and there - * is associated anchor record exists in database + * @param dataspaceName dataspace name + * @param schemaSetName schema set name */ - void deleteSchemaSet(@NonNull String dataspaceName, @NonNull String schemaSetName, - @NonNull CascadeDeleteAllowed cascadeDeleteAllowed); + void deleteSchemaSet(String dataspaceName, String schemaSetName); /** * Returns YANG resources per specific dataspace / schemaSetName. * - * @param dataspaceName dataspace name + * @param dataspaceName dataspace name * @param schemaSetName schema set name * @return YANG resources (files) map where key is a name and value is content */ - @NonNull - Map getYangSchemaResources(@NonNull String dataspaceName, - @NonNull String schemaSetName); + Map getYangSchemaResources(String dataspaceName, String schemaSetName); /** * Returns YANG resources per specific dataspace / anchorName. * * @param dataspaceName dataspace name - * @param anchorName anchor name + * @param anchorName anchor name * @return YANG resources (files) map where key is a name and value is content */ - @NonNull - Map getYangSchemaSetResources(@NonNull String dataspaceName, - @NonNull String anchorName); + Map getYangSchemaSetResources(String dataspaceName, String anchorName); + + /** + * 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 getYangResourceModuleReferences(String dataspaceName); /** - * Returns all YANG resources module references. + * 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 + */ + Collection getYangResourceModuleReferences(String dataspaceName, String anchorName); + + /** + * Remove unused Yang Resource Modules. */ - List getAllYangResourcesModuleReferences(); + void deleteUnusedYangResourceModules(); }