From 30a59dda3869603b9f628c45364e63a3763d3925 Mon Sep 17 00:00:00 2001 From: DylanB95EST Date: Tue, 2 Nov 2021 17:25:18 +0000 Subject: Delete DataNode (xpath) for a given Anchor Delete Datanode within CPS. Deprecates delete functionality of /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes. New api is backwards compatible with this API Issue-ID: CPS-313 Change-Id: I110c4ab1446e8a1399a0d9bf89c0be614a9104df Signed-off-by: DylanB95EST --- .../src/main/java/org/onap/cps/api/CpsDataService.java | 11 +++++++++++ .../main/java/org/onap/cps/api/impl/CpsDataServiceImpl.java | 7 +++++++ 2 files changed, 18 insertions(+) (limited to 'cps-service/src/main/java/org/onap') 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 e6cb65fa7..f455e47ef 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 @@ -119,6 +119,17 @@ public interface CpsDataService { void replaceListContent(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull String parentNodeXpath, @NonNull String jsonData, OffsetDateTime observedTimestamp); + /** + * Deletes data node for given anchor and dataspace. + * + * @param dataspaceName dataspace name + * @param anchorName anchor name + * @param dataNodeXpath data node xpath + * @param observedTimestamp observed timestamp + */ + void deleteDataNode(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull String dataNodeXpath, + OffsetDateTime observedTimestamp); + /** * Deletes a list or a list-element under given anchor and dataspace. * 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 44a17f89d..1445ccadf 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 @@ -133,6 +133,13 @@ public class CpsDataServiceImpl implements CpsDataService { processDataUpdatedEventAsync(dataspaceName, anchorName, observedTimestamp); } + @Override + public void deleteDataNode(final String dataspaceName, final String anchorName, final String dataNodeXpath, + final OffsetDateTime observedTimestamp) { + cpsDataPersistenceService.deleteDataNode(dataspaceName, anchorName, dataNodeXpath); + processDataUpdatedEventAsync(dataspaceName, anchorName, observedTimestamp); + } + @Override public void deleteListOrListElement(final String dataspaceName, final String anchorName, final String listNodeXpath, final OffsetDateTime observedTimestamp) { -- cgit 1.2.3-korg