From dce4e316da66ede214977491c712b0a4ab457644 Mon Sep 17 00:00:00 2001 From: Ruslan Kashapov Date: Mon, 11 Jan 2021 15:34:10 +0200 Subject: Delete schema set - REST and service layers Issue-ID: CPS-121 Change-Id: I0fe885c79f98c994a8ac25a59b77b99eee4b3076 Signed-off-by: Ruslan Kashapov --- .../src/main/java/org/onap/cps/api/CpsModuleService.java | 14 ++++++++++++++ .../java/org/onap/cps/api/impl/CpsModuleServiceImpl.java | 8 ++++++++ 2 files changed, 22 insertions(+) (limited to 'cps-service/src/main') 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 5f63f97f1e..75c6a78637 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 @@ -21,6 +21,8 @@ package org.onap.cps.api; 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.SchemaSet; /** @@ -47,4 +49,16 @@ public interface CpsModuleService { * @return a SchemaSet */ SchemaSet getSchemaSet(@NonNull String dataspaceName, @NonNull String schemaSetName); + + /** + * 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 + */ + void deleteSchemaSet(@NonNull String dataspaceName, @NonNull String schemaSetName, + @NonNull CascadeDeleteAllowed cascadeDeleteAllowed); } diff --git a/cps-service/src/main/java/org/onap/cps/api/impl/CpsModuleServiceImpl.java b/cps-service/src/main/java/org/onap/cps/api/impl/CpsModuleServiceImpl.java index 04a6fe1cee..eac28a9f09 100644 --- a/cps-service/src/main/java/org/onap/cps/api/impl/CpsModuleServiceImpl.java +++ b/cps-service/src/main/java/org/onap/cps/api/impl/CpsModuleServiceImpl.java @@ -20,7 +20,9 @@ package org.onap.cps.api.impl; import java.util.Map; +import org.checkerframework.checker.nullness.qual.NonNull; import org.onap.cps.api.CpsModuleService; +import org.onap.cps.spi.CascadeDeleteAllowed; import org.onap.cps.spi.CpsModulePersistenceService; import org.onap.cps.spi.model.SchemaSet; import org.onap.cps.yang.YangTextSchemaSourceSet; @@ -55,4 +57,10 @@ public class CpsModuleServiceImpl implements CpsModuleService { .moduleReferences(yangTextSchemaSourceSet.getModuleReferences()) .build(); } + + @Override + public void deleteSchemaSet(final String dataspaceName, final String schemaSetName, + final CascadeDeleteAllowed cascadeDeleteAllowed) { + cpsModulePersistenceService.deleteSchemaSet(dataspaceName, schemaSetName, cascadeDeleteAllowed); + } } -- cgit 1.2.3-korg