summaryrefslogtreecommitdiffstats
path: root/cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java
diff options
context:
space:
mode:
Diffstat (limited to 'cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java')
-rw-r--r--cps-service/src/main/java/org/onap/cps/spi/CpsDataPersistenceService.java41
1 files changed, 26 insertions, 15 deletions
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 bf8dd1a07..b8c472f27 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
@@ -55,16 +55,16 @@ public interface CpsDataPersistenceService {
@NonNull DataNode dataNode);
/**
- * Adds list node child elements to a Fragment.
+ * Adds list child elements to a Fragment.
*
- * @param dataspaceName dataspace name
- * @param anchorName anchor name
- * @param parentNodeXpath parent node xpath
- * @param dataNodes collection of data nodes representing list node elements
+ * @param dataspaceName dataspace name
+ * @param anchorName anchor name
+ * @param parentNodeXpath parent node xpath
+ * @param listElementsCollection collection of data nodes representing list elements
*/
- void addListDataNodes(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull String parentNodeXpath,
- @NonNull Collection<DataNode> dataNodes);
+ void addListElements(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull String parentNodeXpath,
+ @NonNull Collection<DataNode> listElementsCollection);
/**
* Retrieves datanode by XPath for given dataspace and anchor.
@@ -101,25 +101,36 @@ public interface CpsDataPersistenceService {
void replaceDataNodeTree(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull DataNode dataNode);
/**
- * Replaces existing list data node content including descendants.
+ * Replaces list content by removing all existing elements and inserting the given new elements
+ * under given parent, anchor and dataspace.
*
* @param dataspaceName dataspace name
* @param anchorName anchor name
* @param parentNodeXpath parent node xpath
- * @param dataNodes collection of data nodes representing list node elements
+ * @param newListElements collection of data nodes representing the new list content
+ */
+ void replaceListContent(@NonNull String dataspaceName, @NonNull String anchorName,
+ @NonNull String parentNodeXpath, @NonNull Collection<DataNode> newListElements);
+
+ /**
+ * Deletes any dataNode, yang container or yang list or yang list element.
+ *
+ * @param dataspaceName dataspace name
+ * @param anchorName anchor name
+ * @param targetXpath xpath to list or list element (include [@key=value] to delete a single list element)
*/
- void replaceListDataNodes(@NonNull String dataspaceName, @NonNull String anchorName,
- @NonNull String parentNodeXpath, @NonNull Collection<DataNode> dataNodes);
+ void deleteDataNode(@NonNull String dataspaceName, @NonNull String anchorName,
+ @NonNull String targetXpath);
/**
- * Deletes existing list data node content including descendants.
+ * Deletes existing a single list element or the whole list.
*
* @param dataspaceName dataspace name
* @param anchorName anchor name
- * @param listNodeXpath list node xpath
+ * @param targetXpath xpath to list or list element (include [@key=value] to delete a single list element)
*/
- void deleteListDataNodes(@NonNull String dataspaceName, @NonNull String anchorName,
- @NonNull String listNodeXpath);
+ void deleteListDataNode(@NonNull String dataspaceName, @NonNull String anchorName,
+ @NonNull String targetXpath);
/**
* Get a datanode by cps path.