diff options
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.java | 18 |
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, |