summaryrefslogtreecommitdiffstats
path: root/cps-service/src/main
diff options
context:
space:
mode:
authorRuslan Kashapov <ruslan.kashapov@pantheon.tech>2021-04-22 11:47:41 +0300
committerRishi Chail <rishi.chail@est.tech>2021-04-29 16:21:02 +0000
commit6da081cc0667795cd7872582a8795cf0bbd56c17 (patch)
tree0e2a35e6481d463a1b925a40f13d9fe352d06d86 /cps-service/src/main
parent8a74ced574d566024513044859f433d263e3cc1b (diff)
JSON data fragment into DataNode collection parsing support
Issue-ID: CPS-358 Change-Id: I92f46504e5f3623131844616945069f70712ed61 Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
Diffstat (limited to 'cps-service/src/main')
-rw-r--r--cps-service/src/main/java/org/onap/cps/spi/model/DataNodeBuilder.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/cps-service/src/main/java/org/onap/cps/spi/model/DataNodeBuilder.java b/cps-service/src/main/java/org/onap/cps/spi/model/DataNodeBuilder.java
index 253d4c6242..6530e724e9 100644
--- a/cps-service/src/main/java/org/onap/cps/spi/model/DataNodeBuilder.java
+++ b/cps-service/src/main/java/org/onap/cps/spi/model/DataNodeBuilder.java
@@ -119,6 +119,19 @@ public class DataNodeBuilder {
}
}
+ /**
+ * To build a {@link Collection} of {@link DataNode} objects.
+ *
+ * @return {@link DataNode} {@link Collection}
+ */
+ public Collection<DataNode> buildCollection() {
+ if (normalizedNodeTree != null) {
+ return buildCollectionFromNormalizedNodeTree();
+ } else {
+ return ImmutableSet.of(buildFromAttributes());
+ }
+ }
+
private DataNode buildFromAttributes() {
final var dataNode = new DataNode();
dataNode.setXpath(xpath);
@@ -128,9 +141,14 @@ public class DataNodeBuilder {
}
private DataNode buildFromNormalizedNodeTree() {
+ final Collection<DataNode> dataNodeCollection = buildCollectionFromNormalizedNodeTree();
+ return dataNodeCollection.iterator().next();
+ }
+
+ private Collection<DataNode> buildCollectionFromNormalizedNodeTree() {
final var parentDataNode = new DataNodeBuilder().withXpath(parentNodeXpath).build();
addDataNodeFromNormalizedNode(parentDataNode, normalizedNodeTree);
- return parentDataNode.getChildDataNodes().iterator().next();
+ return parentDataNode.getChildDataNodes();
}
private static void addDataNodeFromNormalizedNode(final DataNode currentDataNode,