This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push: new bb95898255 Refactor. Use Deque and ArrayDeque rather than LinkedList bb95898255 is described below commit bb9589825578820abc08c65a1b1dff5a72c815b9 Author: Mark Thomas <ma...@apache.org> AuthorDate: Wed Oct 5 17:50:37 2022 +0100 Refactor. Use Deque and ArrayDeque rather than LinkedList --- java/org/apache/catalina/valves/RemoteIpValve.java | 6 +++--- java/org/apache/jasper/compiler/PageInfo.java | 13 +++++++------ java/org/apache/tomcat/util/scan/StandardJarScanner.java | 4 ++-- .../WEB-INF/classes/websocket/drawboard/Client.java | 6 +++--- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/java/org/apache/catalina/valves/RemoteIpValve.java b/java/org/apache/catalina/valves/RemoteIpValve.java index 7320acea3e..4fdf62ef0c 100644 --- a/java/org/apache/catalina/valves/RemoteIpValve.java +++ b/java/org/apache/catalina/valves/RemoteIpValve.java @@ -19,9 +19,9 @@ package org.apache.catalina.valves; import java.io.IOException; import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.ArrayDeque; import java.util.Deque; import java.util.Enumeration; -import java.util.LinkedList; import java.util.regex.Pattern; import jakarta.servlet.ServletException; @@ -598,7 +598,7 @@ public class RemoteIpValve extends ValveBase { if (isInternal || (trustedProxies != null && trustedProxies.matcher(originalRemoteAddr).matches())) { String remoteIp = null; - Deque<String> proxiesHeaderValue = new LinkedList<>(); + Deque<String> proxiesHeaderValue = new ArrayDeque<>(); StringBuilder concatRemoteIpHeaderValue = new StringBuilder(); for (Enumeration<String> e = request.getHeaders(remoteIpHeader); e.hasMoreElements();) { @@ -629,7 +629,7 @@ public class RemoteIpValve extends ValveBase { } } // continue to loop on remoteIpHeaderValue to build the new value of the remoteIpHeader - LinkedList<String> newRemoteIpHeaderValue = new LinkedList<>(); + Deque<String> newRemoteIpHeaderValue = new ArrayDeque<>(); for (; idx >= 0; idx--) { String currentRemoteIp = remoteIpHeaderValue[idx]; newRemoteIpHeaderValue.addFirst(currentRemoteIp); diff --git a/java/org/apache/jasper/compiler/PageInfo.java b/java/org/apache/jasper/compiler/PageInfo.java index f4d7383a23..94b3a1db5f 100644 --- a/java/org/apache/jasper/compiler/PageInfo.java +++ b/java/org/apache/jasper/compiler/PageInfo.java @@ -16,11 +16,12 @@ */ package org.apache.jasper.compiler; +import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; +import java.util.Deque; import java.util.HashMap; import java.util.HashSet; -import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -47,7 +48,7 @@ class PageInfo { private final Set<String> varInfoNames; private final HashMap<String,TagLibraryInfo> taglibsMap; private final HashMap<String, String> jspPrefixMapper; - private final HashMap<String, LinkedList<String>> xmlPrefixMapper; + private final HashMap<String, Deque<String>> xmlPrefixMapper; private final HashMap<String, Mark> nonCustomTagPrefixMap; private final String jspFile; private static final String defaultLanguage = "java"; @@ -337,9 +338,9 @@ class PageInfo { * @param uri The URI to be pushed onto the stack */ public void pushPrefixMapping(String prefix, String uri) { - LinkedList<String> stack = xmlPrefixMapper.get(prefix); + Deque<String> stack = xmlPrefixMapper.get(prefix); if (stack == null) { - stack = new LinkedList<>(); + stack = new ArrayDeque<>(); xmlPrefixMapper.put(prefix, stack); } stack.addFirst(uri); @@ -352,7 +353,7 @@ class PageInfo { * @param prefix The prefix whose stack of URIs is to be popped */ public void popPrefixMapping(String prefix) { - LinkedList<String> stack = xmlPrefixMapper.get(prefix); + Deque<String> stack = xmlPrefixMapper.get(prefix); stack.removeFirst(); } @@ -367,7 +368,7 @@ class PageInfo { String uri = null; - LinkedList<String> stack = xmlPrefixMapper.get(prefix); + Deque<String> stack = xmlPrefixMapper.get(prefix); if (stack == null || stack.size() == 0) { uri = jspPrefixMapper.get(prefix); } else { diff --git a/java/org/apache/tomcat/util/scan/StandardJarScanner.java b/java/org/apache/tomcat/util/scan/StandardJarScanner.java index a71e8c3e16..99f8cf8484 100644 --- a/java/org/apache/tomcat/util/scan/StandardJarScanner.java +++ b/java/org/apache/tomcat/util/scan/StandardJarScanner.java @@ -23,11 +23,11 @@ import java.net.MalformedURLException; import java.net.URI; import java.net.URL; import java.net.URLClassLoader; +import java.util.ArrayDeque; import java.util.Arrays; import java.util.Collections; import java.util.Deque; import java.util.HashSet; -import java.util.LinkedList; import java.util.Optional; import java.util.Set; import java.util.jar.Attributes; @@ -257,7 +257,7 @@ public class StandardJarScanner implements JarScanner { // Use a Deque so URLs can be removed as they are processed // and new URLs can be added as they are discovered during // processing. - Deque<URL> classPathUrlsToProcess = new LinkedList<>(); + Deque<URL> classPathUrlsToProcess = new ArrayDeque<>(); while (classLoader != null && classLoader != stopLoader) { if (classLoader instanceof URLClassLoader) { diff --git a/webapps/examples/WEB-INF/classes/websocket/drawboard/Client.java b/webapps/examples/WEB-INF/classes/websocket/drawboard/Client.java index b4c8da77ec..a99aad0805 100644 --- a/webapps/examples/WEB-INF/classes/websocket/drawboard/Client.java +++ b/webapps/examples/WEB-INF/classes/websocket/drawboard/Client.java @@ -17,7 +17,8 @@ package websocket.drawboard; import java.io.IOException; -import java.util.LinkedList; +import java.util.ArrayDeque; +import java.util.Deque; import jakarta.websocket.CloseReason; import jakarta.websocket.CloseReason.CloseCodes; @@ -43,8 +44,7 @@ public class Client { * Contains the messages which are buffered until the previous * send operation has finished. */ - private final LinkedList<AbstractWebsocketMessage> messagesToSend = - new LinkedList<>(); + private final Deque<AbstractWebsocketMessage> messagesToSend = new ArrayDeque<>(); /** * If this client is currently sending a messages asynchronously. */ --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org