craigmcc 02/02/15 17:07:11 Modified: catalina/src/share/org/apache/catalina/servlets InvokerHttpRequest.java InvokerServlet.java Log: Wrap the getPathTranslated() method of the wrapped request used the first time a particular servlet is invoked, so that it returns the correct value on the first call. It already returned the correct value on all subsequent calls, which bypass the invoker. PR: Bugzilla #6480 Submitted by: Amar Mattey <[EMAIL PROTECTED]> Revision Changes Path 1.4 +34 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/InvokerHttpRequest.java Index: InvokerHttpRequest.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/InvokerHttpRequest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- InvokerHttpRequest.java 22 Jul 2001 20:25:11 -0000 1.3 +++ InvokerHttpRequest.java 16 Feb 2002 01:07:11 -0000 1.4 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/InvokerHttpRequest.java,v 1.3 2001/07/22 20:25:11 pier Exp $ - * $Revision: 1.3 $ - * $Date: 2001/07/22 20:25:11 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/InvokerHttpRequest.java,v 1.4 2002/02/16 01:07:11 craigmcc Exp $ + * $Revision: 1.4 $ + * $Date: 2002/02/16 01:07:11 $ * * ==================================================================== * @@ -88,7 +88,7 @@ * to the servlet, because a new servlet mapping will have been created. * * @author Craig R. McClanahan - * @version $Revision: 1.3 $ $Date: 2001/07/22 20:25:11 $ + * @version $Revision: 1.4 $ $Date: 2002/02/16 01:07:11 $ */ class InvokerHttpRequest extends HttpServletRequestWrapper { @@ -106,6 +106,7 @@ super(request); this.pathInfo = request.getPathInfo(); + this.pathTranslated = request.getPathTranslated(); this.requestURI = request.getRequestURI(); this.servletPath = request.getServletPath(); @@ -129,6 +130,12 @@ /** + * The translated path information for this request. + */ + protected String pathTranslated = null; + + + /** * The request URI for this request. */ protected String requestURI = null; @@ -161,6 +168,17 @@ /** + * Override the <code>getPathTranslated()</code> method of the + * wrapped request. + */ + public String getPathTranslated() { + + return (this.pathTranslated); + + } + + + /** * Override the <code>getRequestURI()</code> method of the wrapped request. */ public String getRequestURI() { @@ -203,6 +221,18 @@ void setPathInfo(String pathInfo) { this.pathInfo = pathInfo; + + } + + + /** + * Set the translated path info for this request. + * + * @param pathTranslated The new translated path info + */ + void setPathTranslated(String pathTranslated) { + + this.pathTranslated = pathTranslated; } 1.15 +10 -6 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/InvokerServlet.java Index: InvokerServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/InvokerServlet.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- InvokerServlet.java 20 Sep 2001 23:34:42 -0000 1.14 +++ InvokerServlet.java 16 Feb 2002 01:07:11 -0000 1.15 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/InvokerServlet.java,v 1.14 2001/09/20 23:34:42 remm Exp $ - * $Revision: 1.14 $ - * $Date: 2001/09/20 23:34:42 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/InvokerServlet.java,v 1.15 2002/02/16 01:07:11 craigmcc Exp $ + * $Revision: 1.15 $ + * $Date: 2002/02/16 01:07:11 $ * * ==================================================================== * @@ -87,7 +87,7 @@ * in the web application deployment descriptor. * * @author Craig R. McClanahan - * @version $Revision: 1.14 $ $Date: 2001/09/20 23:34:42 $ + * @version $Revision: 1.15 $ $Date: 2002/02/16 01:07:11 $ */ public final class InvokerServlet @@ -384,10 +384,14 @@ sb.append("/"); sb.append(servletClass); wrequest.setServletPath(sb.toString()); - if ((pathInfo == null) || (pathInfo.length() < 1)) + if ((pathInfo == null) || (pathInfo.length() < 1)) { wrequest.setPathInfo(null); - else + wrequest.setPathTranslated(null); + } else { wrequest.setPathInfo(pathInfo); + wrequest.setPathTranslated + (getServletContext().getRealPath(pathInfo)); + } // Allocate a servlet instance to perform this request Servlet instance = null;
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>