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);
       }
   
   
  
  
  

Reply via email to