From 787d19aa010a9c7d5452ec9c615bf16af89c1666 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 30 Jun 2014 11:19:45 +0200 Subject: [PATCH] BUG-868: do not use InstanceIdentifier.getPath() We only iterate through it, so we can use getPathArguments() instead. Change-Id: I47a8655294c46ddd00626f72dae64218c6831753 Signed-off-by: Robert Varga --- .../tree/InMemoryDataTreeModification.java | 10 ++++++---- .../data/impl/schema/tree/TreeNodeUtils.java | 16 ++++++++-------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModification.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModification.java index 44397cc0ec..3c903e7831 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModification.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModification.java @@ -9,6 +9,11 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import com.google.common.base.Optional; import com.google.common.base.Preconditions; + +import java.util.Map.Entry; + +import javax.annotation.concurrent.GuardedBy; + import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -20,9 +25,6 @@ import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.annotation.concurrent.GuardedBy; -import java.util.Map.Entry; - final class InMemoryDataTreeModification implements DataTreeModification { private static final Logger LOG = LoggerFactory.getLogger(InMemoryDataTreeModification.class); private final ModificationApplyOperation strategyTree; @@ -122,7 +124,7 @@ final class InMemoryDataTreeModification implements DataTreeModification { ModifiedNode modification = rootNode; // We ensure strategy is present. ModificationApplyOperation operation = resolveModificationStrategy(path); - for (PathArgument pathArg : path.getPath()) { + for (PathArgument pathArg : path.getPathArguments()) { modification = modification.modifyChild(pathArg); } return OperationWithModification.from(operation, modification); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/TreeNodeUtils.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/TreeNodeUtils.java index 2df4ffd581..5739f44743 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/TreeNodeUtils.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/TreeNodeUtils.java @@ -7,6 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.base.Predicate; +import com.google.common.base.Predicates; + import java.util.AbstractMap.SimpleEntry; import java.util.ArrayList; import java.util.Iterator; @@ -15,11 +20,6 @@ import java.util.Map; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; - -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; import org.opendaylight.yangtools.yang.data.api.schema.tree.StoreTreeNode; /** @@ -39,7 +39,7 @@ public final class TreeNodeUtils { */ public static > Optional findNode(final T tree, final InstanceIdentifier path) { Optional current = Optional. of(tree); - Iterator pathIter = path.getPath().iterator(); + Iterator pathIter = path.getPathArguments().iterator(); while (current.isPresent() && pathIter.hasNext()) { current = current.get().getChild(pathIter.next()); } @@ -49,7 +49,7 @@ public final class TreeNodeUtils { public static > T findNodeChecked(final T tree, final InstanceIdentifier path) { T current = tree; List nested = new ArrayList<>(path.getPath().size()); - for(PathArgument pathArg : path.getPath()) { + for(PathArgument pathArg : path.getPathArguments()) { Optional potential = current.getChild(pathArg); nested.add(pathArg); Preconditions.checkArgument(potential.isPresent(),"Child %s is not present in tree.",nested); @@ -75,7 +75,7 @@ public final class TreeNodeUtils { Optional current = Optional. of(tree); int nesting = 0; - Iterator pathIter = path.getPath().iterator(); + Iterator pathIter = path.getPathArguments().iterator(); while (current.isPresent() && pathIter.hasNext() && !predicate.apply(current.get())) { parent = current; current = current.get().getChild(pathIter.next()); -- 2.36.6