remm 2003/07/20 07:52:17
Modified: catalina/src/share/org/apache/catalina/core
StandardContext.java
Log:
- Correctly update the mapper. The previous code was not compatible with
the invoker servlet and its dynamically added wrappers.
Revision Changes Path
1.71 +7 -22
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java
Index: StandardContext.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -r1.70 -r1.71
--- StandardContext.java 14 Jul 2003 10:54:11 -0000 1.70
+++ StandardContext.java 20 Jul 2003 14:52:17 -0000 1.71
@@ -1938,6 +1938,10 @@
}
Wrapper wrapper = (Wrapper) findChild(name);
wrapper.addMapping(pattern);
+
+ // Update context mapper
+ mapper.addWrapper(pattern, wrapper);
+
fireContainerEvent("addServletMapping", pattern);
}
@@ -3373,6 +3377,7 @@
if( wrapper != null ) {
wrapper.removeMapping(pattern);
}
+ mapper.removeWrapper(pattern);
fireContainerEvent("removeServletMapping", pattern);
}
@@ -4039,16 +4044,6 @@
// Notify our interested LifecycleListeners
lifecycle.fireLifecycleEvent(START_EVENT, null);
- children = findChildren();
- for (int i = 0; i < children.length; i++) {
- // Updating associated mapper
- Wrapper wrapper = (Wrapper) children[i];
- String[] mappings = wrapper.findMappings();
- for (int j = 0; j < mappings.length; j++) {
- mapper.addWrapper(mappings[j], wrapper);
- }
- }
-
if ((manager != null) && (manager instanceof Lifecycle)) {
((Lifecycle) manager).start();
}
@@ -4235,16 +4230,6 @@
((Lifecycle) manager).stop();
}
- // Updating associated mapper
- Container children[] = findChildren();
- for (int i = 0; i < children.length; i++) {
- Wrapper wrapper = (Wrapper) children[i];
- String[] mappings = wrapper.findMappings();
- for (int j = 0; j < mappings.length; j++) {
- mapper.removeWrapper(mappings[j]);
- }
- }
-
// Normal container shutdown processing
if (log.isDebugEnabled())
log.debug("Processing standard container shutdown");
@@ -4260,7 +4245,7 @@
}
// Stop our child containers, if any
- children = findChildren();
+ Container[] children = findChildren();
for (int i = 0; i < children.length; i++) {
if (children[i] instanceof Lifecycle)
((Lifecycle) children[i]).stop();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]