X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fapi%2FCpsModuleService.java;h=ecc9bf0986f458f45eac83bdb8bc905c6ee51e6c;hb=3d02e9210625b75419089a3f5612f386c3b997ea;hp=cd156d6dd970bdb818f27deef6ee157c58031274;hpb=b0c2031e8d546336685c84cfccef8d515144dfc6;p=cps.git diff --git a/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java b/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java index cd156d6dd..ecc9bf098 100644 --- a/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java +++ b/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java @@ -1,6 +1,6 @@ /* * ============LICENSE_START======================================================= - * Copyright (C) 2020 Nordix Foundation + * Copyright (C) 2020-2022 Nordix Foundation * Modifications Copyright (C) 2020-2021 Pantheon.tech * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,10 +21,12 @@ package org.onap.cps.api; +import java.util.Collection; import java.util.Map; import org.checkerframework.checker.nullness.qual.NonNull; import org.onap.cps.spi.CascadeDeleteAllowed; import org.onap.cps.spi.exceptions.DataInUseException; +import org.onap.cps.spi.model.ModuleReference; import org.onap.cps.spi.model.SchemaSet; /** @@ -43,6 +45,17 @@ public interface CpsModuleService { void createSchemaSet(@NonNull String dataspaceName, @NonNull String schemaSetName, @NonNull Map yangResourcesNameToContentMap); + /** + * Create a schema set from new modules and existing modules. + * @param dataspaceName Dataspace name + * @param schemaSetName schema set name + * @param newModuleNameToContentMap YANG resources map where key is a module name and value is content + * @param moduleReferences List of YANG resources module references of the modules + */ + void createSchemaSetFromModules(@NonNull String dataspaceName, @NonNull String schemaSetName, + @NonNull Map newModuleNameToContentMap, + Collection moduleReferences); + /** * Read schema set in the given dataspace. * @@ -63,4 +76,32 @@ public interface CpsModuleService { */ void deleteSchemaSet(@NonNull String dataspaceName, @NonNull String schemaSetName, @NonNull CascadeDeleteAllowed cascadeDeleteAllowed); + + /** + * Retrieve module references for the given dataspace name. + * + * @param dataspaceName dataspace name + * @return a list of ModuleReference objects + */ + Collection getYangResourceModuleReferences(String dataspaceName); + + /** + * Retrieve module references for the given dataspace name and anchor name. + * + * @param dataspaceName dataspace name + * @param anchorName anchor name + * @return a list of ModuleReference objects + */ + Collection getYangResourcesModuleReferences(String dataspaceName, String anchorName); + + /** + * Identify previously unknown Yang Resource module references. + * The system will ignore the namespace of all module references. + * + * @param moduleReferencesToCheck the moduleReferencesToCheck + * @returns collection of module references (namespace will be always blank) + */ + Collection identifyNewModuleReferences( + Collection moduleReferencesToCheck); + }