craigmcc 00/12/01 11:25:32 Modified: catalina/src/share/org/apache/catalina/startup ContextConfig.java Log: Correctly handle a 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 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 setDistributable(true) for the top object + * on the stack, which must be a org.apache.catalina.Context. + */ + +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)"); } }