diff --git a/java/src/dev/selenium/tools/javadoc/JavadocJarMaker.java b/java/src/dev/selenium/tools/javadoc/JavadocJarMaker.java index acd54bd148534..91f9f834ddd89 100644 --- a/java/src/dev/selenium/tools/javadoc/JavadocJarMaker.java +++ b/java/src/dev/selenium/tools/javadoc/JavadocJarMaker.java @@ -55,7 +55,8 @@ public static void main(String[] args) throws IOException { Path out = null; Set classpath = new HashSet<>(); - for (int i = 0; i < args.length; i++) { + int argCount = args.length; + for (int i = 0; i < argCount; i++) { String flag = args[i]; String next = args[++i]; diff --git a/java/src/dev/selenium/tools/modules/ModuleGenerator.java b/java/src/dev/selenium/tools/modules/ModuleGenerator.java index 409d233eb2e9e..4fb1091482f7b 100644 --- a/java/src/dev/selenium/tools/modules/ModuleGenerator.java +++ b/java/src/dev/selenium/tools/modules/ModuleGenerator.java @@ -108,7 +108,8 @@ public static void main(String[] args) throws IOException { Set openTo = new TreeSet<>(); boolean isOpen = false; - for (int i = 0; i < args.length; i++) { + int argCount = args.length; + for (int i = 0; i < argCount; i++) { String flag = args[i]; String next = args[++i]; switch (flag) { diff --git a/java/src/org/openqa/selenium/grid/node/docker/DockerOptions.java b/java/src/org/openqa/selenium/grid/node/docker/DockerOptions.java index c714373eeb7af..7082c518342d9 100644 --- a/java/src/org/openqa/selenium/grid/node/docker/DockerOptions.java +++ b/java/src/org/openqa/selenium/grid/node/docker/DockerOptions.java @@ -140,10 +140,11 @@ public Map> getDockerSessionFactories( config.getAll(DOCKER_SECTION, "host-config-keys").orElseGet(Collections::emptyList); Multimap kinds = HashMultimap.create(); - for (int i = 0; i < allConfigs.size(); i++) { + int configsCount = allConfigs.size(); + for (int i = 0; i < configsCount; i++) { String imageName = allConfigs.get(i); i++; - if (i == allConfigs.size()) { + if (i == configsCount) { throw new DockerException("Unable to find JSON config"); } Capabilities stereotype = diff --git a/java/src/org/openqa/selenium/grid/node/relay/RelayOptions.java b/java/src/org/openqa/selenium/grid/node/relay/RelayOptions.java index cc98f23489fea..0f36f1a30c706 100644 --- a/java/src/org/openqa/selenium/grid/node/relay/RelayOptions.java +++ b/java/src/org/openqa/selenium/grid/node/relay/RelayOptions.java @@ -153,7 +153,8 @@ public Map> getSessionFactories( () -> new ConfigException("Unable to find configs for " + getServiceUri())); Multimap parsedConfigs = HashMultimap.create(); - for (int i = 0; i < allConfigs.size(); i++) { + int configsCount = allConfigs.size(); + for (int i = 0; i < configsCount; i++) { int maxSessions; try { maxSessions = Integer.parseInt(extractConfiguredValue(allConfigs.get(i))); @@ -161,7 +162,7 @@ public Map> getSessionFactories( throw new ConfigException("Unable parse value as number. " + allConfigs.get(i)); } i++; - if (i == allConfigs.size()) { + if (i == configsCount) { throw new ConfigException("Unable to find stereotype config. " + allConfigs); } Capabilities stereotype = diff --git a/java/src/org/openqa/selenium/json/JsonInput.java b/java/src/org/openqa/selenium/json/JsonInput.java index c116a24b3d9c6..73c75a6368b30 100644 --- a/java/src/org/openqa/selenium/json/JsonInput.java +++ b/java/src/org/openqa/selenium/json/JsonInput.java @@ -507,7 +507,8 @@ private void expect(JsonType type) { private X read(String toCompare, Function mapper) { skipWhitespace(input); - for (int i = 0; i < toCompare.length(); i++) { + int toCompareLength = toCompare.length(); + for (int i = 0; i < toCompareLength; i++) { char read = input.read(); if (read != toCompare.charAt(i)) { throw new JsonException( diff --git a/java/src/org/openqa/selenium/remote/WebElementToJsonConverter.java b/java/src/org/openqa/selenium/remote/WebElementToJsonConverter.java index edb4c9a28d9cb..1030f9612531d 100644 --- a/java/src/org/openqa/selenium/remote/WebElementToJsonConverter.java +++ b/java/src/org/openqa/selenium/remote/WebElementToJsonConverter.java @@ -85,7 +85,8 @@ public Object apply(Object arg) { private static List arrayToList(Object array) { List list = new ArrayList<>(); - for (int i = 0; i < Array.getLength(array); i++) { + int arrayLength = Array.getLength(array); + for (int i = 0; i < arrayLength; i++) { list.add(Array.get(array, i)); } return list; diff --git a/java/src/org/openqa/selenium/remote/codec/AbstractHttpCommandCodec.java b/java/src/org/openqa/selenium/remote/codec/AbstractHttpCommandCodec.java index df6318a11ed14..412d742fa079c 100644 --- a/java/src/org/openqa/selenium/remote/codec/AbstractHttpCommandCodec.java +++ b/java/src/org/openqa/selenium/remote/codec/AbstractHttpCommandCodec.java @@ -387,11 +387,12 @@ boolean isFor(HttpMethod method, List parts) { return false; } - if (parts.size() != this.pathSegments.size()) { + int partsCount = parts.size(); + if (partsCount != this.pathSegments.size()) { return false; } - for (int i = 0; i < parts.size(); ++i) { + for (int i = 0; i < partsCount; ++i) { String reqPart = parts.get(i); String specPart = pathSegments.get(i); if (!(specPart.startsWith(":") || specPart.equals(reqPart))) { @@ -403,7 +404,8 @@ boolean isFor(HttpMethod method, List parts) { } void parsePathParameters(List parts, Map parameters) { - for (int i = 0; i < parts.size(); ++i) { + int partsCount = parts.size(); + for (int i = 0; i < partsCount; ++i) { if (pathSegments.get(i).startsWith(":")) { parameters.put(pathSegments.get(i).substring(1), parts.get(i)); } diff --git a/java/src/org/openqa/selenium/remote/http/Route.java b/java/src/org/openqa/selenium/remote/http/Route.java index 047ed4247e7f8..d65f175ef8027 100644 --- a/java/src/org/openqa/selenium/remote/http/Route.java +++ b/java/src/org/openqa/selenium/remote/http/Route.java @@ -254,10 +254,11 @@ public boolean matches(HttpRequest request) { private boolean hasPrefix(HttpRequest request) { String[] parts = request.getUri().split("/"); - if (parts.length < prefixPaths.length) { + int prefixPathCount = prefixPaths.length; + if (parts.length < prefixPathCount) { return false; } - for (int i = 0; i < prefixPaths.length; i++) { + for (int i = 0; i < prefixPathCount; i++) { if (!prefixPaths[i].equals(parts[i])) { return false; } diff --git a/java/src/org/openqa/selenium/remote/http/UrlTemplate.java b/java/src/org/openqa/selenium/remote/http/UrlTemplate.java index c0d6d583cf7c5..427204c0a9498 100644 --- a/java/src/org/openqa/selenium/remote/http/UrlTemplate.java +++ b/java/src/org/openqa/selenium/remote/http/UrlTemplate.java @@ -69,7 +69,8 @@ public UrlTemplate(String template) { List allGroups = List.copyOf(groups); // do we hit a fast path? - switch (allGroups.size()) { + int groupsCount = allGroups.size(); + switch (groupsCount) { case 0: // no groups, just .equals this.compiled = (matchAgainst) -> { @@ -119,7 +120,7 @@ public UrlTemplate(String template) { } Map params = new LinkedHashMap<>(); - for (int i = 0; i < allGroups.size(); i++) { + for (int i = 0; i < groupsCount; i++) { params.put(allGroups.get(i), matcher.group(i + 1)); }