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 2011/11/01 13:23:29 UTC
svn commit: r1195953 - in /tomcat/trunk/java/org/apache/catalina: connector/
core/ ha/context/ session/ util/
Author: markt
Date: Tue Nov 1 12:23:28 2011
New Revision: 1195953
URL: http://svn.apache.org/viewvc?rev=1195953&view=rev
Log:
Deprecate o.a.catalina.util.Enumerator and switch to
Collections.enumeration
Modified:
tomcat/trunk/java/org/apache/catalina/connector/Request.java
tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java
tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java
tomcat/trunk/java/org/apache/catalina/core/ApplicationRequest.java
tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java
tomcat/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java
tomcat/trunk/java/org/apache/catalina/session/StandardSession.java
tomcat/trunk/java/org/apache/catalina/util/Enumerator.java
Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1195953&r1=1195952&r2=1195953&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Tue Nov 1 12:23:28 2011
@@ -29,10 +29,12 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Set;
import java.util.TimeZone;
import java.util.TreeMap;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -69,7 +71,6 @@ import org.apache.catalina.core.Applicat
import org.apache.catalina.core.AsyncContextImpl;
import org.apache.catalina.deploy.LoginConfig;
import org.apache.catalina.realm.GenericPrincipal;
-import org.apache.catalina.util.Enumerator;
import org.apache.catalina.util.ParameterMap;
import org.apache.catalina.util.StringParser;
import org.apache.coyote.ActionCode;
@@ -965,7 +966,11 @@ public class Request
if (isSecure() && !sslAttributesParsed) {
getAttribute(Globals.CERTIFICATES_ATTR);
}
- return new Enumerator<String>(attributes.keySet(), true);
+ // Take a copy to prevent ConncurrentModificationExceptions if used to
+ // remove attributes
+ Set<String> names = new HashSet<String>();
+ names.addAll(attributes.keySet());
+ return Collections.enumeration(names);
}
@@ -1057,11 +1062,11 @@ public class Request
}
if (locales.size() > 0) {
- return (new Enumerator<Locale>(locales));
+ return Collections.enumeration(locales);
}
ArrayList<Locale> results = new ArrayList<Locale>();
results.add(defaultLocale);
- return new Enumerator<Locale>(results);
+ return Collections.enumeration(results);
}
Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=1195953&r1=1195952&r2=1195953&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Tue Nov 1 12:23:28 2011
@@ -29,6 +29,7 @@ import java.util.EnumSet;
import java.util.Enumeration;
import java.util.EventListener;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -66,7 +67,6 @@ import org.apache.catalina.Service;
import org.apache.catalina.Wrapper;
import org.apache.catalina.connector.Connector;
import org.apache.catalina.deploy.FilterDef;
-import org.apache.catalina.util.Enumerator;
import org.apache.catalina.util.RequestUtil;
import org.apache.catalina.util.ResourceSet;
import org.apache.catalina.util.ServerInfo;
@@ -232,9 +232,9 @@ public class ApplicationContext
*/
@Override
public Enumeration<String> getAttributeNames() {
-
- return new Enumerator<String>(attributes.keySet(), true);
-
+ Set<String> names = new HashSet<String>();
+ names.addAll(attributes.keySet());
+ return Collections.enumeration(names);
}
@@ -316,7 +316,7 @@ public class ApplicationContext
*/
@Override
public Enumeration<String> getInitParameterNames() {
- return (new Enumerator<String>(parameters.keySet()));
+ return Collections.enumeration(parameters.keySet());
}
@@ -670,7 +670,7 @@ public class ApplicationContext
@Override
@Deprecated
public Enumeration<String> getServletNames() {
- return (new Enumerator<String>(emptyString));
+ return Collections.enumeration(emptyString);
}
@@ -680,7 +680,7 @@ public class ApplicationContext
@Override
@Deprecated
public Enumeration<Servlet> getServlets() {
- return (new Enumerator<Servlet>(emptyServlet));
+ return Collections.enumeration(emptyServlet);
}
Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java?rev=1195953&r1=1195952&r2=1195953&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java Tue Nov 1 12:23:28 2011
@@ -21,10 +21,10 @@ package org.apache.catalina.core;
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.management.ObjectName;
@@ -38,7 +38,6 @@ import org.apache.catalina.Context;
import org.apache.catalina.Globals;
import org.apache.catalina.deploy.FilterDef;
import org.apache.catalina.security.SecurityUtil;
-import org.apache.catalina.util.Enumerator;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.InstanceManager;
import org.apache.tomcat.util.log.SystemLogHandler;
@@ -65,6 +64,11 @@ public final class ApplicationFilterConf
private static final org.apache.juli.logging.Log log =
LogFactory.getLog(ApplicationFilterConfig.class);
+ /**
+ * Empty String collection to serve as the basis for empty enumerations.
+ */
+ private static final List<String> emptyString = Collections.emptyList();
+
// ----------------------------------------------------------- Constructors
@@ -181,11 +185,10 @@ public final class ApplicationFilterConf
Map<String,String> map = filterDef.getParameterMap();
if (map == null) {
- return (new Enumerator<String>(new ArrayList<String>()));
+ return Collections.enumeration(emptyString);
}
- return new Enumerator<String>(map.keySet());
-
+ return Collections.enumeration(map.keySet());
}
Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java?rev=1195953&r1=1195952&r2=1195953&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java Tue Nov 1 12:23:28 2011
@@ -21,6 +21,7 @@ package org.apache.catalina.core;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
@@ -37,7 +38,6 @@ import org.apache.catalina.Context;
import org.apache.catalina.Globals;
import org.apache.catalina.Manager;
import org.apache.catalina.Session;
-import org.apache.catalina.util.Enumerator;
import org.apache.catalina.util.RequestUtil;
@@ -393,8 +393,7 @@ class ApplicationHttpRequest extends Htt
public Enumeration<String> getParameterNames() {
parseParameters();
- return (new Enumerator<String>(parameters.keySet()));
-
+ return Collections.enumeration(parameters.keySet());
}
Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationRequest.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationRequest.java?rev=1195953&r1=1195952&r2=1195953&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationRequest.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationRequest.java Tue Nov 1 12:23:28 2011
@@ -19,6 +19,7 @@
package org.apache.catalina.core;
+import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
@@ -26,8 +27,6 @@ import javax.servlet.RequestDispatcher;
import javax.servlet.ServletRequest;
import javax.servlet.ServletRequestWrapper;
-import org.apache.catalina.util.Enumerator;
-
/**
* Wrapper around a <code>javax.servlet.ServletRequest</code>
@@ -120,7 +119,7 @@ class ApplicationRequest extends Servlet
public Enumeration<String> getAttributeNames() {
synchronized (attributes) {
- return (new Enumerator<String>(attributes.keySet()));
+ return Collections.enumeration(attributes.keySet());
}
}
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java?rev=1195953&r1=1195952&r2=1195953&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java Tue Nov 1 12:23:28 2011
@@ -21,6 +21,7 @@ package org.apache.catalina.core;
import java.io.PrintStream;
import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
@@ -58,7 +59,6 @@ import org.apache.catalina.LifecycleStat
import org.apache.catalina.Wrapper;
import org.apache.catalina.mbeans.MBeanUtils;
import org.apache.catalina.security.SecurityUtil;
-import org.apache.catalina.util.Enumerator;
import org.apache.catalina.util.InstanceSupport;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -1526,7 +1526,7 @@ public class StandardWrapper extends Con
try {
parametersLock.readLock().lock();
- return (new Enumerator<String>(parameters.keySet()));
+ return Collections.enumeration(parameters.keySet());
} finally {
parametersLock.readLock().unlock();
}
Modified: tomcat/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java?rev=1195953&r1=1195952&r2=1195953&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java Tue Nov 1 12:23:28 2011
@@ -17,7 +17,10 @@
package org.apache.catalina.ha.context;
import java.util.AbstractMap;
+import java.util.Collections;
import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import javax.servlet.ServletContext;
@@ -31,7 +34,6 @@ import org.apache.catalina.ha.CatalinaCl
import org.apache.catalina.tribes.Channel;
import org.apache.catalina.tribes.tipis.AbstractReplicatedMap.MapOwner;
import org.apache.catalina.tribes.tipis.ReplicatedMap;
-import org.apache.catalina.util.Enumerator;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -175,11 +177,13 @@ public class ReplicatedContext extends S
@SuppressWarnings("unchecked")
@Override
public Enumeration<String> getAttributeNames() {
+ Set<String> names = new HashSet<String>();
+ names.addAll(attributes.keySet());
+
return new MultiEnumeration<String>(new Enumeration[] {
super.getAttributeNames(),
- new Enumerator<String>(tomcatAttributes.keySet(), true)});
+ Collections.enumeration(names) });
}
-
}
protected static class MultiEnumeration<T> implements Enumeration<T> {
Modified: tomcat/trunk/java/org/apache/catalina/session/StandardSession.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StandardSession.java?rev=1195953&r1=1195952&r2=1195953&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/StandardSession.java (original)
+++ tomcat/trunk/java/org/apache/catalina/session/StandardSession.java Tue Nov 1 12:23:28 2011
@@ -29,11 +29,14 @@ import java.security.AccessController;
import java.security.Principal;
import java.security.PrivilegedAction;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Enumeration;
-import java.util.HashMap;
+import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
@@ -55,7 +58,6 @@ import org.apache.catalina.SessionListen
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.realm.GenericPrincipal;
import org.apache.catalina.security.SecurityUtil;
-import org.apache.catalina.util.Enumerator;
import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.res.StringManager;
@@ -1180,8 +1182,9 @@ public class StandardSession implements
throw new IllegalStateException
(sm.getString("standardSession.getAttributeNames.ise"));
- return (new Enumerator<String>(attributes.keySet(), true));
-
+ Set<String> names = new HashSet<String>();
+ names.addAll(attributes.keySet());
+ return Collections.enumeration(names);
}
@@ -1870,8 +1873,7 @@ public class StandardSession implements
final class StandardSessionContext
implements javax.servlet.http.HttpSessionContext {
-
- protected HashMap<?,String> dummy = new HashMap<String,String>();
+ private static final List<String> emptyString = Collections.emptyList();
/**
* Return the session identifiers of all sessions defined
@@ -1884,9 +1886,7 @@ final class StandardSessionContext
@Override
@Deprecated
public Enumeration<String> getIds() {
-
- return (new Enumerator<String>(dummy));
-
+ return Collections.enumeration(emptyString);
}
@@ -1903,10 +1903,6 @@ final class StandardSessionContext
@Override
@Deprecated
public HttpSession getSession(String id) {
-
return (null);
-
}
-
-
}
Modified: tomcat/trunk/java/org/apache/catalina/util/Enumerator.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/Enumerator.java?rev=1195953&r1=1195952&r2=1195953&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/util/Enumerator.java (original)
+++ tomcat/trunk/java/org/apache/catalina/util/Enumerator.java Tue Nov 1 12:23:28 2011
@@ -37,7 +37,7 @@ import java.util.NoSuchElementException;
* @author Craig R. McClanahan
* @version $Id$
*/
-
+@Deprecated
public final class Enumerator<T> implements Enumeration<T> {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org