From 09c6b6e1fa2684c913d7b904f7c7ad6b26b04ef1 Mon Sep 17 00:00:00 2001 From: niamhcore Date: Mon, 22 Nov 2021 11:44:38 +0000 Subject: CPS-314: Delete Dataspace Issue-ID: CPS-314 Change-Id: I778e2b784c7b1ff3fecc1036425708dc4ec73227 Signed-off-by: niamhcore --- .../java/org/onap/cps/api/CpsAdminService.java | 7 ++++ .../org/onap/cps/api/impl/CpsAdminServiceImpl.java | 5 +++ .../onap/cps/spi/CpsAdminPersistenceService.java | 7 ++++ .../spi/exceptions/DataspaceInUseException.java | 40 ++++++++++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 cps-service/src/main/java/org/onap/cps/spi/exceptions/DataspaceInUseException.java (limited to 'cps-service/src/main/java/org/onap') diff --git a/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java b/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java index 1d08cde7b..7ba95995a 100755 --- a/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java +++ b/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java @@ -41,6 +41,13 @@ public interface CpsAdminService { */ void createDataspace(@NonNull String dataspaceName); + /** + * Delete dataspace. + * + * @param dataspaceName the name of the dataspace to delete + */ + void deleteDataspace(@NonNull String dataspaceName); + /** * Create an Anchor. * diff --git a/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java b/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java index faff7b611..d83179326 100755 --- a/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java +++ b/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java @@ -41,6 +41,11 @@ public class CpsAdminServiceImpl implements CpsAdminService { cpsAdminPersistenceService.createDataspace(dataspaceName); } + @Override + public void deleteDataspace(final String dataspaceName) { + cpsAdminPersistenceService.deleteDataspace(dataspaceName); + } + @Override public void createAnchor(final String dataspaceName, final String schemaSetName, final String anchorName) { cpsAdminPersistenceService.createAnchor(dataspaceName, schemaSetName, anchorName); diff --git a/cps-service/src/main/java/org/onap/cps/spi/CpsAdminPersistenceService.java b/cps-service/src/main/java/org/onap/cps/spi/CpsAdminPersistenceService.java index 104ac4f3f..95537006a 100755 --- a/cps-service/src/main/java/org/onap/cps/spi/CpsAdminPersistenceService.java +++ b/cps-service/src/main/java/org/onap/cps/spi/CpsAdminPersistenceService.java @@ -40,6 +40,13 @@ public interface CpsAdminPersistenceService { */ void createDataspace(@NonNull String dataspaceName); + /** + * Delete dataspace. + * + * @param dataspaceName the name of the dataspace to delete + */ + void deleteDataspace(@NonNull String dataspaceName); + /** * Create an Anchor. * diff --git a/cps-service/src/main/java/org/onap/cps/spi/exceptions/DataspaceInUseException.java b/cps-service/src/main/java/org/onap/cps/spi/exceptions/DataspaceInUseException.java new file mode 100644 index 000000000..7889301dd --- /dev/null +++ b/cps-service/src/main/java/org/onap/cps/spi/exceptions/DataspaceInUseException.java @@ -0,0 +1,40 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2021 Nordix Foundation. + * ================================================================================ + * 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.cps.spi.exceptions; + +/** + * Runtime exception. + * Thrown when given dataspace name is rejected to be deleted because it has anchor or schemasets associated. + */ + +public class DataspaceInUseException extends DataInUseException { + + private static final long serialVersionUID = 4531370947720760347L; + + /** + * Constructor. + * + * @param dataspaceName dataspace name + * @param details error message details + */ + public DataspaceInUseException(final String dataspaceName, final String details) { + super(String.format("Dataspace with name %s is being used.", dataspaceName), details); + } +} -- cgit 1.2.3-korg