craigmcc 01/05/14 19:24:18 Modified: catalina/src/share/org/apache/catalina/core ApplicationContext.java ApplicationContextFacade.java StandardWrapperFacade.java Log: ServletContext.getContext() needs to return the same ApplicationContextFacade that would be handed to a servlet in the "other" context. Revision Changes Path 1.25 +24 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationContext.java Index: ApplicationContext.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationContext.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- ApplicationContext.java 2001/05/12 03:04:08 1.24 +++ ApplicationContext.java 2001/05/15 02:24:17 1.25 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationContext.java,v 1.24 2001/05/12 03:04:08 craigmcc Exp $ - * $Revision: 1.24 $ - * $Date: 2001/05/12 03:04:08 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationContext.java,v 1.25 2001/05/15 02:24:17 craigmcc Exp $ + * $Revision: 1.25 $ + * $Date: 2001/05/15 02:24:17 $ * * ==================================================================== * @@ -112,7 +112,7 @@ * * @author Craig R. McClanahan * @author Remy Maucherat - * @version $Revision: 1.24 $ $Date: 2001/05/12 03:04:08 $ + * @version $Revision: 1.25 $ $Date: 2001/05/15 02:24:17 $ */ public class ApplicationContext @@ -294,6 +294,12 @@ /** + * The facade around this object. + */ + private ServletContext facade = new ApplicationContextFacade(this); + + + /** * The merged context initialization parameters for this Context. */ private HashMap parameters = null; @@ -933,6 +939,20 @@ } } + + + // -------------------------------------------------------- Package Methods + + + /** + * Return the facade associated with this ApplicationContext. + */ + ServletContext getFacade() { + + return (this.facade); + + } + // -------------------------------------------------------- Private Methods 1.2 +10 -19 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java Index: ApplicationContextFacade.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ApplicationContextFacade.java 2001/05/14 04:07:31 1.1 +++ ApplicationContextFacade.java 2001/05/15 02:24:17 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java,v 1.1 2001/05/14 04:07:31 remm Exp $ - * $Revision: 1.1 $ - * $Date: 2001/05/14 04:07:31 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java,v 1.2 2001/05/15 02:24:17 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2001/05/15 02:24:17 $ * * ==================================================================== * @@ -96,7 +96,7 @@ * object from the web application. * * @author Remy Maucherat - * @version $Revision: 1.1 $ $Date: 2001/05/14 04:07:31 $ + * @version $Revision: 1.2 $ $Date: 2001/05/15 02:24:17 $ */ public final class ApplicationContextFacade @@ -114,18 +114,6 @@ */ public ApplicationContextFacade(ApplicationContext context) { super(); - this.context = (ServletContext) context; - } - - - /** - * Construct a new instance of this class, associated with the specified - * Context instance. - * - * @param context The associated Context instance - */ - public ApplicationContextFacade(ServletContext context) { - super(); this.context = context; } @@ -136,15 +124,18 @@ /** * Wrapped application context. */ - private ServletContext context = null; + private ApplicationContext context = null; // ------------------------------------------------- ServletContext Methods public ServletContext getContext(String uripath) { - // FIXME : Create a facade for the returned object ? - return context.getContext(uripath); + ServletContext theContext = context.getContext(uripath); + if ((theContext != null) && + (theContext instanceof ApplicationContext)) + theContext = ((ApplicationContext) theContext).getFacade(); + return (theContext); } 1.2 +9 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperFacade.java Index: StandardWrapperFacade.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperFacade.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- StandardWrapperFacade.java 2001/05/14 04:07:32 1.1 +++ StandardWrapperFacade.java 2001/05/15 02:24:18 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperFacade.java,v 1.1 2001/05/14 04:07:32 remm Exp $ - * $Revision: 1.1 $ - * $Date: 2001/05/14 04:07:32 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperFacade.java,v 1.2 2001/05/15 02:24:18 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2001/05/15 02:24:18 $ * * ==================================================================== * @@ -83,7 +83,7 @@ * Facade for the <b>StandardWrapper</b> object. * * @author Remy Maucharat - * @version $Revision: 1.1 $ $Date: 2001/05/14 04:07:32 $ + * @version $Revision: 1.2 $ $Date: 2001/05/15 02:24:18 $ */ public final class StandardWrapperFacade @@ -122,7 +122,11 @@ public ServletContext getServletContext() { - return new ApplicationContextFacade(config.getServletContext()); + ServletContext theContext = config.getServletContext(); + if ((theContext != null) && + (theContext instanceof ApplicationContext)) + theContext = ((ApplicationContext) theContext).getFacade(); + return (theContext); }