Do not iterate over SchemaPath 05/102105/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 10 Aug 2022 12:33:17 +0000 (14:33 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 17 Aug 2022 07:28:07 +0000 (09:28 +0200)
We are exposing a List here, so we can things a tad more efficiently.

Change-Id: I310b626f5b8e7b94ca0cfade03833a0774931dab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 0801c308b60fd9a86061da2fc43db21dfdb90768)

data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefContextBuilder.java

index 0ef444f95fac5027acfc45748d3a532d38d3014b..5b99b2b81a02edd6963d481bf4e9d04a1c76f2a4 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.data.tree.leafref;
 import static java.util.Objects.requireNonNull;
 
 import java.util.HashMap;
-import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.concepts.Mutable;
@@ -128,8 +128,8 @@ final class LeafRefContextBuilder implements Mutable {
     }
 
     Module getLeafRefContextModule() {
-        final Iterator<QName> it = currentNodePath.getPathFromRoot().iterator();
-        final QNameModule qnameModule = it.hasNext() ? it.next().getModule() : currentNodeQName.getModule();
+        final List<QName> path = currentNodePath.getPathFromRoot();
+        final QNameModule qnameModule = path.isEmpty() ? currentNodeQName.getModule() : path.get(0).getModule();
         return schemaContext.findModule(qnameModule).orElse(null);
     }