Acquire revision NodeList only once 75/105075/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 28 Mar 2023 08:29:14 +0000 (10:29 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 28 Mar 2023 12:12:06 +0000 (14:12 +0200)
There is absolutely no point in acquiring the node list twice, much less
executing getLength()'s internals multiple times.

Change-Id: Ibb98f05d067ce0c4b99df2f49968844dc82a0ac3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
plugins/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/LibraryModulesSchemas.java

index d1f2c3868af84f93f699e73a42876f289ed018ac..478575acc3c1011b06fdf0acc05aaf7189a06ba4 100644 (file)
@@ -306,8 +306,11 @@ public final class LibraryModulesSchemas implements NetconfDeviceSchemas {
                 ModulesState.QNAME.getLocalName());
             doc.appendChild(rootElement);
 
-            for (int i = 0; i < read.getElementsByTagName("revision").getLength(); i++) {
-                final String revision = read.getElementsByTagName("revision").item(i).getTextContent();
+            // FIXME: also namespace?!
+            final var revisions = read.getElementsByTagName("revision");
+
+            for (int i = 0, length = revisions.getLength(); i < length; i++) {
+                final String revision = revisions.item(i).getTextContent();
                 if (DATE_PATTERN.matcher(revision).find() || revision.isEmpty()) {
                     final Node module = doc.importNode(read.getElementsByTagName("module").item(i), true);
                     rootElement.appendChild(module);