X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fnode%2Futils%2FNormalizedNodeNavigator.java;h=a4e0b70a0216abb66af500c45bcfaff90d5bd869;hb=a2b838f96589b502578fa4e15cef2769f886a378;hp=f8019c91868f8d559f3a3c1cda8762de3cf48666;hpb=915a86bcff78e373ae9487e19f5e24828ccc1e9b;p=controller.git 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 f8019c9186..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 @@ -1,11 +1,9 @@ /* + * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others. All rights reserved. * - * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.controller.cluster.datastore.node.utils; @@ -19,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); + } } - } }