From a5cea940ccbb8faf69c9a513d2a530421370f0eb Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 3 Jun 2015 10:16:17 +0200 Subject: [PATCH] Fix performance of RecursiveReplaceCandidateNode.getModifiedChild() This implementation was accidentally left out of conversion which introduced AbstractDataTreeCandidateNode.deltaChild(). Convert the callsite, increasing its efficiency. Change-Id: I3bf434fb5fa843ade0c64999e1cf75dd1374b393 Signed-off-by: Robert Varga (cherry picked from commit 8c542f8aad8b79cd2ecf5a721e725f9076a1ca0b) --- .../impl/schema/tree/RecursiveReplaceCandidateNode.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java index 25dc656e21..6b9953d3c9 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java @@ -35,14 +35,7 @@ final class RecursiveReplaceCandidateNode extends AbstractDataTreeCandidateNode @Override public DataTreeCandidateNode getModifiedChild(final PathArgument identifier) { - // FIXME: this is a linear walk. We need a Map of these in order to - // do something like getChildMap().get(identifier); - for (DataTreeCandidateNode c : getChildNodes()) { - if (identifier.equals(c.getIdentifier())) { - return c; - } - } - return null; + return deltaChild(oldData, getData(), identifier); } @Override -- 2.36.6