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 de52937 Use empty arrays for Collections.toArray() de52937 is described below commit de52937beb1ca38603ae762a904d1be0855a3951 Author: Lars Grefer <lars.gre...@materna.de> AuthorDate: Tue Apr 7 18:09:26 2020 +0200 Use empty arrays for Collections.toArray() There are two styles to convert a collection to an array: either using a pre-sized array (like c.toArray(new String[c.size()])) or using an empty array (like c.toArray(new String[0]). In older Java versions using pre-sized array was recommended, as the reflection call which is necessary to create an array of proper size was quite slow. However since late updates of OpenJDK 6 this call was intrinsified, making the performance of the empty array version the same and sometimes even better, compared to the pre-sized version. See also: https://shipilev.net/blog/2016/arrays-wisdom-ancients/ --- java/javax/servlet/jsp/el/ImplicitObjectELResolver.java | 2 +- java/org/apache/catalina/core/ContainerBase.java | 2 +- java/org/apache/catalina/core/DefaultInstanceManager.java | 2 +- java/org/apache/catalina/core/StandardContext.java | 2 +- java/org/apache/catalina/core/StandardHost.java | 2 +- java/org/apache/catalina/core/StandardWrapper.java | 2 +- java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java | 2 +- java/org/apache/catalina/loader/WebappClassLoaderBase.java | 2 +- java/org/apache/catalina/mbeans/ContainerMBean.java | 4 ++-- java/org/apache/catalina/mbeans/GroupMBean.java | 4 ++-- java/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java | 6 +++--- java/org/apache/catalina/mbeans/NamingResourcesMBean.java | 6 +++--- java/org/apache/catalina/mbeans/UserMBean.java | 4 ++-- java/org/apache/catalina/realm/GenericPrincipal.java | 2 +- java/org/apache/catalina/servlets/CGIServlet.java | 2 +- java/org/apache/catalina/servlets/DefaultServlet.java | 2 +- java/org/apache/catalina/session/FileStore.java | 2 +- java/org/apache/catalina/session/JDBCStore.java | 2 +- java/org/apache/catalina/startup/Bootstrap.java | 2 +- java/org/apache/catalina/startup/ClassLoaderFactory.java | 4 ++-- java/org/apache/catalina/startup/HostConfig.java | 2 +- java/org/apache/catalina/storeconfig/StandardContextSF.java | 2 +- java/org/apache/catalina/tribes/ChannelException.java | 2 +- java/org/apache/catalina/tribes/group/RpcChannel.java | 2 +- .../tribes/group/interceptors/TcpFailureDetector.java | 4 ++-- .../tribes/group/interceptors/TwoPhaseCommitInterceptor.java | 2 +- .../apache/catalina/tribes/tipis/AbstractReplicatedMap.java | 4 ++-- java/org/apache/catalina/tribes/tipis/ReplicatedMap.java | 2 +- .../catalina/tribes/transport/bio/MultipointBioSender.java | 2 +- java/org/apache/catalina/tribes/util/Arrays.java | 4 ++-- java/org/apache/catalina/util/ErrorPageSupport.java | 2 +- .../apache/catalina/valves/StuckThreadDetectionValve.java | 2 +- .../catalina/webresources/AbstractArchiveResourceSet.java | 2 +- java/org/apache/catalina/webresources/StandardRoot.java | 12 ++++++------ java/org/apache/coyote/CompressionConfig.java | 2 +- java/org/apache/el/parser/AstMethodParameters.java | 2 +- java/org/apache/el/stream/Stream.java | 2 +- java/org/apache/jasper/compiler/JavacErrorDetail.java | 2 +- java/org/apache/jasper/compiler/TagLibraryInfoImpl.java | 12 ++++++------ java/org/apache/jasper/compiler/Validator.java | 2 +- .../apache/naming/factory/webservices/ServiceRefFactory.java | 2 +- java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java | 4 ++-- .../apache/tomcat/dbcp/dbcp2/PoolableCallableStatement.java | 2 +- .../apache/tomcat/dbcp/dbcp2/PoolablePreparedStatement.java | 2 +- java/org/apache/tomcat/dbcp/dbcp2/PoolingDriver.java | 2 +- java/org/apache/tomcat/util/descriptor/web/FilterMap.java | 2 +- .../tomcat/util/descriptor/web/SecurityConstraint.java | 4 ++-- java/org/apache/tomcat/util/http/Parameters.java | 2 +- java/org/apache/tomcat/util/modeler/BaseAttributeFilter.java | 2 +- java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java | 2 +- java/org/apache/tomcat/util/net/SSLUtilBase.java | 6 +++--- java/org/apache/tomcat/util/net/WriteBuffer.java | 2 +- java/org/apache/tomcat/util/net/jsse/JSSESSLContext.java | 2 +- java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java | 2 +- java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java | 6 +++--- .../catalina/valves/TestLoadBalancerDrainingValve.java | 2 +- test/org/apache/tomcat/unittest/TesterContext.java | 4 ++-- .../tomcat/util/net/openssl/ciphers/TesterOpenSSL.java | 4 ++-- webapps/docs/changelog.xml | 4 ++++ .../classes/compressionFilters/CompressionFilter.java | 2 +- 60 files changed, 92 insertions(+), 88 deletions(-) diff --git a/java/javax/servlet/jsp/el/ImplicitObjectELResolver.java b/java/javax/servlet/jsp/el/ImplicitObjectELResolver.java index 43ecded..94a9dec 100644 --- a/java/javax/servlet/jsp/el/ImplicitObjectELResolver.java +++ b/java/javax/servlet/jsp/el/ImplicitObjectELResolver.java @@ -323,7 +323,7 @@ public class ImplicitObjectELResolver extends ELResolver { while (e.hasMoreElements()) { list.add(e.nextElement()); } - return list.toArray(new String[list.size()]); + return list.toArray(new String[0]); } return null; } diff --git a/java/org/apache/catalina/core/ContainerBase.java b/java/org/apache/catalina/core/ContainerBase.java index 4668c1a..4c6ab74 100644 --- a/java/org/apache/catalina/core/ContainerBase.java +++ b/java/org/apache/catalina/core/ContainerBase.java @@ -1264,7 +1264,7 @@ public abstract class ContainerBase extends LifecycleMBeanBase names.add(((ContainerBase)next).getObjectName()); } } - return names.toArray(new ObjectName[names.size()]); + return names.toArray(new ObjectName[0]); } diff --git a/java/org/apache/catalina/core/DefaultInstanceManager.java b/java/org/apache/catalina/core/DefaultInstanceManager.java index 0b71b8b..b7417d4 100644 --- a/java/org/apache/catalina/core/DefaultInstanceManager.java +++ b/java/org/apache/catalina/core/DefaultInstanceManager.java @@ -445,7 +445,7 @@ public class DefaultInstanceManager implements InstanceManager { annotationsArray = ANNOTATIONS_EMPTY; } else { annotationsArray = annotations.toArray( - new AnnotationCacheEntry[annotations.size()]); + new AnnotationCacheEntry[0]); } synchronized (annotationCache) { annotationCache.put(clazz, annotationsArray); diff --git a/java/org/apache/catalina/core/StandardContext.java b/java/org/apache/catalina/core/StandardContext.java index fcf3463..a024fb0 100644 --- a/java/org/apache/catalina/core/StandardContext.java +++ b/java/org/apache/catalina/core/StandardContext.java @@ -3538,7 +3538,7 @@ public class StandardContext extends ContainerBase public String[] findParameters() { List<String> parameterNames = new ArrayList<>(parameters.size()); parameterNames.addAll(parameters.keySet()); - return parameterNames.toArray(new String[parameterNames.size()]); + return parameterNames.toArray(new String[0]); } diff --git a/java/org/apache/catalina/core/StandardHost.java b/java/org/apache/catalina/core/StandardHost.java index 1739834..8a4a1a0 100644 --- a/java/org/apache/catalina/core/StandardHost.java +++ b/java/org/apache/catalina/core/StandardHost.java @@ -749,7 +749,7 @@ public class StandardHost extends ContainerBase implements Host { } } - return result.toArray(new String[result.size()]); + return result.toArray(new String[0]); } /** diff --git a/java/org/apache/catalina/core/StandardWrapper.java b/java/org/apache/catalina/core/StandardWrapper.java index d0dd4b2..6439ada 100644 --- a/java/org/apache/catalina/core/StandardWrapper.java +++ b/java/org/apache/catalina/core/StandardWrapper.java @@ -906,7 +906,7 @@ public class StandardWrapper extends ContainerBase mappingsLock.readLock().lock(); try { - return mappings.toArray(new String[mappings.size()]); + return mappings.toArray(new String[0]); } finally { mappingsLock.readLock().unlock(); } diff --git a/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java b/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java index 2006643..03e6d3e 100644 --- a/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java +++ b/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java @@ -263,7 +263,7 @@ public class SimpleTcpCluster extends LifecycleMBeanBase */ @Override public Valve[] getValves() { - return valves.toArray(new Valve[valves.size()]); + return valves.toArray(new Valve[0]); } /** diff --git a/java/org/apache/catalina/loader/WebappClassLoaderBase.java b/java/org/apache/catalina/loader/WebappClassLoaderBase.java index 9d1e0de..943de9d 100644 --- a/java/org/apache/catalina/loader/WebappClassLoaderBase.java +++ b/java/org/apache/catalina/loader/WebappClassLoaderBase.java @@ -1439,7 +1439,7 @@ public abstract class WebappClassLoaderBase extends URLClassLoader ArrayList<URL> result = new ArrayList<>(); result.addAll(localRepositories); result.addAll(Arrays.asList(super.getURLs())); - return result.toArray(new URL[result.size()]); + return result.toArray(new URL[0]); } diff --git a/java/org/apache/catalina/mbeans/ContainerMBean.java b/java/org/apache/catalina/mbeans/ContainerMBean.java index 0798f32..d696782 100644 --- a/java/org/apache/catalina/mbeans/ContainerMBean.java +++ b/java/org/apache/catalina/mbeans/ContainerMBean.java @@ -195,7 +195,7 @@ public class ContainerMBean extends BaseCatalinaMBean<ContainerBase> { result.add(listener.getClass().getName()); } - return result.toArray(new String[result.size()]); + return result.toArray(new String[0]); } @@ -214,6 +214,6 @@ public class ContainerMBean extends BaseCatalinaMBean<ContainerBase> { result.add(listener.getClass().getName()); } - return result.toArray(new String[result.size()]); + return result.toArray(new String[0]); } } diff --git a/java/org/apache/catalina/mbeans/GroupMBean.java b/java/org/apache/catalina/mbeans/GroupMBean.java index 7d94378..43bf48d 100644 --- a/java/org/apache/catalina/mbeans/GroupMBean.java +++ b/java/org/apache/catalina/mbeans/GroupMBean.java @@ -70,7 +70,7 @@ public class GroupMBean extends BaseModelMBean { throw iae; } } - return results.toArray(new String[results.size()]); + return results.toArray(new String[0]); } @@ -95,7 +95,7 @@ public class GroupMBean extends BaseModelMBean { throw iae; } } - return results.toArray(new String[results.size()]); + return results.toArray(new String[0]); } diff --git a/java/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java b/java/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java index 519f8ad..8f85f8f 100644 --- a/java/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java +++ b/java/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java @@ -83,7 +83,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean { Group group = groups.next(); results.add(findGroup(group.getGroupname())); } - return results.toArray(new String[results.size()]); + return results.toArray(new String[0]); } @@ -98,7 +98,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean { Role role = roles.next(); results.add(findRole(role.getRolename())); } - return results.toArray(new String[results.size()]); + return results.toArray(new String[0]); } @@ -113,7 +113,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean { User user = users.next(); results.add(findUser(user.getUsername())); } - return results.toArray(new String[results.size()]); + return results.toArray(new String[0]); } diff --git a/java/org/apache/catalina/mbeans/NamingResourcesMBean.java b/java/org/apache/catalina/mbeans/NamingResourcesMBean.java index 9cd0eb7..20696e2 100644 --- a/java/org/apache/catalina/mbeans/NamingResourcesMBean.java +++ b/java/org/apache/catalina/mbeans/NamingResourcesMBean.java @@ -72,7 +72,7 @@ public class NamingResourcesMBean extends BaseModelMBean { throw iae; } } - return results.toArray(new String[results.size()]); + return results.toArray(new String[0]); } @@ -95,7 +95,7 @@ public class NamingResourcesMBean extends BaseModelMBean { throw iae; } } - return results.toArray(new String[results.size()]); + return results.toArray(new String[0]); } @@ -120,7 +120,7 @@ public class NamingResourcesMBean extends BaseModelMBean { throw iae; } } - return results.toArray(new String[results.size()]); + return results.toArray(new String[0]); } diff --git a/java/org/apache/catalina/mbeans/UserMBean.java b/java/org/apache/catalina/mbeans/UserMBean.java index e68ad17..8093813 100644 --- a/java/org/apache/catalina/mbeans/UserMBean.java +++ b/java/org/apache/catalina/mbeans/UserMBean.java @@ -77,7 +77,7 @@ public class UserMBean extends BaseModelMBean { throw iae; } } - return results.toArray(new String[results.size()]); + return results.toArray(new String[0]); } @@ -103,7 +103,7 @@ public class UserMBean extends BaseModelMBean { throw iae; } } - return results.toArray(new String[results.size()]); + return results.toArray(new String[0]); } diff --git a/java/org/apache/catalina/realm/GenericPrincipal.java b/java/org/apache/catalina/realm/GenericPrincipal.java index caaf352..70e124e 100644 --- a/java/org/apache/catalina/realm/GenericPrincipal.java +++ b/java/org/apache/catalina/realm/GenericPrincipal.java @@ -110,7 +110,7 @@ public class GenericPrincipal implements TomcatPrincipal, Serializable { if (roles == null) { this.roles = new String[0]; } else { - this.roles = roles.toArray(new String[roles.size()]); + this.roles = roles.toArray(new String[0]); if (this.roles.length > 1) { Arrays.sort(this.roles); } diff --git a/java/org/apache/catalina/servlets/CGIServlet.java b/java/org/apache/catalina/servlets/CGIServlet.java index 3e7b9eb..b59d7ea 100644 --- a/java/org/apache/catalina/servlets/CGIServlet.java +++ b/java/org/apache/catalina/servlets/CGIServlet.java @@ -1644,7 +1644,7 @@ public final class CGIServlet extends HttpServlet { try { rt = Runtime.getRuntime(); proc = rt.exec( - cmdAndArgs.toArray(new String[cmdAndArgs.size()]), + cmdAndArgs.toArray(new String[0]), hashToStringArray(env), wd); String sContentLength = env.get("CONTENT_LENGTH"); diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java b/java/org/apache/catalina/servlets/DefaultServlet.java index 2e7bc46..8bcb3ce 100644 --- a/java/org/apache/catalina/servlets/DefaultServlet.java +++ b/java/org/apache/catalina/servlets/DefaultServlet.java @@ -411,7 +411,7 @@ public class DefaultServlet extends HttpServlet { // gzip handling is for backwards compatibility with Tomcat 8.x ret.add(new CompressionFormat(".gz", "gzip")); } - return ret.toArray(new CompressionFormat[ret.size()]); + return ret.toArray(new CompressionFormat[0]); } diff --git a/java/org/apache/catalina/session/FileStore.java b/java/org/apache/catalina/session/FileStore.java index 73016ff..ee5d298 100644 --- a/java/org/apache/catalina/session/FileStore.java +++ b/java/org/apache/catalina/session/FileStore.java @@ -191,7 +191,7 @@ public final class FileStore extends StoreBase { list.add (file.substring(0, file.length() - n)); } } - return list.toArray(new String[list.size()]); + return list.toArray(new String[0]); } diff --git a/java/org/apache/catalina/session/JDBCStore.java b/java/org/apache/catalina/session/JDBCStore.java index cee2f80..ced698d 100644 --- a/java/org/apache/catalina/session/JDBCStore.java +++ b/java/org/apache/catalina/session/JDBCStore.java @@ -530,7 +530,7 @@ public class JDBCStore extends StoreBase { tmpkeys.add(rst.getString(1)); } } - keys = tmpkeys.toArray(new String[tmpkeys.size()]); + keys = tmpkeys.toArray(new String[0]); // Break out after the finally block numberOfTries = 0; } diff --git a/java/org/apache/catalina/startup/Bootstrap.java b/java/org/apache/catalina/startup/Bootstrap.java index 1497e41..fdb5266 100644 --- a/java/org/apache/catalina/startup/Bootstrap.java +++ b/java/org/apache/catalina/startup/Bootstrap.java @@ -589,6 +589,6 @@ public final class Bootstrap { result.add(path); } - return result.toArray(new String[result.size()]); + return result.toArray(new String[0]); } } diff --git a/java/org/apache/catalina/startup/ClassLoaderFactory.java b/java/org/apache/catalina/startup/ClassLoaderFactory.java index ab31444..aacc9f3 100644 --- a/java/org/apache/catalina/startup/ClassLoaderFactory.java +++ b/java/org/apache/catalina/startup/ClassLoaderFactory.java @@ -121,7 +121,7 @@ public final class ClassLoaderFactory { } // Construct the class loader itself - final URL[] array = set.toArray(new URL[set.size()]); + final URL[] array = set.toArray(new URL[0]); return AccessController.doPrivileged( new PrivilegedAction<URLClassLoader>() { @Override @@ -218,7 +218,7 @@ public final class ClassLoaderFactory { } // Construct the class loader itself - final URL[] array = set.toArray(new URL[set.size()]); + final URL[] array = set.toArray(new URL[0]); if (log.isDebugEnabled()) for (int i = 0; i < array.length; i++) { log.debug(" location " + i + " is " + array[i]); diff --git a/java/org/apache/catalina/startup/HostConfig.java b/java/org/apache/catalina/startup/HostConfig.java index 9c35bed..1159127 100644 --- a/java/org/apache/catalina/startup/HostConfig.java +++ b/java/org/apache/catalina/startup/HostConfig.java @@ -460,7 +460,7 @@ public class HostConfig implements LifecycleListener { filteredList.add(appPath); } } - return filteredList.toArray(new String[filteredList.size()]); + return filteredList.toArray(new String[0]); } diff --git a/java/org/apache/catalina/storeconfig/StandardContextSF.java b/java/org/apache/catalina/storeconfig/StandardContextSF.java index 3939ab8..b9a3b4b 100644 --- a/java/org/apache/catalina/storeconfig/StandardContextSF.java +++ b/java/org/apache/catalina/storeconfig/StandardContextSF.java @@ -363,7 +363,7 @@ public class StandardContextSF extends StoreFactoryBase { continue; resource.add(wresources[i]); } - return resource.toArray(new String[resource.size()]); + return resource.toArray(new String[0]); } } diff --git a/java/org/apache/catalina/tribes/ChannelException.java b/java/org/apache/catalina/tribes/ChannelException.java index ef13bba..6711385 100644 --- a/java/org/apache/catalina/tribes/ChannelException.java +++ b/java/org/apache/catalina/tribes/ChannelException.java @@ -135,7 +135,7 @@ public class ChannelException extends Exception { */ public FaultyMember[] getFaultyMembers() { if ( this.faultyMembers==null ) return EMPTY_LIST; - return faultyMembers.toArray(new FaultyMember[faultyMembers.size()]); + return faultyMembers.toArray(new FaultyMember[0]); } /** diff --git a/java/org/apache/catalina/tribes/group/RpcChannel.java b/java/org/apache/catalina/tribes/group/RpcChannel.java index 79d2d5b..2c21659 100644 --- a/java/org/apache/catalina/tribes/group/RpcChannel.java +++ b/java/org/apache/catalina/tribes/group/RpcChannel.java @@ -274,7 +274,7 @@ public class RpcChannel implements ChannelListener { } public Response[] getResponses() { - return responses.toArray(new Response[responses.size()]); + return responses.toArray(new Response[0]); } } diff --git a/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java b/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java index 3faba6f..f09c4dc 100644 --- a/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java +++ b/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java @@ -276,7 +276,7 @@ public class TcpFailureDetector extends ChannelInterceptorBase implements TcpFai //check suspect members if they are still alive, //if not, simply issue the memberDisappeared message - Member[] keys = removeSuspects.keySet().toArray(new Member[removeSuspects.size()]); + Member[] keys = removeSuspects.keySet().toArray(new Member[0]); for (int i = 0; i < keys.length; i++) { Member m = keys[i]; if (membership.getMember(m) != null && (!memberAlive(m))) { @@ -301,7 +301,7 @@ public class TcpFailureDetector extends ChannelInterceptorBase implements TcpFai //check add suspects members if they are alive now, //if they are, simply issue the memberAdded message - keys = addSuspects.keySet().toArray(new Member[addSuspects.size()]); + keys = addSuspects.keySet().toArray(new Member[0]); for (int i = 0; i < keys.length; i++) { Member m = keys[i]; if ( membership.getMember(m) == null && (memberAlive(m))) { diff --git a/java/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java b/java/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java index 859c3ce..ef70f1a 100644 --- a/java/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java +++ b/java/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java @@ -111,7 +111,7 @@ public class TwoPhaseCommitInterceptor extends ChannelInterceptorBase { try { long now = System.currentTimeMillis(); @SuppressWarnings("unchecked") - Map.Entry<UniqueId,MapEntry>[] entries = messages.entrySet().toArray(new Map.Entry[messages.size()]); + Map.Entry<UniqueId,MapEntry>[] entries = messages.entrySet().toArray(new Map.Entry[0]); for (int i=0; i<entries.length; i++ ) { MapEntry entry = entries[i].getValue(); if ( entry.expired(now,expire) ) { diff --git a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java index 4f2cc04..2236c50 100644 --- a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java +++ b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java @@ -312,7 +312,7 @@ public abstract class AbstractReplicatedMap<K,V> } //update our map of members, expire some if we didn't receive a ping back synchronized (mapMembers) { - Member[] members = mapMembers.keySet().toArray(new Member[mapMembers.size()]); + Member[] members = mapMembers.keySet().toArray(new Member[0]); long now = System.currentTimeMillis(); for (Member member : members) { long access = mapMembers.get(member).longValue(); @@ -836,7 +836,7 @@ public abstract class AbstractReplicatedMap<K,V> if ( mbrs[j].equals(set[i]) ) include = false; if ( include ) result.add(set[i]); } - return result.toArray(new Member[result.size()]); + return result.toArray(new Member[0]); } @Override diff --git a/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java b/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java index a739bd2..ac6cbda 100644 --- a/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java +++ b/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java @@ -159,7 +159,7 @@ public class ReplicatedMap<K,V> extends AbstractReplicatedMap<K,V> { faulty.add(faultyMember.getMember()); } } - Member[] realFaultyMembers = faulty.toArray(new Member[faulty.size()]); + Member[] realFaultyMembers = faulty.toArray(new Member[0]); if (realFaultyMembers.length != 0) { backup = excludeFromSet(realFaultyMembers, backup); if (backup.length == 0) { diff --git a/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java b/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java index 102d89c..375a36e 100644 --- a/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java +++ b/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java @@ -143,7 +143,7 @@ public class MultipointBioSender extends AbstractSender implements MultiPointSen public boolean keepalive() { boolean result = false; @SuppressWarnings("unchecked") - Map.Entry<Member,BioSender>[] entries = bioSenders.entrySet().toArray(new Map.Entry[bioSenders.size()]); + Map.Entry<Member,BioSender>[] entries = bioSenders.entrySet().toArray(new Map.Entry[0]); for ( int i=0; i<entries.length; i++ ) { BioSender sender = entries[i].getValue(); if ( sender.keepalive() ) { diff --git a/java/org/apache/catalina/tribes/util/Arrays.java b/java/org/apache/catalina/tribes/util/Arrays.java index 16f12ac..2aaeea6 100644 --- a/java/org/apache/catalina/tribes/util/Arrays.java +++ b/java/org/apache/catalina/tribes/util/Arrays.java @@ -159,7 +159,7 @@ public class Arrays { if ( ignore!=null && ignore.equals(comp[i]) ) continue; if ( local.getMember(comp[i]) == null ) result.add(comp[i]); } - return result.toArray(new Member[result.size()]); + return result.toArray(new Member[0]); } public static Member[] remove(Member[] all, Member remove) { @@ -170,7 +170,7 @@ public class Arrays { List<Member> alist = java.util.Arrays.asList(all); ArrayList<Member> list = new ArrayList<>(alist); for (int i=0; i<remove.length; i++ ) list.remove(remove[i]); - return list.toArray(new Member[list.size()]); + return list.toArray(new Member[0]); } public static int indexOf(Member member, Member[] members) { diff --git a/java/org/apache/catalina/util/ErrorPageSupport.java b/java/org/apache/catalina/util/ErrorPageSupport.java index 202d568..0a241e8 100644 --- a/java/org/apache/catalina/util/ErrorPageSupport.java +++ b/java/org/apache/catalina/util/ErrorPageSupport.java @@ -103,6 +103,6 @@ public class ErrorPageSupport { Set<ErrorPage> errorPages = new HashSet<>(); errorPages.addAll(exceptionPages.values()); errorPages.addAll(statusPages.values()); - return errorPages.toArray(new ErrorPage[errorPages.size()]); + return errorPages.toArray(new ErrorPage[0]); } } diff --git a/java/org/apache/catalina/valves/StuckThreadDetectionValve.java b/java/org/apache/catalina/valves/StuckThreadDetectionValve.java index 0a7966e..abd6224 100644 --- a/java/org/apache/catalina/valves/StuckThreadDetectionValve.java +++ b/java/org/apache/catalina/valves/StuckThreadDetectionValve.java @@ -271,7 +271,7 @@ public class StuckThreadDetectionValve extends ValveBase { nameList.add(monitoredThread.getThread().getName()); } } - return nameList.toArray(new String[nameList.size()]); + return nameList.toArray(new String[0]); } public long getInterruptedThreadsCount() { diff --git a/java/org/apache/catalina/webresources/AbstractArchiveResourceSet.java b/java/org/apache/catalina/webresources/AbstractArchiveResourceSet.java index a69c3ff..23adb9a 100644 --- a/java/org/apache/catalina/webresources/AbstractArchiveResourceSet.java +++ b/java/org/apache/catalina/webresources/AbstractArchiveResourceSet.java @@ -110,7 +110,7 @@ public abstract class AbstractArchiveResourceSet extends AbstractResourceSet { } } } - return result.toArray(new String[result.size()]); + return result.toArray(new String[0]); } @Override diff --git a/java/org/apache/catalina/webresources/StandardRoot.java b/java/org/apache/catalina/webresources/StandardRoot.java index 444bc81..c5592c9 100644 --- a/java/org/apache/catalina/webresources/StandardRoot.java +++ b/java/org/apache/catalina/webresources/StandardRoot.java @@ -133,7 +133,7 @@ public class StandardRoot extends LifecycleMBeanBase implements WebResourceRoot } } } - return result.toArray(new String[result.size()]); + return result.toArray(new String[0]); } @@ -336,7 +336,7 @@ public class StandardRoot extends LifecycleMBeanBase implements WebResourceRoot result.add(main.getResource(path)); } - return result.toArray(new WebResource[result.size()]); + return result.toArray(new WebResource[0]); } @Override @@ -437,7 +437,7 @@ public class StandardRoot extends LifecycleMBeanBase implements WebResourceRoot @Override public WebResourceSet[] getPreResources() { - return preResources.toArray(new WebResourceSet[preResources.size()]); + return preResources.toArray(new WebResourceSet[0]); } @Override @@ -448,7 +448,7 @@ public class StandardRoot extends LifecycleMBeanBase implements WebResourceRoot @Override public WebResourceSet[] getJarResources() { - return jarResources.toArray(new WebResourceSet[jarResources.size()]); + return jarResources.toArray(new WebResourceSet[0]); } @Override @@ -459,11 +459,11 @@ public class StandardRoot extends LifecycleMBeanBase implements WebResourceRoot @Override public WebResourceSet[] getPostResources() { - return postResources.toArray(new WebResourceSet[postResources.size()]); + return postResources.toArray(new WebResourceSet[0]); } protected WebResourceSet[] getClassResources() { - return classResources.toArray(new WebResourceSet[classResources.size()]); + return classResources.toArray(new WebResourceSet[0]); } protected void addClassResources(WebResourceSet webResourceSet) { diff --git a/java/org/apache/coyote/CompressionConfig.java b/java/org/apache/coyote/CompressionConfig.java index 5d26c88..5dffcf5 100644 --- a/java/org/apache/coyote/CompressionConfig.java +++ b/java/org/apache/coyote/CompressionConfig.java @@ -161,7 +161,7 @@ public class CompressionConfig { values.add(token); } } - result = values.toArray(new String[values.size()]); + result = values.toArray(new String[0]); compressibleMimeTypes = result; return result; } diff --git a/java/org/apache/el/parser/AstMethodParameters.java b/java/org/apache/el/parser/AstMethodParameters.java index 29fe15e..ed1291c 100644 --- a/java/org/apache/el/parser/AstMethodParameters.java +++ b/java/org/apache/el/parser/AstMethodParameters.java @@ -32,7 +32,7 @@ public final class AstMethodParameters extends SimpleNode { for (int i = 0; i < this.jjtGetNumChildren(); i++) { params.add(this.jjtGetChild(i).getValue(ctx)); } - return params.toArray(new Object[params.size()]); + return params.toArray(new Object[0]); } @Override diff --git a/java/org/apache/el/stream/Stream.java b/java/org/apache/el/stream/Stream.java index 85fe57a..93fd1ad 100644 --- a/java/org/apache/el/stream/Stream.java +++ b/java/org/apache/el/stream/Stream.java @@ -260,7 +260,7 @@ public class Stream { while (iterator.hasNext()) { result.add(iterator.next()); } - return result.toArray(new Object[result.size()]); + return result.toArray(new Object[0]); } diff --git a/java/org/apache/jasper/compiler/JavacErrorDetail.java b/java/org/apache/jasper/compiler/JavacErrorDetail.java index 4386fcc..1321afc 100644 --- a/java/org/apache/jasper/compiler/JavacErrorDetail.java +++ b/java/org/apache/jasper/compiler/JavacErrorDetail.java @@ -226,6 +226,6 @@ public class JavacErrorDetail { lines.add(line); } - return lines.toArray( new String[lines.size()] ); + return lines.toArray(new String[0]); } } diff --git a/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java b/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java index d5f35bd..50a7536 100644 --- a/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java +++ b/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java @@ -221,9 +221,9 @@ class TagLibraryInfoImpl extends TagLibraryInfo implements TagConstants { err.jspError("jsp.error.tld.mandatory.element.missing", "jsp-version", uri); } - this.tags = tagInfos.toArray(new TagInfo[tagInfos.size()]); - this.tagFiles = tagFileInfos.toArray(new TagFileInfo[tagFileInfos.size()]); - this.functions = functionInfos.toArray(new FunctionInfo[functionInfos.size()]); + this.tags = tagInfos.toArray(new TagInfo[0]); + this.tagFiles = tagFileInfos.toArray(new TagFileInfo[0]); + this.functions = functionInfos.toArray(new FunctionInfo[0]); } catch (IOException ioe) { throw new JasperException(ioe); } @@ -232,7 +232,7 @@ class TagLibraryInfoImpl extends TagLibraryInfo implements TagConstants { @Override public TagLibraryInfo[] getTagLibraryInfos() { Collection<TagLibraryInfo> coll = pi.getTaglibs(); - return coll.toArray(new TagLibraryInfo[coll.size()]); + return coll.toArray(new TagLibraryInfo[0]); } /* @@ -305,11 +305,11 @@ class TagLibraryInfoImpl extends TagLibraryInfo implements TagConstants { tagXml.getInfo(), this, tei, - attributeInfos.toArray(new TagAttributeInfo[attributeInfos.size()]), + attributeInfos.toArray(new TagAttributeInfo[0]), tagXml.getDisplayName(), tagXml.getSmallIcon(), tagXml.getLargeIcon(), - variableInfos.toArray(new TagVariableInfo[variableInfos.size()]), + variableInfos.toArray(new TagVariableInfo[0]), tagXml.hasDynamicAttributes()); } diff --git a/java/org/apache/jasper/compiler/Validator.java b/java/org/apache/jasper/compiler/Validator.java index 11425dc..2a6820a 100644 --- a/java/org/apache/jasper/compiler/Validator.java +++ b/java/org/apache/jasper/compiler/Validator.java @@ -1687,7 +1687,7 @@ class Validator { } start = p + 1; } - return params.toArray(new String[params.size()]); + return params.toArray(new String[0]); } private FunctionMapper getFunctionMapper(ELNode.Nodes el) diff --git a/java/org/apache/naming/factory/webservices/ServiceRefFactory.java b/java/org/apache/naming/factory/webservices/ServiceRefFactory.java index 1f37d30..904893a 100644 --- a/java/org/apache/naming/factory/webservices/ServiceRefFactory.java +++ b/java/org/apache/naming/factory/webservices/ServiceRefFactory.java @@ -290,7 +290,7 @@ public class ServiceRefFactory implements ObjectFactory { // Set the handlers informations handlerInfo.setHandlerClass(handlerClass); - handlerInfo.setHeaders(headers.toArray(new QName[headers.size()])); + handlerInfo.setHeaders(headers.toArray(new QName[0])); handlerInfo.setHandlerConfig(config); if (!portNames.isEmpty()) { diff --git a/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java b/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java index 4af74ab..0293e9a 100644 --- a/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java +++ b/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java @@ -802,7 +802,7 @@ public class BasicDataSource implements DataSource, BasicDataSourceMXBean, MBean @Override public String[] getConnectionInitSqlsAsArray() { final Collection<String> result = getConnectionInitSqls(); - return result.toArray(new String[result.size()]); + return result.toArray(new String[0]); } protected GenericObjectPool<PoolableConnection> getConnectionPool() { @@ -898,7 +898,7 @@ public class BasicDataSource implements DataSource, BasicDataSourceMXBean, MBean @Override public String[] getDisconnectionSqlCodesAsArray() { final Collection<String> result = getDisconnectionSqlCodes(); - return result.toArray(new String[result.size()]); + return result.toArray(new String[0]); } /** diff --git a/java/org/apache/tomcat/dbcp/dbcp2/PoolableCallableStatement.java b/java/org/apache/tomcat/dbcp/dbcp2/PoolableCallableStatement.java index 7801099..0fc3b7f 100644 --- a/java/org/apache/tomcat/dbcp/dbcp2/PoolableCallableStatement.java +++ b/java/org/apache/tomcat/dbcp/dbcp2/PoolableCallableStatement.java @@ -123,7 +123,7 @@ public class PoolableCallableStatement extends DelegatingCallableStatement { final List<AbandonedTrace> resultSetList = getTrace(); if (resultSetList != null) { final List<Exception> thrownList = new ArrayList<>(); - final ResultSet[] resultSets = resultSetList.toArray(new ResultSet[resultSetList.size()]); + final ResultSet[] resultSets = resultSetList.toArray(new ResultSet[0]); for (final ResultSet resultSet : resultSets) { if (resultSet != null) { try { diff --git a/java/org/apache/tomcat/dbcp/dbcp2/PoolablePreparedStatement.java b/java/org/apache/tomcat/dbcp/dbcp2/PoolablePreparedStatement.java index 9e96b94..0da2fab 100644 --- a/java/org/apache/tomcat/dbcp/dbcp2/PoolablePreparedStatement.java +++ b/java/org/apache/tomcat/dbcp/dbcp2/PoolablePreparedStatement.java @@ -138,7 +138,7 @@ public class PoolablePreparedStatement<K> extends DelegatingPreparedStatement { final List<AbandonedTrace> resultSetList = getTrace(); if (resultSetList != null) { final List<Exception> thrownList = new ArrayList<>(); - final ResultSet[] resultSets = resultSetList.toArray(new ResultSet[resultSetList.size()]); + final ResultSet[] resultSets = resultSetList.toArray(new ResultSet[0]); for (final ResultSet resultSet : resultSets) { if (resultSet != null) { try { diff --git a/java/org/apache/tomcat/dbcp/dbcp2/PoolingDriver.java b/java/org/apache/tomcat/dbcp/dbcp2/PoolingDriver.java index cddf329..bf9b97a 100644 --- a/java/org/apache/tomcat/dbcp/dbcp2/PoolingDriver.java +++ b/java/org/apache/tomcat/dbcp/dbcp2/PoolingDriver.java @@ -134,7 +134,7 @@ public class PoolingDriver implements Driver { */ public synchronized String[] getPoolNames() { final Set<String> names = pools.keySet(); - return names.toArray(new String[names.size()]); + return names.toArray(new String[0]); } @Override diff --git a/java/org/apache/tomcat/util/descriptor/web/FilterMap.java b/java/org/apache/tomcat/util/descriptor/web/FilterMap.java index a8d6b89..b66c31f 100644 --- a/java/org/apache/tomcat/util/descriptor/web/FilterMap.java +++ b/java/org/apache/tomcat/util/descriptor/web/FilterMap.java @@ -192,7 +192,7 @@ public class FilterMap extends XmlEncodingBase implements Serializable { if ((dispatcherMapping & ASYNC) != 0) { result.add(DispatcherType.ASYNC.name()); } - return result.toArray(new String[result.size()]); + return result.toArray(new String[0]); } // --------------------------------------------------------- Public Methods diff --git a/java/org/apache/tomcat/util/descriptor/web/SecurityConstraint.java b/java/org/apache/tomcat/util/descriptor/web/SecurityConstraint.java index 08ec6d1..439aea7 100644 --- a/java/org/apache/tomcat/util/descriptor/web/SecurityConstraint.java +++ b/java/org/apache/tomcat/util/descriptor/web/SecurityConstraint.java @@ -581,7 +581,7 @@ public class SecurityConstraint extends XmlEncodingBase implements Serializable } - return result.toArray(new SecurityConstraint[result.size()]); + return result.toArray(new SecurityConstraint[0]); } private static SecurityConstraint createConstraint( @@ -740,7 +740,7 @@ public class SecurityConstraint extends XmlEncodingBase implements Serializable newConstraints, log); } - return newConstraints.toArray(new SecurityConstraint[newConstraints.size()]); + return newConstraints.toArray(new SecurityConstraint[0]); } diff --git a/java/org/apache/tomcat/util/http/Parameters.java b/java/org/apache/tomcat/util/http/Parameters.java index 4d7d6cc..294a38d 100644 --- a/java/org/apache/tomcat/util/http/Parameters.java +++ b/java/org/apache/tomcat/util/http/Parameters.java @@ -178,7 +178,7 @@ public final class Parameters { if (values == null) { return null; } - return values.toArray(new String[values.size()]); + return values.toArray(new String[0]); } public Enumeration<String> getParameterNames() { diff --git a/java/org/apache/tomcat/util/modeler/BaseAttributeFilter.java b/java/org/apache/tomcat/util/modeler/BaseAttributeFilter.java index 029ecf9..17a0fe9 100644 --- a/java/org/apache/tomcat/util/modeler/BaseAttributeFilter.java +++ b/java/org/apache/tomcat/util/modeler/BaseAttributeFilter.java @@ -105,7 +105,7 @@ public class BaseAttributeFilter implements NotificationFilter { public String[] getNames() { synchronized (names) { - return names.toArray(new String[names.size()]); + return names.toArray(new String[0]); } } diff --git a/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java b/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java index d0ef4b3..180dd8f 100644 --- a/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java +++ b/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java @@ -139,7 +139,7 @@ public abstract class AbstractJsseEndpoint<S> extends AbstractEndpoint<S> { List<String> commonProtocols = new ArrayList<>(negotiableProtocols); commonProtocols.retainAll(clientRequestedApplicationProtocols); if (commonProtocols.size() > 0) { - String[] commonProtocolsArray = commonProtocols.toArray(new String[commonProtocols.size()]); + String[] commonProtocolsArray = commonProtocols.toArray(new String[0]); JreCompat.getInstance().setApplicationProtocols(sslParameters, commonProtocolsArray); } } diff --git a/java/org/apache/tomcat/util/net/SSLUtilBase.java b/java/org/apache/tomcat/util/net/SSLUtilBase.java index eb4c21a..63a85e9 100644 --- a/java/org/apache/tomcat/util/net/SSLUtilBase.java +++ b/java/org/apache/tomcat/util/net/SSLUtilBase.java @@ -109,7 +109,7 @@ public abstract class SSLUtilBase implements SSLUtil { if (enabledProtocols.contains("SSLv3")) { log.warn(sm.getString("jsse.ssl3")); } - this.enabledProtocols = enabledProtocols.toArray(new String[enabledProtocols.size()]); + this.enabledProtocols = enabledProtocols.toArray(new String[0]); if (enabledProtocols.contains(Constants.SSL_PROTO_TLSv1_3) && sslHostConfig.getCertificateVerification() == CertificateVerification.OPTIONAL && @@ -122,7 +122,7 @@ public abstract class SSLUtilBase implements SSLUtil { Set<String> implementedCiphers = getImplementedCiphers(); List<String> enabledCiphers = getEnabled("ciphers", getLog(), false, configuredCiphers, implementedCiphers); - this.enabledCiphers = enabledCiphers.toArray(new String[enabledCiphers.size()]); + this.enabledCiphers = enabledCiphers.toArray(new String[0]); } @@ -320,7 +320,7 @@ public abstract class SSLUtilBase implements SSLUtil { ksUsed = KeyStore.getInstance("JKS"); ksUsed.load(null, null); ksUsed.setKeyEntry(keyAlias, privateKeyFile.getPrivateKey(), keyPass.toCharArray(), - chain.toArray(new Certificate[chain.size()])); + chain.toArray(new Certificate[0])); } else { if (keyAlias != null && !ks.isKeyEntry(keyAlias)) { throw new IOException(sm.getString("jsse.alias_no_key_entry", keyAlias)); diff --git a/java/org/apache/tomcat/util/net/WriteBuffer.java b/java/org/apache/tomcat/util/net/WriteBuffer.java index 4a1d2c5..82e36c5 100644 --- a/java/org/apache/tomcat/util/net/WriteBuffer.java +++ b/java/org/apache/tomcat/util/net/WriteBuffer.java @@ -94,7 +94,7 @@ public class WriteBuffer { result.add(buffer.getBuf()); } buffers.clear(); - return result.toArray(new ByteBuffer[result.size()]); + return result.toArray(new ByteBuffer[0]); } diff --git a/java/org/apache/tomcat/util/net/jsse/JSSESSLContext.java b/java/org/apache/tomcat/util/net/jsse/JSSESSLContext.java index 856fd8f..4e43379 100644 --- a/java/org/apache/tomcat/util/net/jsse/JSSESSLContext.java +++ b/java/org/apache/tomcat/util/net/jsse/JSSESSLContext.java @@ -105,6 +105,6 @@ class JSSESSLContext implements SSLContext { } } } - return certs.toArray(new X509Certificate[certs.size()]); + return certs.toArray(new X509Certificate[0]); } } diff --git a/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java b/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java index 88802cc..4ff955a 100644 --- a/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java +++ b/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java @@ -358,7 +358,7 @@ public class OpenSSLContext implements org.apache.tomcat.util.net.SSLContext { enabled.add(Constants.SSL_PROTO_SSLv3); } sslHostConfig.setEnabledProtocols( - enabled.toArray(new String[enabled.size()])); + enabled.toArray(new String[0])); // Reconfigure the enabled ciphers sslHostConfig.setEnabledCiphers(SSLContext.getCiphers(ctx)); } diff --git a/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java b/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java index 3607b01..058ee71 100644 --- a/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java +++ b/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java @@ -703,7 +703,7 @@ public final class OpenSSLEngine extends SSLEngine implements SSLUtil.ProtocolIn @Override public String[] getSupportedCipherSuites() { Set<String> availableCipherSuites = AVAILABLE_CIPHER_SUITES; - return availableCipherSuites.toArray(new String[availableCipherSuites.size()]); + return availableCipherSuites.toArray(new String[0]); } @Override @@ -768,7 +768,7 @@ public final class OpenSSLEngine extends SSLEngine implements SSLUtil.ProtocolIn @Override public String[] getSupportedProtocols() { - return IMPLEMENTED_PROTOCOLS_SET.toArray(new String[IMPLEMENTED_PROTOCOLS_SET.size()]); + return IMPLEMENTED_PROTOCOLS_SET.toArray(new String[0]); } @Override @@ -1237,7 +1237,7 @@ public final class OpenSSLEngine extends SSLEngine implements SSLUtil.ProtocolIn if (values == null || values.isEmpty()) { return new String[0]; } - return values.keySet().toArray(new String[values.size()]); + return values.keySet().toArray(new String[0]); } private void notifyUnbound(Object value, String name) { diff --git a/test/org/apache/catalina/valves/TestLoadBalancerDrainingValve.java b/test/org/apache/catalina/valves/TestLoadBalancerDrainingValve.java index 5953499..0c5694c 100644 --- a/test/org/apache/catalina/valves/TestLoadBalancerDrainingValve.java +++ b/test/org/apache/catalina/valves/TestLoadBalancerDrainingValve.java @@ -223,7 +223,7 @@ public class TestLoadBalancerDrainingValve { EasyMock.expect(request.getRequestedSessionId()).andStubReturn(sessionId); EasyMock.expect(request.getRequestURI()).andStubReturn(requestURI); - EasyMock.expect(request.getCookies()).andStubReturn(cookies.toArray(new Cookie[cookies.size()])); + EasyMock.expect(request.getCookies()).andStubReturn(cookies.toArray(new Cookie[0])); EasyMock.expect(request.getContext()).andStubReturn(ctx); EasyMock.expect(ctx.getSessionCookieName()).andStubReturn(sessionCookieName); EasyMock.expect(servletContext.getSessionCookieConfig()).andStubReturn(cookieConfig); diff --git a/test/org/apache/tomcat/unittest/TesterContext.java b/test/org/apache/tomcat/unittest/TesterContext.java index 5f6ebad..306af1e 100644 --- a/test/org/apache/tomcat/unittest/TesterContext.java +++ b/test/org/apache/tomcat/unittest/TesterContext.java @@ -84,7 +84,7 @@ public class TesterContext implements Context { @Override public String[] findSecurityRoles() { - return securityRoles.toArray(new String[securityRoles.size()]); + return securityRoles.toArray(new String[0]); } @Override @@ -101,7 +101,7 @@ public class TesterContext implements Context { @Override public SecurityConstraint[] findConstraints() { return securityConstraints.toArray( - new SecurityConstraint[securityConstraints.size()]); + new SecurityConstraint[0]); } @Override 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 97c27b1..b7a8632 100644 --- a/test/org/apache/tomcat/util/net/openssl/ciphers/TesterOpenSSL.java +++ b/test/org/apache/tomcat/util/net/openssl/ciphers/TesterOpenSSL.java @@ -397,7 +397,7 @@ public class TesterOpenSSL { args.add(specification); } - String stdout = executeOpenSSLCommand(args.toArray(new String[args.size()])); + String stdout = executeOpenSSLCommand(args.toArray(new String[0])); if (stdout.length() == 0) { return stdout; @@ -473,7 +473,7 @@ public class TesterOpenSSL { cmd.add(arg); } - ProcessBuilder pb = new ProcessBuilder(cmd.toArray(new String[cmd.size()])); + ProcessBuilder pb = new ProcessBuilder(cmd.toArray(new String[0])); if (openSSLLibPath != null) { Map<String,String> env = pb.environment(); diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 47ee493..3bf2894 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -125,6 +125,10 @@ Refactor to use parameterized <code>Collection</code> constructors where possible. Pull request provided by Lars Grefer. (markt) </scode> + <scode> + Refactor to use empty arrays with <code>Collections.toArray()</code>. + Pull request provided by Lars Grefer. (markt) + </scode> </changelog> </subsection> </section> diff --git a/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java b/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java index 4ffe92b..714e115 100644 --- a/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java +++ b/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java @@ -124,7 +124,7 @@ public class CompressionFilter implements Filter { if (values.size() > 0) { compressionMimeTypes = values.toArray( - new String[values.size()]); + new String[0]); } else { compressionMimeTypes = null; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org