[jboss-cvs] JBossAS SVN: r96222 - trunk/server/src/main/java/org/jboss/web/deployers.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Nov 10 10:14:51 EST 2009
Author: remy.maucherat at jboss.com
Date: 2009-11-10 10:14:51 -0500 (Tue, 10 Nov 2009)
New Revision: 96222
Modified:
trunk/server/src/main/java/org/jboss/web/deployers/HandlesTypesClassFilter.java
trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java
Log:
- Use a set as a particular class may be specified by more than one SCI.
Modified: trunk/server/src/main/java/org/jboss/web/deployers/HandlesTypesClassFilter.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/HandlesTypesClassFilter.java 2009-11-10 14:10:51 UTC (rev 96221)
+++ trunk/server/src/main/java/org/jboss/web/deployers/HandlesTypesClassFilter.java 2009-11-10 15:14:51 UTC (rev 96222)
@@ -54,10 +54,10 @@
private HashSet<String> childPaths = new HashSet<String>();
private Map<ServletContainerInitializer, Set<Class<?>>> handlesTypes;
private Class<?>[] typesArray;
- private Map<Class<?>, ServletContainerInitializer> typesMap;
+ private Map<Class<?>, Set<ServletContainerInitializer>> typesMap;
public HandlesTypesClassFilter(VFSDeploymentUnit unit, ClassLoader loader,
- VirtualFile classpathRoot, Class<?>[] typesArray, Map<Class<?>, ServletContainerInitializer> typesMap,
+ VirtualFile classpathRoot, Class<?>[] typesArray, Map<Class<?>, Set<ServletContainerInitializer>> typesMap,
Map<ServletContainerInitializer, Set<Class<?>>> handlesTypes)
{
this.loader = loader;
@@ -121,8 +121,11 @@
if ((clazz.isAnnotation() && c.isAnnotationPresent((Class<? extends Annotation>) clazz))
|| clazz.isAssignableFrom(c))
{
- ServletContainerInitializer sci = typesMap.get(clazz);
- handlesTypes.get(sci).add(c);
+ Set<ServletContainerInitializer> sciSet = typesMap.get(clazz);
+ for (ServletContainerInitializer sci : sciSet)
+ {
+ handlesTypes.get(sci).add(c);
+ }
}
}
}
Modified: trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java 2009-11-10 14:10:51 UTC (rev 96221)
+++ trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java 2009-11-10 15:14:51 UTC (rev 96222)
@@ -130,8 +130,8 @@
}
}
// Process HandlesTypes for ServletContainerInitializer
- Map<Class<?>, ServletContainerInitializer> typesMap =
- new HashMap<Class<?>, ServletContainerInitializer>();
+ Map<Class<?>, Set<ServletContainerInitializer>> typesMap =
+ new HashMap<Class<?>, Set<ServletContainerInitializer>>();
Map<ServletContainerInitializer, Set<Class<?>>> handlesTypes =
new HashMap<ServletContainerInitializer, Set<Class<?>>>();
for (ServletContainerInitializer service : scis)
@@ -144,7 +144,13 @@
{
for (Class<?> type : typesArray)
{
- typesMap.put(type, service);
+ Set<ServletContainerInitializer> servicesSet = typesMap.get(type);
+ if (servicesSet == null)
+ {
+ servicesSet = new HashSet<ServletContainerInitializer>();
+ typesMap.put(type, servicesSet);
+ }
+ servicesSet.add(service);
handlesTypes.put(service, new HashSet<Class<?>>());
}
}
More information about the jboss-cvs-commits
mailing list