summaryrefslogtreecommitdiffstats
path: root/cps-service/src/main/java/org/onap/cps/api/impl/CpsDataServiceImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'cps-service/src/main/java/org/onap/cps/api/impl/CpsDataServiceImpl.java')
-rwxr-xr-xcps-service/src/main/java/org/onap/cps/api/impl/CpsDataServiceImpl.java18
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 {