summaryrefslogtreecommitdiffstats
path: root/cps-service/src/main/java/org/onap/cps/spi/model/DataNodeBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'cps-service/src/main/java/org/onap/cps/spi/model/DataNodeBuilder.java')
-rw-r--r--cps-service/src/main/java/org/onap/cps/spi/model/DataNodeBuilder.java18
1 files changed, 15 insertions, 3 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 67e93dd82..ea0626c2b 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
@@ -43,9 +43,21 @@ public class DataNodeBuilder {
private NormalizedNode<?, ?> normalizedNodeTree;
private String xpath;
+ private String parentNodeXpath = "";
private Map<String, Object> leaves = Collections.emptyMap();
private Collection<DataNode> childDataNodes = Collections.emptySet();
+ /**
+ * To use parent node xpath for creating {@link DataNode}.
+ *
+ * @param parentNodeXpath xpath of a parent node
+ * @return this {@link DataNodeBuilder} object
+ */
+ public DataNodeBuilder withParentNodeXpath(final String parentNodeXpath) {
+ this.parentNodeXpath = parentNodeXpath;
+ return this;
+ }
+
/**
* To use {@link NormalizedNode} for creating {@link DataNode}.
@@ -115,9 +127,9 @@ public class DataNodeBuilder {
}
private DataNode buildFromNormalizedNodeTree() {
- final DataNode formalRootDataNode = new DataNodeBuilder().withXpath("").build();
- addDataNodeFromNormalizedNode(formalRootDataNode, normalizedNodeTree);
- return formalRootDataNode.getChildDataNodes().iterator().next();
+ final DataNode parentDataNode = new DataNodeBuilder().withXpath(parentNodeXpath).build();
+ addDataNodeFromNormalizedNode(parentDataNode, normalizedNodeTree);
+ return parentDataNode.getChildDataNodes().iterator().next();
}
private static void addDataNodeFromNormalizedNode(final DataNode currentDataNode,