You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2003/05/21 19:49:04 UTC

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ApplicationContext.java ApplicationDispatcher.java StandardContext.java

remm        2003/05/21 10:49:04

  Modified:    catalina/src/share/org/apache/catalina/core
                        ApplicationContext.java ApplicationDispatcher.java
                        StandardContext.java
  Log:
  - Remove the mapping hack for context mapping.
  - Pass the request URI as a parameter, as this avoids rebuilding it.
  
  Revision  Changes    Path
  1.12      +9 -7      jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContext.java
  
  Index: ApplicationContext.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContext.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ApplicationContext.java	19 May 2003 21:54:07 -0000	1.11
  +++ ApplicationContext.java	21 May 2003 17:49:03 -0000	1.12
  @@ -409,7 +409,7 @@
           
           ApplicationDispatcher dispatcher;
           dispatcher =
  -              new ApplicationDispatcher(wrapper, null, null, null, name);
  +              new ApplicationDispatcher(wrapper, null, null, null, null, name);
           
           return ((RequestDispatcher) dispatcher);
   
  @@ -481,8 +481,9 @@
           }
   
           // Map the URI
  +        CharChunk uriCC = uriMB.getCharChunk();
           try {
  -            CharChunk uriCC = uriMB.getCharChunk();
  +            uriCC.append(context.getPath(), 0, context.getPath().length());
               uriCC.append(path, 0, pos);
               context.getMapper().map(uriMB, mappingData);
               if (mappingData.wrapper == null) {
  @@ -496,7 +497,8 @@
   
           // Construct a RequestDispatcher to process this request
           return (RequestDispatcher) new ApplicationDispatcher
  -            ((Wrapper) mappingData.wrapper, mappingData.wrapperPath.toString(),
  +            ((Wrapper) mappingData.wrapper, uriCC.toString(),
  +             mappingData.wrapperPath.toString(),
                mappingData.pathInfo.toString(), queryString, null);
   
       }
  
  
  
  1.17      +23 -17    jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
  
  Index: ApplicationDispatcher.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- ApplicationDispatcher.java	17 Apr 2003 15:31:45 -0000	1.16
  +++ ApplicationDispatcher.java	21 May 2003 17:49:03 -0000	1.17
  @@ -162,6 +162,7 @@
        *
        * @param wrapper The Wrapper associated with the resource that will
        *  be forwarded to or included (required)
  +     * @param requestURI The request URI to this resource (if any)
        * @param servletPath The revised servlet path to this resource (if any)
        * @param pathInfo The revised extra path information to this resource
        *  (if any)
  @@ -171,7 +172,7 @@
        *  else <code>null</code>
        */
       public ApplicationDispatcher
  -        (Wrapper wrapper, String servletPath,
  +        (Wrapper wrapper, String requestURI, String servletPath,
            String pathInfo, String queryString, String name) {
   
           super();
  @@ -179,6 +180,7 @@
           // Save all of our configuration parameters
           this.wrapper = wrapper;
           this.context = (Context) wrapper.getParent();
  +        this.requestURI = requestURI;
           this.servletPath = servletPath;
           this.origServletPath = servletPath;
           this.pathInfo = pathInfo;
  @@ -278,6 +280,11 @@
   
   
       /**
  +     * The request URI for this RequestDispatcher.
  +     */
  +    private String requestURI = null;
  +
  +    /**
        * The servlet path for this RequestDispatcher.
        */
       private String servletPath = null;
  @@ -420,16 +427,18 @@
   
               ApplicationHttpRequest wrequest =
                   (ApplicationHttpRequest) wrapRequest();
  -            StringBuffer sb = new StringBuffer();
               String contextPath = context.getPath();
  +            /*
  +            StringBuffer sb = new StringBuffer();
               if (contextPath != null)
                   sb.append(contextPath);
               if (servletPath != null)
                   sb.append(servletPath);
               if (pathInfo != null)
                   sb.append(pathInfo);
  +            */
               wrequest.setContextPath(contextPath);
  -            wrequest.setRequestURI(sb.toString());
  +            wrequest.setRequestURI(requestURI);
               wrequest.setServletPath(servletPath);
               wrequest.setPathInfo(pathInfo);
           
  @@ -464,23 +473,17 @@
               // Servlet SRV.6.2.2. The Resquest/Response may have been wrapped
               // and may no longer be instance of RequestFacade 
               if (log.isDebugEnabled()){
  -                log.debug( " The Response is vehiculed using a wrapper: " + response.getClass().getName() );
  +                log.debug( " The Response is vehiculed using a wrapper: " 
  +                           + response.getClass().getName() );
               }
   
               // Close anyway
               try {
  -                response.flushBuffer();
  -            } catch (IllegalStateException f) {
  -                ;
  -            }
  -            try {
                   PrintWriter writer = response.getWriter();
  -                writer.flush();
                   writer.close();
               } catch (IllegalStateException e) {
                   try {
                       ServletOutputStream stream = response.getOutputStream();
  -                    stream.flush();
                       stream.close();
                   } catch (IllegalStateException f) {
                       ;
  @@ -612,8 +615,9 @@
   
               ApplicationHttpRequest wrequest =
                   (ApplicationHttpRequest) wrapRequest();
  -            StringBuffer sb = new StringBuffer();
               String contextPath = context.getPath();
  +            /*
  +            StringBuffer sb = new StringBuffer();
               if (contextPath != null)
                   sb.append(contextPath);
               if (servletPath != null)
  @@ -621,8 +625,10 @@
               if (pathInfo != null)
                   sb.append(pathInfo);
               if (sb.length() > 0)
  +            */
  +            if (requestURI != null)
                   wrequest.setAttribute(Globals.INCLUDE_REQUEST_URI_ATTR,
  -                                      sb.toString());
  +                                      requestURI);
               if (contextPath != null)
                   wrequest.setAttribute(Globals.INCLUDE_CONTEXT_PATH_ATTR,
                                         contextPath);
  
  
  
  1.56      +2 -2      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.55
  retrieving revision 1.56
  diff -u -r1.55 -r1.56
  --- StandardContext.java	20 May 2003 21:05:11 -0000	1.55
  +++ StandardContext.java	21 May 2003 17:49:03 -0000	1.56
  @@ -4045,7 +4045,7 @@
                       ((Lifecycle) resources).start();
   
                   // Initialize associated mapper
  -                mapper.setContext(welcomeFiles, resources);
  +                mapper.setContext(getPath(), welcomeFiles, resources);
   
                   // Start our child containers, if any
                   Container children[] = findChildren();
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org