summaryrefslogtreecommitdiffstats
path: root/cps-service/src/main
diff options
context:
space:
mode:
authorNiamh Core <niamh.core@est.tech>2021-08-17 15:30:16 +0000
committerGerrit Code Review <gerrit@onap.org>2021-08-17 15:30:16 +0000
commitddf661254f711d78b480b8f5623632443a8f6ebc (patch)
tree719873e2e027621126d69f8cbe431f9468203f43 /cps-service/src/main
parent4571ab67d1b3d24d5f046a38055bcf34910cc785 (diff)
parent3724abc1912f93bf1caa104a55da7178f43fd731 (diff)
Merge "Delete list-node p1 service and persistence layers"
Diffstat (limited to 'cps-service/src/main')
-rw-r--r--cps-service/src/main/java/org/onap/cps/api/CpsDataService.java22
-rwxr-xr-xcps-service/src/main/java/org/onap/cps/api/impl/CpsDataServiceImpl.java7
-rw-r--r--cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java10
3 files changed, 27 insertions, 12 deletions
diff --git a/cps-service/src/main/java/org/onap/cps/api/CpsDataService.java b/cps-service/src/main/java/org/onap/cps/api/CpsDataService.java
index 7187810e4a..6036f92225 100644
--- a/cps-service/src/main/java/org/onap/cps/api/CpsDataService.java
+++ b/cps-service/src/main/java/org/onap/cps/api/CpsDataService.java
@@ -23,9 +23,6 @@ package org.onap.cps.api;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.onap.cps.spi.FetchDescendantsOption;
-import org.onap.cps.spi.exceptions.AlreadyDefinedException;
-import org.onap.cps.spi.exceptions.DataNodeNotFoundException;
-import org.onap.cps.spi.exceptions.DataValidationException;
import org.onap.cps.spi.model.DataNode;
/*
@@ -39,7 +36,6 @@ public interface CpsDataService {
* @param dataspaceName dataspace name
* @param anchorName anchor name
* @param jsonData json data
- * @throws DataValidationException when json data is invalid
*/
void saveData(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull String jsonData);
@@ -50,9 +46,6 @@ public interface CpsDataService {
* @param anchorName anchor name
* @param parentNodeXpath parent node xpath
* @param jsonData json data
- * @throws DataValidationException when json data is invalid
- * @throws DataNodeNotFoundException when parent node cannot be found by parent node xpath
- * @throws AlreadyDefinedException when child data node with same xpath already exists
*/
void saveData(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull String parentNodeXpath,
@NonNull String jsonData);
@@ -65,9 +58,6 @@ public interface CpsDataService {
* @param anchorName anchor name
* @param parentNodeXpath parent node xpath
* @param jsonData json data representing list element
- * @throws DataValidationException when json data is invalid (incl. list-node being empty)
- * @throws DataNodeNotFoundException when parent node cannot be found by parent node xpath
- * @throws AlreadyDefinedException when any of child data nodes is having xpath of already existing node
*/
void saveListNodeData(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull String parentNodeXpath,
@NonNull String jsonData);
@@ -115,9 +105,17 @@ public interface CpsDataService {
* @param anchorName anchor name
* @param parentNodeXpath parent node xpath
* @param jsonData json data representing list element
- * @throws DataValidationException when json data is invalid (incl. list-node being empty)
- * @throws DataNodeNotFoundException when parent node cannot be found by parent node xpath
*/
void replaceListNodeData(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull String parentNodeXpath,
@NonNull String jsonData);
+
+ /**
+ * Deletes (if exists) child data fragment representing list-node (with one or more elements)
+ * under existing data node for the given anchor and dataspace.
+ *
+ * @param dataspaceName dataspace name
+ * @param anchorName anchor name
+ * @param listNodeXpath list node xpath
+ */
+ void deleteListNodeData(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull String listNodeXpath);
}
diff --git a/cps-service/src/main/java/org/onap/cps/api/impl/CpsDataServiceImpl.java b/cps-service/src/main/java/org/onap/cps/api/impl/CpsDataServiceImpl.java
index 717df16a5f..5e6e1a2687 100755
--- a/cps-service/src/main/java/org/onap/cps/api/impl/CpsDataServiceImpl.java
+++ b/cps-service/src/main/java/org/onap/cps/api/impl/CpsDataServiceImpl.java
@@ -114,6 +114,13 @@ public class CpsDataServiceImpl implements CpsDataService {
notificationService.processDataUpdatedEvent(dataspaceName, anchorName);
}
+ @Override
+ public void deleteListNodeData(final String dataspaceName, final String anchorName, final String listNodeXpath) {
+ cpsDataPersistenceService.deleteListDataNodes(dataspaceName, anchorName, listNodeXpath);
+ notificationService.processDataUpdatedEvent(dataspaceName, anchorName);
+ }
+
+
private DataNode buildDataNodeFromJson(final String dataspaceName, final String anchorName,
final String parentNodeXpath, final String jsonData) {
diff --git a/cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java b/cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java
index cfb39f5951..bf8dd1a073 100644
--- a/cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java
+++ b/cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java
@@ -112,6 +112,16 @@ public interface CpsDataPersistenceService {
@NonNull String parentNodeXpath, @NonNull Collection<DataNode> dataNodes);
/**
+ * Deletes existing list data node content including descendants.
+ *
+ * @param dataspaceName dataspace name
+ * @param anchorName anchor name
+ * @param listNodeXpath list node xpath
+ */
+ void deleteListDataNodes(@NonNull String dataspaceName, @NonNull String anchorName,
+ @NonNull String listNodeXpath);
+
+ /**
* Get a datanode by cps path.
*
* @param dataspaceName dataspace name