diff options
author | Toine Siebelink <toine.siebelink@est.tech> | 2021-11-23 14:56:49 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2021-11-23 14:56:49 +0000 |
commit | a84a4aa84fd22af9b89424d776a18a98d7515bd2 (patch) | |
tree | 002b2d3b6a77c6a96b6f2ef1a6057e9d8445d386 /cps-service/src/main/java/org/onap | |
parent | f7b414e85fe4bd4a227e24cc4bbccd9568b188fa (diff) | |
parent | 09c6b6e1fa2684c913d7b904f7c7ad6b26b04ef1 (diff) |
Merge "CPS-314: Delete Dataspace"
Diffstat (limited to 'cps-service/src/main/java/org/onap')
4 files changed, 59 insertions, 0 deletions
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 1d08cde7ba..7ba95995a5 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 @@ -42,6 +42,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. * * @param dataspaceName dataspace name 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 faff7b611b..d831793264 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 @@ -42,6 +42,11 @@ public class CpsAdminServiceImpl implements CpsAdminService { } @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 104ac4f3f6..95537006a7 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 @@ -41,6 +41,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. * * @param dataspaceName dataspace name 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 0000000000..7889301dd2 --- /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); + } +} |