Author: remy.maucherat(a)jboss.com
Date: 2009-04-28 22:01:44 -0400 (Tue, 28 Apr 2009)
New Revision: 1034
Modified:
trunk/ROADMAP.txt
trunk/java/org/apache/catalina/Globals.java
trunk/java/org/apache/catalina/startup/BaseContextScanner.java
trunk/java/org/apache/tomcat/WarComponents.java
Log:
- Add the layout for the shared lib support.
Modified: trunk/ROADMAP.txt
===================================================================
--- trunk/ROADMAP.txt 2009-04-28 15:44:44 UTC (rev 1033)
+++ trunk/ROADMAP.txt 2009-04-29 02:01:44 UTC (rev 1034)
@@ -14,6 +14,7 @@
- EL 1.1 changes
- Setup standalone TCK environment for testing compliance with the new features
- Javassist annotation scanning impl for JBoss Web standalone
+- Abstract JMX in custom modeler better
- Coordinate with AS 6 to implement new web.xml parsing (out of tree)
- JBoss Metadata parsing of .tld files (out of tree)
- Coordinate with AS 6 for annotation updates (out of tree)
Modified: trunk/java/org/apache/catalina/Globals.java
===================================================================
--- trunk/java/org/apache/catalina/Globals.java 2009-04-28 15:44:44 UTC (rev 1033)
+++ trunk/java/org/apache/catalina/Globals.java 2009-04-29 02:01:44 UTC (rev 1034)
@@ -354,6 +354,14 @@
/**
+ * The path used for the ServletContainerInitializer service.
+ */
+ public static final String SERVLET_CONTAINER_INITIALIZER_SERVICE_PATH =
+
System.getProperty("org.apache.catalina.SERVLET_CONTAINER_INITIALIZER_SERVICE_PATH",
+
"/META-INF/services/javax.servlet.ServletContainerInitializer");
+
+
+ /**
* The master flag which controls XML validation.
*/
public static final boolean XML_VALIDATION =
Modified: trunk/java/org/apache/catalina/startup/BaseContextScanner.java
===================================================================
--- trunk/java/org/apache/catalina/startup/BaseContextScanner.java 2009-04-28 15:44:44 UTC
(rev 1033)
+++ trunk/java/org/apache/catalina/startup/BaseContextScanner.java 2009-04-29 02:01:44 UTC
(rev 1034)
@@ -43,6 +43,7 @@
import org.apache.catalina.ContextScanner;
import org.apache.catalina.Globals;
import org.apache.catalina.JarRepository;
+import org.apache.tomcat.WarComponents.JarServletContainerInitializerService;
public abstract class BaseContextScanner
implements ContextScanner {
@@ -107,8 +108,17 @@
protected ArrayList<String> overlays = new ArrayList<String>();
protected ArrayList<String> webFragments = new ArrayList<String>();
protected Map<String, Set<String>> TLDs = new HashMap<String,
Set<String>>();
+ protected Map<String, JarServletContainerInitializerService>
jarServletContainerInitializerService =
+ new HashMap<String, JarServletContainerInitializerService>();
+ /**
+ * Used to speed up scanning for the services interest classes.
+ */
+ protected Class<?>[] handlesTypesArray = null;
+ protected Map<Class<?>, JarServletContainerInitializerService>
handlesTypes =
+ new HashMap<Class<?>, JarServletContainerInitializerService>();
+
public Iterator<Class<?>> getAnnotatedClasses() {
return annotatedClasses.iterator();
}
@@ -129,6 +139,11 @@
}
+ public Map<String, JarServletContainerInitializerService>
getJarServletContainerInitializerServices() {
+ return jarServletContainerInitializerService;
+ }
+
+
/**
* Scan the given context's default locations for annotations.
*
@@ -380,6 +395,14 @@
if (file.getEntry(Globals.OVERLAY_PATH) != null) {
overlays.add(file.getName());
}
+ if (file.getEntry(Globals.SERVLET_CONTAINER_INITIALIZER_SERVICE_PATH) != null) {
+ // FIXME: Read Servlet container initializer service file
+
+ // FIXME: Load Servlet container initializer class and read HandlesTypes
annotation
+
+ // FIXME: Add in jarService map, and add in the local map used to speed up
lookups
+
+ }
HashSet<String> jarTLDs = new HashSet<String>();
Enumeration<JarEntry> entries = file.entries();
while (entries.hasMoreElements()) {
Modified: trunk/java/org/apache/tomcat/WarComponents.java
===================================================================
--- trunk/java/org/apache/tomcat/WarComponents.java 2009-04-28 15:44:44 UTC (rev 1033)
+++ trunk/java/org/apache/tomcat/WarComponents.java 2009-04-29 02:01:44 UTC (rev 1034)
@@ -29,27 +29,35 @@
public interface WarComponents {
+ public interface JarServletContainerInitializerService {
+ public String[] getInterestClasseNames();
+ public Class<?>[] getInterestClasses();
+ public Class<?> getServletContainerInitializer();
+ }
+
/**
* Find annotated classes for this context.
*/
public Iterator<Class<?>> getAnnotatedClasses();
-
/**
* Find JAR files containing an overlay.
*/
public Iterator<String> getOverlays();
-
/**
* Find JAR files containing a web fragment.
*/
public Iterator<String> getWebFragments();
-
/**
* Find TLDs.
*/
public Map<String, Set<String>> getTLDs();
+ /**
+ * Find Jar services.
+ */
+ public Map<String, JarServletContainerInitializerService>
getJarServletContainerInitializerServices();
+
}
Show replies by date