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=df0f9f5a243a43507d49b129d7bd531b4abc1069;hpb=7b72ea0713dbfededd1a773e9d9b90ea0b08e045;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 old mode 100644 new mode 100755 index df0f9f5a24..e082734417 --- 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,13 +1,14 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2020 Nordix Foundation - * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. + * 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. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -21,6 +22,7 @@ package org.onap.cps.spi; import java.util.Collection; +import java.util.List; import java.util.Map; import org.onap.cps.spi.model.ModuleReference; @@ -29,22 +31,6 @@ import org.onap.cps.spi.model.ModuleReference; */ public interface CpsModulePersistenceService { - /** - * TODO - * clean up method to conform with spi proposal - https://jira.onap.org/browse/CPS-103 - * Store the module from a yang model in the database. - * @deprecated - * - * @param namespace module namespace - * @param moduleContent module content - * @param revision module revision - * @param dataspaceName the name of the dataspace the module is associated with - */ - @Deprecated(forRemoval = true) - void storeModule(final String namespace, final String moduleContent, final String revision, - final String dataspaceName); - - /** * Stores Schema Set. * @@ -55,11 +41,61 @@ public interface CpsModulePersistenceService { void storeSchemaSet(String dataspaceName, String schemaSetName, Map yangResourcesNameToContentMap); /** - * Returns Modules references per specific namespace / schemaSetName. + * 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 + */ + void deleteSchemaSet(String dataspaceName, String schemaSetName); + + /** + * Returns YANG resources per specific dataspace / schemaSetName. * - * @param namespace module namespace + * @param dataspaceName dataspace name * @param schemaSetName schema set name - * @return collection of ModuleRef + * @return YANG resources (files) map where key is a name and value is content + */ + Map getYangSchemaResources(String dataspaceName, String schemaSetName); + + /** + * Returns YANG resources per specific dataspace / anchorName. + * + * @param dataspaceName dataspace name + * @param anchorName anchor name + * @return YANG resources (files) map where key is a name and value is content + */ + 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); + + /** + * Get YANG resource module references for the given anchor name and dataspace name. + * + * @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. */ - Collection getModuleReferences(String namespace, String schemaSetName); + void deleteUnusedYangResourceModules(); }