Fix performance of RecursiveReplaceCandidateNode.getModifiedChild() 25/21725/1
authorRobert Varga <rovarga@cisco.com>
Wed, 3 Jun 2015 08:16:17 +0000 (10:16 +0200)
committerRobert Varga <rovarga@cisco.com>
Wed, 3 Jun 2015 08:16:17 +0000 (10:16 +0200)
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 <rovarga@cisco.com>
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java

index 25dc656e21cf04696c9d73a814d50a5a4ff4ed5e..6b9953d3c97d1588db403152c2efe7d90bfa62cc 100644 (file)
@@ -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