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:13:16 UTC

[tomcat] branch 7.0.x updated: Bulk operation can be used instead of iteration

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

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


The following commit(s) were added to refs/heads/7.0.x by this push:
     new 903ad28  Bulk operation can be used instead of iteration
903ad28 is described below

commit 903ad28f726df77fe38db904d1daae3d05a7836c
Author: Lars Grefer <la...@materna.de>
AuthorDate: Tue Apr 7 18:04:47 2020 +0200

    Bulk operation can be used instead of iteration
---
 java/org/apache/catalina/core/ApplicationContext.java            | 4 +---
 java/org/apache/catalina/core/ApplicationFilterRegistration.java | 9 +++------
 java/org/apache/catalina/core/ApplicationHttpRequest.java        | 9 +++------
 java/org/apache/catalina/core/StandardContext.java               | 4 +---
 java/org/apache/catalina/ha/session/BackupManager.java           | 4 +---
 java/org/apache/catalina/session/PersistentManagerBase.java      | 5 ++---
 java/org/apache/catalina/startup/ContextConfig.java              | 4 +---
 test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java  | 5 ++---
 test/org/apache/tomcat/websocket/server/TestClose.java           | 5 ++---
 webapps/docs/changelog.xml                                       | 4 ++++
 10 files changed, 20 insertions(+), 33 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationContext.java b/java/org/apache/catalina/core/ApplicationContext.java
index 5a6acb6..7033395 100644
--- a/java/org/apache/catalina/core/ApplicationContext.java
+++ b/java/org/apache/catalina/core/ApplicationContext.java
@@ -1363,9 +1363,7 @@ public class ApplicationContext implements ServletContext {
 
         // Create list of attributes to be removed
         List<String> list = new ArrayList<String>();
-        for (String s : attributes.keySet()) {
-            list.add(s);
-        }
+        list.addAll(attributes.keySet());
 
         // Remove application originated attributes
         // (read only attributes will be left in place)
diff --git a/java/org/apache/catalina/core/ApplicationFilterRegistration.java b/java/org/apache/catalina/core/ApplicationFilterRegistration.java
index 746f492..cad9dca 100644
--- a/java/org/apache/catalina/core/ApplicationFilterRegistration.java
+++ b/java/org/apache/catalina/core/ApplicationFilterRegistration.java
@@ -17,6 +17,7 @@
 
 package org.apache.catalina.core;
 
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.EnumSet;
 import java.util.HashSet;
@@ -118,9 +119,7 @@ public class ApplicationFilterRegistration
 
         for (FilterMap filterMap : filterMaps) {
             if (filterMap.getFilterName().equals(filterDef.getFilterName())) {
-                for (String servletName : filterMap.getServletNames()) {
-                    result.add(servletName);
-                }
+                result.addAll(Arrays.asList(filterMap.getServletNames()));
             }
         }
         return result;
@@ -134,9 +133,7 @@ public class ApplicationFilterRegistration
 
         for (FilterMap filterMap : filterMaps) {
             if (filterMap.getFilterName().equals(filterDef.getFilterName())) {
-                for (String urlPattern : filterMap.getURLPatterns()) {
-                    result.add(urlPattern);
-                }
+                result.addAll(Arrays.asList(filterMap.getURLPatterns()));
             }
         }
         return result;
diff --git a/java/org/apache/catalina/core/ApplicationHttpRequest.java b/java/org/apache/catalina/core/ApplicationHttpRequest.java
index 3409da4..0d9ec1e 100644
--- a/java/org/apache/catalina/core/ApplicationHttpRequest.java
+++ b/java/org/apache/catalina/core/ApplicationHttpRequest.java
@@ -22,6 +22,7 @@ package org.apache.catalina.core;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.Map;
@@ -851,9 +852,7 @@ class ApplicationHttpRequest extends HttpServletRequestWrapper {
         if (values1 == null) {
             // Skip - nothing to merge
         } else if (values1 instanceof String[]) {
-            for (String value : (String[]) values1) {
-                results.add(value);
-            }
+            results.addAll(Arrays.asList(values1));
         } else { // String
             results.add(values1.toString());
         }
@@ -861,9 +860,7 @@ class ApplicationHttpRequest extends HttpServletRequestWrapper {
         if (values2 == null) {
             // Skip - nothing to merge
         } else if (values2 instanceof String[]) {
-            for (String value : (String[]) values2) {
-                results.add(value);
-            }
+            results.addAll(Arrays.asList(values2));
         } else { // String
             results.add(values2.toString());
         }
diff --git a/java/org/apache/catalina/core/StandardContext.java b/java/org/apache/catalina/core/StandardContext.java
index 949adcb..495f46a 100644
--- a/java/org/apache/catalina/core/StandardContext.java
+++ b/java/org/apache/catalina/core/StandardContext.java
@@ -5087,9 +5087,7 @@ public class StandardContext extends ContainerBase
         // Put them these listeners after the ones defined in web.xml and/or
         // annotations then overwrite the list of instances with the new, full
         // list.
-        for (Object eventListener: getApplicationEventListeners()) {
-            eventListeners.add(eventListener);
-        }
+        eventListeners.addAll(Arrays.asList(getApplicationEventListeners()));
         setApplicationEventListeners(eventListeners.toArray());
         for (Object lifecycleListener: getApplicationLifecycleListeners()) {
             lifecycleListeners.add(lifecycleListener);
diff --git a/java/org/apache/catalina/ha/session/BackupManager.java b/java/org/apache/catalina/ha/session/BackupManager.java
index b48aa7e..ac642f1 100644
--- a/java/org/apache/catalina/ha/session/BackupManager.java
+++ b/java/org/apache/catalina/ha/session/BackupManager.java
@@ -284,9 +284,7 @@ public class BackupManager extends ClusterManagerBase
         Set<String> sessionIds = new HashSet<String>();
         LazyReplicatedMap<String,Session> map =
                 (LazyReplicatedMap<String,Session>)sessions;
-        for (String id : map.keySetFull()) {
-            sessionIds.add(id);
-        }
+        sessionIds.addAll(map.keySetFull());
         return sessionIds;
     }
 
diff --git a/java/org/apache/catalina/session/PersistentManagerBase.java b/java/org/apache/catalina/session/PersistentManagerBase.java
index 77970d2..28541a8 100644
--- a/java/org/apache/catalina/session/PersistentManagerBase.java
+++ b/java/org/apache/catalina/session/PersistentManagerBase.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.security.AccessController;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -680,9 +681,7 @@ public abstract class PersistentManagerBase extends ManagerBase
         String[] storeKeys;
         try {
             storeKeys = getStore().keys();
-            for (String storeKey : storeKeys) {
-                sessionIds.add(storeKey);
-            }
+            sessionIds.addAll(Arrays.asList(storeKeys));
         } 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 030c800..ada14e1 100644
--- a/java/org/apache/catalina/startup/ContextConfig.java
+++ b/java/org/apache/catalina/startup/ContextConfig.java
@@ -1334,9 +1334,7 @@ public class ContextConfig implements LifecycleListener {
             // Spec does not define an order.
             // Use ordered JARs followed by remaining JARs
             Set<WebXml> resourceJars = new LinkedHashSet<WebXml>();
-            for (WebXml fragment : orderedFragments) {
-                resourceJars.add(fragment);
-            }
+            resourceJars.addAll(orderedFragments);
             for (WebXml fragment : fragments.values()) {
                 if (!resourceJars.contains(fragment)) {
                     resourceJars.add(fragment);
diff --git a/test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java b/test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java
index ba3f20c..f1fe195 100644
--- a/test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java
+++ b/test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java
@@ -20,6 +20,7 @@ import java.io.IOException;
 import java.net.URI;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -531,9 +532,7 @@ public class TestEncodingDecoding extends TomcatBaseTest {
             List<String> lst = new ArrayList<String>(1);
             str = str.substring(1,str.length()-1);
             String[] strings = str.split(",");
-            for (String t : strings){
-                lst.add(t);
-            }
+            lst.addAll(Arrays.asList(strings));
             return lst;
         }
 
diff --git a/test/org/apache/tomcat/websocket/server/TestClose.java b/test/org/apache/tomcat/websocket/server/TestClose.java
index 2c5ac4e..19d2c55 100644
--- a/test/org/apache/tomcat/websocket/server/TestClose.java
+++ b/test/org/apache/tomcat/websocket/server/TestClose.java
@@ -17,6 +17,7 @@
 package org.apache.tomcat.websocket.server;
 
 import java.io.IOException;
+import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
 import java.util.concurrent.CountDownLatch;
@@ -92,9 +93,7 @@ public class TestClose extends WebSocketBaseTest {
 
     public static void awaitOnClose(CloseCode... codes) {
         Set<CloseCode> set = new HashSet<CloseCode>();
-        for (CloseCode code : codes) {
-            set.add(code);
-        }
+        set.addAll(Arrays.asList(codes));
         awaitOnClose(set);
     }
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index d4361d5..c49e4ab 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -196,6 +196,10 @@
         Refactor loops with a condition to exit as soon as the condition is met.
         Pull request provided by Lars Grefer. (markt)
       </scode>
+      <scode>
+        Refactor bulk addition to collections to use <code>addAll()</code>
+        rather than a loop. Pull request provided by Lars Grefer. (markt)
+      </scode>
     </changelog>
   </subsection>
 </section>


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