aboutsummaryrefslogtreecommitdiffstats
path: root/cps-service
diff options
context:
space:
mode:
authordanielhanrahan <daniel.hanrahan@est.tech>2023-06-30 12:14:07 +0100
committerdanielhanrahan <daniel.hanrahan@est.tech>2023-07-11 11:48:28 +0100
commit9cfc03f3af00d0128a5b22e32cc5ba439de627b6 (patch)
tree591da6d42a571882219e6df207e5ad3cd1167566 /cps-service
parent0ed77bfc78fbb1f33fe6708234759dab2413e0f7 (diff)
Combine alreadyDefinedException classes
Issue-ID: CPS-1774 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I52ff9074a9f8188e8635a811b0d2713a97cb4b10
Diffstat (limited to 'cps-service')
-rw-r--r--cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedException.java46
-rw-r--r--cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedExceptionBatch.java34
-rwxr-xr-xcps-service/src/test/groovy/org/onap/cps/spi/exceptions/CpsExceptionsSpec.groovy9
3 files changed, 25 insertions, 64 deletions
diff --git a/cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedException.java b/cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedException.java
index 0ad48dda2..863bb0f80 100644
--- a/cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedException.java
+++ b/cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedException.java
@@ -1,6 +1,6 @@
/*
* ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation
+ * Copyright (C) 2021-2023 Nordix Foundation
* Modifications Copyright (C) 2021 Pantheon.tech
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,6 +22,8 @@
package org.onap.cps.spi.exceptions;
import java.util.Collection;
+import java.util.Collections;
+import lombok.Getter;
/**
* Already defined exception. Indicates the cps object with same name already exists.
@@ -31,29 +33,28 @@ import java.util.Collection;
public class AlreadyDefinedException extends CpsAdminException {
private static final long serialVersionUID = 501929839139881112L;
+ public static final String ALREADY_DEFINED_EXCEPTION_MESSAGE = "Already defined exception";
+
+ @Getter
+ private final Collection<String> alreadyDefinedObjectNames;
- /**
- * Constructor.
- *
- * @param objectType the object type
- * @param objectName the name of the object
- * @param contextName the context name e.g. Anchor or Dataspace
- * @param cause the cause of the exception
- */
private AlreadyDefinedException(final String objectType, final String objectName, final String contextName,
final Throwable cause) {
- super("Already defined exception",
+ super(ALREADY_DEFINED_EXCEPTION_MESSAGE,
String.format("%s with name %s already exists for %s.", objectType, objectName, contextName), cause);
+ alreadyDefinedObjectNames = Collections.singletonList(objectName);
+ }
+
+ private AlreadyDefinedException(final String objectType, final Collection<String> objectNames,
+ final String contextName) {
+ super(ALREADY_DEFINED_EXCEPTION_MESSAGE,
+ String.format("%d %s already exist for %s.", objectNames.size(), objectType, contextName));
+ alreadyDefinedObjectNames = objectNames;
}
- /**
- * Constructor.
- *
- * @param objectName the name of the object
- * @param cause the cause of the exception
- */
private AlreadyDefinedException(final String objectName, final Throwable cause) {
- super("Already defined exception", String.format("%s already exists.", objectName), cause);
+ super(ALREADY_DEFINED_EXCEPTION_MESSAGE, String.format("%s already exists.", objectName), cause);
+ alreadyDefinedObjectNames = Collections.singletonList(objectName);
}
public static AlreadyDefinedException forDataspace(final String dataspaceName, final Throwable cause) {
@@ -70,14 +71,7 @@ public class AlreadyDefinedException extends CpsAdminException {
return new AlreadyDefinedException("Schema Set", schemaSetName, contextName, cause);
}
- public static AlreadyDefinedException forDataNode(final String xpath, final String contextName,
- final Throwable cause) {
- return new AlreadyDefinedException("Data node", xpath, contextName, cause);
- }
-
- public static AlreadyDefinedException forDataNodes(final Collection<String> xpaths, final String contextName,
- final Throwable cause) {
- final var name = String.format("(one or more) of %s", xpaths);
- return new AlreadyDefinedException("Data node", name, contextName, cause);
+ public static AlreadyDefinedException forDataNodes(final Collection<String> xpaths, final String contextName) {
+ return new AlreadyDefinedException("data node(s)", xpaths, contextName);
}
}
diff --git a/cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedExceptionBatch.java b/cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedExceptionBatch.java
deleted file mode 100644
index 0ba656aa1..000000000
--- a/cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedExceptionBatch.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2022 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;
-
-import java.util.Collection;
-import lombok.Getter;
-
-public class AlreadyDefinedExceptionBatch extends RuntimeException {
-
- @Getter
- private final Collection<String> alreadyDefinedXpaths;
-
- public AlreadyDefinedExceptionBatch(final Collection<String> alreadyDefinedXPaths) {
- this.alreadyDefinedXpaths = alreadyDefinedXPaths;
- }
-}
diff --git a/cps-service/src/test/groovy/org/onap/cps/spi/exceptions/CpsExceptionsSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/spi/exceptions/CpsExceptionsSpec.groovy
index 5bd367834..8db106334 100755
--- a/cps-service/src/test/groovy/org/onap/cps/spi/exceptions/CpsExceptionsSpec.groovy
+++ b/cps-service/src/test/groovy/org/onap/cps/spi/exceptions/CpsExceptionsSpec.groovy
@@ -1,6 +1,6 @@
/*
* ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation
+ * Copyright (C) 2021-2023 Nordix Foundation
* Modifications Copyright (C) 2021 Pantheon.tech
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,6 +18,7 @@
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
+
package org.onap.cps.spi.exceptions
import spock.lang.Specification
@@ -152,10 +153,10 @@ class CpsExceptionsSpec extends Specification {
== "Anchor with name ${anchorName} already exists for ${dataspaceName}."
}
- def 'Creating a exception that a data node already exists.'() {
+ def 'Creating a exception that data nodes already exist.'() {
expect: 'the exception details contains the correct message with xpath and dataspace name.'
- (AlreadyDefinedException.forDataNode(xpath, dataspaceName, rootCause)).details
- == "Data node with name ${xpath} already exists for ${dataspaceName}."
+ (AlreadyDefinedException.forDataNodes([xpath], anchorName)).details
+ == "1 data node(s) already exist for ${anchorName}."
}
def 'Creating a exception that a schema set already exists.'() {