summaryrefslogtreecommitdiffstats
path: root/cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedException.java
diff options
context:
space:
mode:
Diffstat (limited to 'cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedException.java')
-rw-r--r--cps-service/src/main/java/org/onap/cps/spi/exceptions/AlreadyDefinedException.java46
1 files changed, 20 insertions, 26 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);
}
}