Author: remy.maucherat(a)jboss.com
Date: 2009-04-30 13:50:00 -0400 (Thu, 30 Apr 2009)
New Revision: 1039
Modified:
trunk/PATCHES.txt
trunk/ROADMAP.txt
trunk/java/org/apache/catalina/startup/ContextConfig.java
trunk/java/org/apache/catalina/startup/LocalStrings.properties
trunk/java/org/apache/catalina/startup/WebAnnotationSet.java
Log:
- Small cleanups.
Modified: trunk/PATCHES.txt
===================================================================
--- trunk/PATCHES.txt 2009-04-30 01:54:09 UTC (rev 1038)
+++ trunk/PATCHES.txt 2009-04-30 17:50:00 UTC (rev 1039)
@@ -64,3 +64,6 @@
765727
ETag should be identical regardless of how the entity is encoded, this patch
"fixes" apparently broken proxies
+
+769979
+Does not hurt to unregister properly, but a JMX cleanup is redundant, so will see about
it later
Modified: trunk/ROADMAP.txt
===================================================================
--- trunk/ROADMAP.txt 2009-04-30 01:54:09 UTC (rev 1038)
+++ trunk/ROADMAP.txt 2009-04-30 17:50:00 UTC (rev 1039)
@@ -6,7 +6,7 @@
- Jasper plugin for TLD metadata
- Access control annotations
- Update digester XML parsing rules for web.xml updates (session tracking-mode,
cookie-config, servlet enabled,
- servlets and filters async-supported)
+ servlets and filters async-supported, http-method-omission)
- Enforce web.xml fragments merging rules
- Lazy webapp startup valve
- Abstract JMX in custom modeler better
Modified: trunk/java/org/apache/catalina/startup/ContextConfig.java
===================================================================
--- trunk/java/org/apache/catalina/startup/ContextConfig.java 2009-04-30 01:54:09 UTC (rev
1038)
+++ trunk/java/org/apache/catalina/startup/ContextConfig.java 2009-04-30 17:50:00 UTC (rev
1039)
@@ -442,6 +442,8 @@
}
}
+ // FIXME: It is likely this should be moved to after running all listeners,
+ // as they can add servlets or filters
WebAnnotationSet.loadApplicationAnnotations(context);
long t2=System.currentTimeMillis();
@@ -457,9 +459,6 @@
*/
protected void applicationWebConfig() {
- // FIXME: Parse web fragments here
- // FIXME: Parse according to the configured order
-
String altDDName = null;
// Open the application web.xml file, if it exists
@@ -1007,8 +1006,7 @@
}
}
} catch (Exception e) {
- // FIXME: error message
- log.error(sm.getString("contextConfig.applicationParse", jar),
e);
+ log.error(sm.getString("contextConfig.fragmentOrderingParse",
jar), e);
ok = false;
} finally {
try {
@@ -1024,16 +1022,14 @@
// Generate web fragments parsing order
LinkedList<String> order = new LinkedList<String>();
if (absoluteOrdering != null) {
- // Absolute ordering has been declared in web.xml,
- // any ordering from the fragments is ignored
+ // Absolute ordering from web.xml, any fragment ordering is ignored
List<String> fragmentNames = absoluteOrdering.getOrder();
int otherPos = -1;
for (int i = 0; i < fragmentNames.size(); i++) {
String fragmentName = fragmentNames.get(i);
if (fragmentName.equals("*")) {
if (otherPos >= 0) {
- // FIXME: error message
-
log.error(sm.getString("contextConfig.applicationParse"));
+
log.error(sm.getString("contextConfig.invalidAbsoluteOrder"));
ok = false;
}
otherPos = i;
@@ -1053,8 +1049,11 @@
order.addAll(otherPos, jarsSet);
}
} else if (orderings.size() > 0) {
- // FIXME: Will use the ordering specified by the fragments, if any
+ // FIXME: Use the ordering specified by the fragments
+ } else {
+ // No order specified
+ order.addAll(jarsSet);
}
// Parse fragments according to order
@@ -1087,7 +1086,6 @@
}
}
} catch (Exception e) {
- // FIXME: error message
log.error(sm.getString("contextConfig.applicationParse", jar),
e);
ok = false;
} finally {
@@ -1450,22 +1448,26 @@
try {
scanner.scan(context);
} catch (Throwable t) {
- // FIXME: error message
log.error(sm.getString("contextConfig.scan"), t);
ok = false;
}
- // FIXME: look where to place it according to the merging rules
+ // Scan the main descriptors
applicationWebConfig();
- // FIXME: Add overlays
- scanner.getOverlays();
+ // Parse fragments
if (!context.getIgnoreAnnotations()) {
applicationExtraDescriptorsConfig();
+ }
+ // Scan all Servlet API related annotations
+ if (!context.getIgnoreAnnotations()) {
applicationAnnotationsConfig();
}
if (ok) {
validateSecurityRoles();
}
+ // FIXME: Add overlays, and see about order
+ scanner.getOverlays();
+
// Invoke Servlet container initializer: instantiate and call onStartup
if (ok) {
Iterator<ServletContainerInitializerInfo> initializers =
Modified: trunk/java/org/apache/catalina/startup/LocalStrings.properties
===================================================================
--- trunk/java/org/apache/catalina/startup/LocalStrings.properties 2009-04-30 01:54:09 UTC
(rev 1038)
+++ trunk/java/org/apache/catalina/startup/LocalStrings.properties 2009-04-30 17:50:00 UTC
(rev 1039)
@@ -20,11 +20,14 @@
contextConfig.defaultParse=Parse error in default web.xml
contextConfig.defaultPosition=Occurred at line {0} column {1}
contextConfig.fixDocBase=Exception fixing docBase: {0}
+contextConfig.fragmentOrderingParse=Failed to parse web fragment ordering for {0}
contextConfig.init=ContextConfig: Initializing
+contextConfig.invalidAbsoluteOrder=Invalid absolute order
contextConfig.missingRealm=No Realm has been configured to authenticate against
contextConfig.role.auth=WARNING: Security role name {0} used in an
<auth-constraint> without being defined in a <security-role>
contextConfig.role.link=WARNING: Security role name {0} used in a <role-link>
without being defined in a <security-role>
contextConfig.role.runas=WARNING: Security role name {0} used in a <run-as> without
being defined in a <security-role>
+contextConfig.scan=Error scanning context resources
contextConfig.start=ContextConfig: Processing START
contextConfig.stop=ContextConfig: Processing STOP
contextConfig.tldEntryException=Exception processing TLD {0} in JAR at resource path {1}
in context {2}
Modified: trunk/java/org/apache/catalina/startup/WebAnnotationSet.java
===================================================================
--- trunk/java/org/apache/catalina/startup/WebAnnotationSet.java 2009-04-30 01:54:09 UTC
(rev 1038)
+++ trunk/java/org/apache/catalina/startup/WebAnnotationSet.java 2009-04-30 17:50:00 UTC
(rev 1039)
@@ -117,6 +117,8 @@
}
loadClassAnnotation(context, wrapper.getServletClass());
+
+ // FIXME: Parse the other access control annotations
/* Process RunAs annotation which can be only on servlets.
* Ref JSR 250, equivalent to the run-as element in
* the deployment descriptor