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