X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fnode%2Futils%2FNormalizedNodeNavigator.java;h=a4e0b70a0216abb66af500c45bcfaff90d5bd869;hp=0b7cb373d4d671d70bfd5ed9d2bf4c3e220e0b94;hb=4e696d9795fe7eef40369c05c340d137394126f3;hpb=5679203b147817962534344db273e4f2109fd949 diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/NormalizedNodeNavigator.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/NormalizedNodeNavigator.java index 0b7cb373d4..a4e0b70a02 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/NormalizedNodeNavigator.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/NormalizedNodeNavigator.java @@ -17,73 +17,69 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; /** - * NormalizedNodeNavigator walks a {@link NormalizedNodeVisitor} through the NormalizedNode - * - * {@link NormalizedNode } is a tree like structure that provides a generic structure for a yang data model - * - * For examples of visitors - * @see NormalizedNodePrinter - * - * + * NormalizedNodeNavigator walks a {@link NormalizedNodeVisitor} through the NormalizedNode. */ public class NormalizedNodeNavigator { - private final org.opendaylight.controller.cluster.datastore.node.utils.NormalizedNodeVisitor - visitor; - - public NormalizedNodeNavigator( - org.opendaylight.controller.cluster.datastore.node.utils.NormalizedNodeVisitor visitor){ - Preconditions.checkNotNull(visitor, "visitor should not be null"); - this.visitor = visitor; - } - public void navigate(String parentPath, NormalizedNode normalizedNode){ - if(parentPath == null){ - parentPath = ""; - } - navigateNormalizedNode(0, parentPath, normalizedNode); - } - - private void navigateDataContainerNode(int level, final String parentPath, final DataContainerNode dataContainerNode){ - visitor.visitNode(level, parentPath ,dataContainerNode); + private final org.opendaylight.controller.cluster.datastore.node.utils.NormalizedNodeVisitor visitor; - String newParentPath = parentPath + "/" + dataContainerNode.getIdentifier().toString(); + public NormalizedNodeNavigator( + org.opendaylight.controller.cluster.datastore.node.utils.NormalizedNodeVisitor visitor) { + Preconditions.checkNotNull(visitor, "visitor should not be null"); + this.visitor = visitor; + } - final Iterable> value = dataContainerNode.getValue(); - for(NormalizedNode node : value){ - if(node instanceof MixinNode && node instanceof NormalizedNodeContainer){ - navigateNormalizedNodeContainerMixin(level, newParentPath, (NormalizedNodeContainer) node); - } else { - navigateNormalizedNode(level, newParentPath, node); - } + public void navigate(String parentPath, NormalizedNode normalizedNode) { + if (parentPath == null) { + parentPath = ""; + } + navigateNormalizedNode(0, parentPath, normalizedNode); } - } + private void navigateDataContainerNode(int level, final String parentPath, + final DataContainerNode dataContainerNode) { + visitor.visitNode(level, parentPath, dataContainerNode); - private void navigateNormalizedNodeContainerMixin(int level, final String parentPath, NormalizedNodeContainer node) { - visitor.visitNode(level, parentPath, node); + String newParentPath = parentPath + "/" + dataContainerNode.getIdentifier().toString(); - String newParentPath = parentPath + "/" + node.getIdentifier().toString(); + final Iterable> value = dataContainerNode + .getValue(); + for (NormalizedNode node : value) { + if (node instanceof MixinNode && node instanceof NormalizedNodeContainer) { + navigateNormalizedNodeContainerMixin(level, newParentPath, (NormalizedNodeContainer) node); + } else { + navigateNormalizedNode(level, newParentPath, node); + } + } - final Iterable> value = node.getValue(); - for(NormalizedNode normalizedNode : value){ - if(normalizedNode instanceof MixinNode && normalizedNode instanceof NormalizedNodeContainer){ - navigateNormalizedNodeContainerMixin(level + 1, newParentPath, (NormalizedNodeContainer) normalizedNode); - } else { - navigateNormalizedNode(level, newParentPath, normalizedNode); - } } - } + private void navigateNormalizedNodeContainerMixin(int level, final String parentPath, + NormalizedNodeContainer node) { + visitor.visitNode(level, parentPath, node); + + String newParentPath = parentPath + "/" + node.getIdentifier().toString(); + final Iterable> value = node.getValue(); + for (NormalizedNode normalizedNode : value) { + if (normalizedNode instanceof MixinNode && normalizedNode instanceof NormalizedNodeContainer) { + navigateNormalizedNodeContainerMixin(level + 1, newParentPath, + (NormalizedNodeContainer) normalizedNode); + } else { + navigateNormalizedNode(level, newParentPath, normalizedNode); + } + } + + } - private void navigateNormalizedNode(int level, String parentPath, NormalizedNode normalizedNode){ - if(normalizedNode instanceof DataContainerNode){ + private void navigateNormalizedNode(int level, String parentPath, NormalizedNode normalizedNode) { + if (normalizedNode instanceof DataContainerNode) { - final DataContainerNode dataContainerNode = (DataContainerNode) normalizedNode; + final DataContainerNode dataContainerNode = (DataContainerNode) normalizedNode; - navigateDataContainerNode(level + 1, parentPath, dataContainerNode); - } else { - visitor.visitNode(level+1, parentPath, normalizedNode); + navigateDataContainerNode(level + 1, parentPath, dataContainerNode); + } else { + visitor.visitNode(level + 1, parentPath, normalizedNode); + } } - } }