diff options
Diffstat (limited to 'cps-service/src/main/java/org/onap/cps/api/impl/CpsDataServiceImpl.java')
-rwxr-xr-x | cps-service/src/main/java/org/onap/cps/api/impl/CpsDataServiceImpl.java | 18 |
1 files changed, 18 insertions, 0 deletions
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 092fd31fc..6bf493556 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 @@ -92,6 +92,17 @@ public class CpsDataServiceImpl implements CpsDataService { } @Override + public void saveListElementsBatch(final String dataspaceName, final String anchorName, final String parentNodeXpath, + final Collection<String> jsonDataList, final OffsetDateTime observedTimestamp) { + CpsValidator.validateNameCharacters(dataspaceName, anchorName); + final Collection<Collection<DataNode>> listElementDataNodeCollections = + buildDataNodes(dataspaceName, anchorName, parentNodeXpath, jsonDataList); + cpsDataPersistenceService.addListElementsBatch(dataspaceName, anchorName, parentNodeXpath, + listElementDataNodeCollections); + processDataUpdatedEventAsync(dataspaceName, anchorName, parentNodeXpath, UPDATE, observedTimestamp); + } + + @Override public DataNode getDataNode(final String dataspaceName, final String anchorName, final String xpath, final FetchDescendantsOption fetchDescendantsOption) { CpsValidator.validateNameCharacters(dataspaceName, anchorName); @@ -252,6 +263,13 @@ public class CpsDataServiceImpl implements CpsDataService { } + private Collection<Collection<DataNode>> buildDataNodes(final String dataspaceName, final String anchorName, + final String parentNodeXpath, final Collection<String> jsonDataList) { + return jsonDataList.stream() + .map(jsonData -> buildDataNodes(dataspaceName, anchorName, parentNodeXpath, jsonData)) + .collect(Collectors.toList()); + } + private void processDataUpdatedEventAsync(final String dataspaceName, final String anchorName, final String xpath, final Operation operation, final OffsetDateTime observedTimestamp) { try { |