You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2020/04/22 20:23:27 UTC

[tomcat] branch 8.5.x updated: Few more places where parameterized collection constructors can be used

This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/8.5.x by this push:
     new 27dfc54  Few more places where parameterized collection constructors can be used
27dfc54 is described below

commit 27dfc540a192376d967a155940df7e074752e83d
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Apr 22 21:18:59 2020 +0100

    Few more places where parameterized collection constructors can be used
---
 java/org/apache/catalina/core/ApplicationContext.java              | 3 +--
 java/org/apache/catalina/core/StandardContext.java                 | 4 +---
 java/org/apache/catalina/ha/session/BackupManager.java             | 6 ++----
 java/org/apache/catalina/session/PersistentManagerBase.java        | 6 ++----
 java/org/apache/catalina/startup/ContextConfig.java                | 3 +--
 java/org/apache/coyote/http11/AbstractHttp11Protocol.java          | 7 +++----
 java/org/apache/coyote/http2/StreamStateMachine.java               | 4 ++--
 java/org/apache/jasper/compiler/PageInfo.java                      | 3 +--
 java/org/apache/jasper/servlet/JspCServletContext.java             | 3 +--
 java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java | 4 ++--
 test/org/apache/tomcat/util/net/openssl/ciphers/TesterOpenSSL.java | 3 +--
 test/org/apache/tomcat/websocket/server/TestClose.java             | 3 +--
 12 files changed, 18 insertions(+), 31 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationContext.java b/java/org/apache/catalina/core/ApplicationContext.java
index 31419fe..fab9fac 100644
--- a/java/org/apache/catalina/core/ApplicationContext.java
+++ b/java/org/apache/catalina/core/ApplicationContext.java
@@ -1355,8 +1355,7 @@ public class ApplicationContext implements ServletContext {
     protected void clearAttributes() {
 
         // Create list of attributes to be removed
-        List<String> list = new ArrayList<>();
-        list.addAll(attributes.keySet());
+        List<String> list = new ArrayList<>(attributes.keySet());
 
         // Remove application originated attributes
         // (read only attributes will be left in place)
diff --git a/java/org/apache/catalina/core/StandardContext.java b/java/org/apache/catalina/core/StandardContext.java
index e8cbbe2..32f995a 100644
--- a/java/org/apache/catalina/core/StandardContext.java
+++ b/java/org/apache/catalina/core/StandardContext.java
@@ -3536,9 +3536,7 @@ public class StandardContext extends ContainerBase
      */
     @Override
     public String[] findParameters() {
-        List<String> parameterNames = new ArrayList<>(parameters.size());
-        parameterNames.addAll(parameters.keySet());
-        return parameterNames.toArray(new String[0]);
+        return parameters.keySet().toArray(new String[0]);
     }
 
 
diff --git a/java/org/apache/catalina/ha/session/BackupManager.java b/java/org/apache/catalina/ha/session/BackupManager.java
index 58e0903..0d52430 100644
--- a/java/org/apache/catalina/ha/session/BackupManager.java
+++ b/java/org/apache/catalina/ha/session/BackupManager.java
@@ -253,10 +253,8 @@ public class BackupManager extends ClusterManagerBase
 
     @Override
     public Set<String> getSessionIdsFull() {
-        Set<String> sessionIds = new HashSet<>();
-        LazyReplicatedMap<String,Session> map =
-                (LazyReplicatedMap<String,Session>)sessions;
-        sessionIds.addAll(map.keySetFull());
+        LazyReplicatedMap<String,Session> map = (LazyReplicatedMap<String,Session>)sessions;
+        Set<String> sessionIds = new HashSet<>(map.keySetFull());
         return sessionIds;
     }
 
diff --git a/java/org/apache/catalina/session/PersistentManagerBase.java b/java/org/apache/catalina/session/PersistentManagerBase.java
index 8213467..e83fcf2 100644
--- a/java/org/apache/catalina/session/PersistentManagerBase.java
+++ b/java/org/apache/catalina/session/PersistentManagerBase.java
@@ -655,11 +655,9 @@ public abstract class PersistentManagerBase extends ManagerBase
     public Set<String> getSessionIdsFull() {
         // In memory session ID list
         Set<String> sessionIds = new HashSet<>(sessions.keySet());
-        // Store session ID list
-        String[] storeKeys;
         try {
-            storeKeys = getStore().keys();
-            sessionIds.addAll(Arrays.asList(storeKeys));
+            // Store session ID list
+            sessionIds.addAll(Arrays.asList(getStore().keys()));
         } catch (IOException e) {
             log.warn(sm.getString("persistentManager.storeKeysException"));
         }
diff --git a/java/org/apache/catalina/startup/ContextConfig.java b/java/org/apache/catalina/startup/ContextConfig.java
index 79df4ec..fe8c87d 100644
--- a/java/org/apache/catalina/startup/ContextConfig.java
+++ b/java/org/apache/catalina/startup/ContextConfig.java
@@ -1177,8 +1177,7 @@ public class ContextConfig implements LifecycleListener {
         if (ok) {
             // Spec does not define an order.
             // Use ordered JARs followed by remaining JARs
-            Set<WebXml> resourceJars = new LinkedHashSet<>();
-            resourceJars.addAll(orderedFragments);
+            Set<WebXml> resourceJars = new LinkedHashSet<>(orderedFragments);
             for (WebXml fragment : fragments.values()) {
                 if (!resourceJars.contains(fragment)) {
                     resourceJars.add(fragment);
diff --git a/java/org/apache/coyote/http11/AbstractHttp11Protocol.java b/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
index dc853e1..9417ea9 100644
--- a/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
+++ b/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
@@ -450,10 +450,9 @@ public abstract class AbstractHttp11Protocol<S> extends AbstractProtocol<S> {
         return allowedTrailerHeaders;
     }
     public String getAllowedTrailerHeaders() {
-        // Chances of a size change between these lines are small enough that a
-        // sync is unnecessary.
-        List<String> copy = new ArrayList<>(allowedTrailerHeaders.size());
-        copy.addAll(allowedTrailerHeaders);
+        // Chances of a change during execution of this line are small enough
+        // that a sync is unnecessary.
+        List<String> copy = new ArrayList<>(allowedTrailerHeaders);
         return StringUtils.join(copy);
     }
     public void addAllowedTrailerHeader(String header) {
diff --git a/java/org/apache/coyote/http2/StreamStateMachine.java b/java/org/apache/coyote/http2/StreamStateMachine.java
index 4e57797..d63e56e 100644
--- a/java/org/apache/coyote/http2/StreamStateMachine.java
+++ b/java/org/apache/coyote/http2/StreamStateMachine.java
@@ -220,7 +220,7 @@ public class StreamStateMachine {
         private final boolean canReset;
         private final boolean connectionErrorForInvalidFrame;
         private final Http2Error errorCodeForInvalidFrame;
-        private final Set<FrameType> frameTypesPermitted = new HashSet<>();
+        private final Set<FrameType> frameTypesPermitted;
 
         private State(boolean canRead, boolean canWrite, boolean canReset,
                 boolean connectionErrorForInvalidFrame, Http2Error errorCode,
@@ -230,7 +230,7 @@ public class StreamStateMachine {
             this.canReset = canReset;
             this.connectionErrorForInvalidFrame = connectionErrorForInvalidFrame;
             this.errorCodeForInvalidFrame = errorCode;
-            frameTypesPermitted.addAll(Arrays.asList(frameTypes));
+            frameTypesPermitted = new HashSet<>(Arrays.asList(frameTypes));
         }
 
         public boolean isActive() {
diff --git a/java/org/apache/jasper/compiler/PageInfo.java b/java/org/apache/jasper/compiler/PageInfo.java
index 9aed5ba..ecc35fe 100644
--- a/java/org/apache/jasper/compiler/PageInfo.java
+++ b/java/org/apache/jasper/compiler/PageInfo.java
@@ -110,7 +110,6 @@ class PageInfo {
         this.jspPrefixMapper = new HashMap<>();
         this.xmlPrefixMapper = new HashMap<>();
         this.nonCustomTagPrefixMap = new HashMap<>();
-        this.imports = new Vector<>();
         this.dependants = new HashMap<>();
         this.includePrelude = new Vector<>();
         this.includeCoda = new Vector<>();
@@ -118,7 +117,7 @@ class PageInfo {
         this.prefixes = new HashSet<>();
 
         // Enter standard imports
-        imports.addAll(Constants.STANDARD_IMPORTS);
+        this.imports = new Vector<>(Constants.STANDARD_IMPORTS);
     }
 
     public boolean isTagFile() {
diff --git a/java/org/apache/jasper/servlet/JspCServletContext.java b/java/org/apache/jasper/servlet/JspCServletContext.java
index 620a5d1..aa833f4 100644
--- a/java/org/apache/jasper/servlet/JspCServletContext.java
+++ b/java/org/apache/jasper/servlet/JspCServletContext.java
@@ -191,8 +191,7 @@ public class JspCServletContext implements ServletContext {
             throws JasperException {
         List<URL> resourceJars = new ArrayList<>();
         // Build list of potential resource JARs. Use same ordering as ContextConfig
-        Set<WebXml> resourceFragments = new LinkedHashSet<>();
-        resourceFragments.addAll(orderedFragments);
+        Set<WebXml> resourceFragments = new LinkedHashSet<>(orderedFragments);
         for (WebXml fragment : fragments) {
             if (!resourceFragments.contains(fragment)) {
                 resourceFragments.add(fragment);
diff --git a/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java b/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
index 93c7a84..2f5c5ab 100644
--- a/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
+++ b/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
@@ -874,11 +874,11 @@ public class GenericKeyedObjectPool<K, T> extends BaseGenericObjectPool<T>
                 if(evictionIterator == null || !evictionIterator.hasNext()) {
                     if (evictionKeyIterator == null ||
                             !evictionKeyIterator.hasNext()) {
-                        final List<K> keyCopy = new ArrayList<>();
+                        final List<K> keyCopy;
                         final Lock readLock = keyLock.readLock();
                         readLock.lock();
                         try {
-                            keyCopy.addAll(poolKeyList);
+                            keyCopy = new ArrayList<>(poolKeyList);
                         } finally {
                             readLock.unlock();
                         }
diff --git a/test/org/apache/tomcat/util/net/openssl/ciphers/TesterOpenSSL.java b/test/org/apache/tomcat/util/net/openssl/ciphers/TesterOpenSSL.java
index 5ff2a5c..a5ce647 100644
--- a/test/org/apache/tomcat/util/net/openssl/ciphers/TesterOpenSSL.java
+++ b/test/org/apache/tomcat/util/net/openssl/ciphers/TesterOpenSSL.java
@@ -366,8 +366,7 @@ public class TesterOpenSSL {
 
     public static Set<String> getOpenSSLCiphersAsSet(String specification) throws Exception {
         String[] ciphers = getOpenSSLCiphersAsExpression(specification).trim().split(":");
-        Set<String> result = new HashSet<>(ciphers.length);
-        result.addAll(Arrays.asList(ciphers));
+        Set<String> result = new HashSet<>(Arrays.asList(ciphers));
         return result;
     }
 
diff --git a/test/org/apache/tomcat/websocket/server/TestClose.java b/test/org/apache/tomcat/websocket/server/TestClose.java
index 60e9aa5..b1e28a3 100644
--- a/test/org/apache/tomcat/websocket/server/TestClose.java
+++ b/test/org/apache/tomcat/websocket/server/TestClose.java
@@ -86,8 +86,7 @@ public class TestClose extends WebSocketBaseTest {
 
 
     public static void awaitOnClose(CloseCode... codes) {
-        Set<CloseCode> set = new HashSet<>();
-        set.addAll(Arrays.asList(codes));
+        Set<CloseCode> set = new HashSet<>(Arrays.asList(codes));
         awaitOnClose(set);
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org