From: Robert Varga Date: Tue, 28 Mar 2023 08:29:14 +0000 (+0200) Subject: Acquire revision NodeList only once X-Git-Tag: v5.0.5~23 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=netconf.git;a=commitdiff_plain;h=ea0c5cc887351618749a7519e85e3d638d648ded Acquire revision NodeList only once 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 --- diff --git a/plugins/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/LibraryModulesSchemas.java b/plugins/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/LibraryModulesSchemas.java index d1f2c3868a..478575acc3 100644 --- a/plugins/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/LibraryModulesSchemas.java +++ b/plugins/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/LibraryModulesSchemas.java @@ -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);