craigmcc 00/12/01 11:25:32
Modified: catalina/src/share/org/apache/catalina/startup
ContextConfig.java
Log:
Correctly handle a <distributable/> element in the web application deployment
descriptor. Previously, this caused a "cannot find a setDistributable method"
exception.
PR: BugRat Bug Report #509
Submitted by: Guillermo Ferri Pastor <[EMAIL PROTECTED]>
Revision Changes Path
1.34 +28 -5
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
Index: ContextConfig.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- ContextConfig.java 2000/11/24 22:36:24 1.33
+++ ContextConfig.java 2000/12/01 19:25:31 1.34
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
1.33 2000/11/24 22:36:24 craigmcc Exp $
- * $Revision: 1.33 $
- * $Date: 2000/11/24 22:36:24 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
1.34 2000/12/01 19:25:31 craigmcc Exp $
+ * $Revision: 1.34 $
+ * $Date: 2000/12/01 19:25:31 $
*
* ====================================================================
*
@@ -118,7 +118,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.33 $ $Date: 2000/11/24 22:36:24 $
+ * @version $Revision: 1.34 $ $Date: 2000/12/01 19:25:31 $
*/
public final class ContextConfig
@@ -447,7 +447,7 @@
mapper.methodSetter("setDisplayName", 0));
mapper.addRule("web-app/distributable",
- mapper.methodSetter("setDistributable", 0));
+ new SetDistributableAction());
mapper.addRule("web-app/ejb-ref",
mapper.objectCreate("org.apache.catalina.deploy.ContextEjb"));
@@ -1112,6 +1112,29 @@
securityConstraint.setAuthConstraint(true);
if (ctx.getDebug() > 0)
ctx.log("Calling SecurityConstraint.setAuthConstraint(true)");
+ }
+
+}
+
+
+/**
+ * Class that calls <code>setDistributable(true)</code> for the top object
+ * on the stack, which must be a <code>org.apache.catalina.Context</code>.
+ */
+
+final class SetDistributableAction extends XmlAction {
+
+ public SetDistributableAction() {
+ super();
+ }
+
+ public void start(SaxContext ctx) throws Exception {
+ Stack stack = ctx.getObjectStack();
+ Context context = (Context) stack.peek();
+ context.setDistributable(true);
+ if (ctx.getDebug() > 0)
+ ctx.log(context.getClass().getName() +
+ ".setDistributable( true)");
}
}