Return-Path: Delivered-To: apmail-ws-tuscany-commits-archive@locus.apache.org Received: (qmail 65823 invoked from network); 7 Jan 2008 16:06:24 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 Jan 2008 16:06:24 -0000 Received: (qmail 97408 invoked by uid 500); 7 Jan 2008 16:06:13 -0000 Delivered-To: apmail-ws-tuscany-commits-archive@ws.apache.org Received: (qmail 97391 invoked by uid 500); 7 Jan 2008 16:06:13 -0000 Mailing-List: contact tuscany-commits-help@ws.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: tuscany-dev@ws.apache.org Delivered-To: mailing list tuscany-commits@ws.apache.org Received: (qmail 97382 invoked by uid 99); 7 Jan 2008 16:06:13 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Jan 2008 08:06:13 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Jan 2008 16:06:09 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 5D5EE1A9897; Mon, 7 Jan 2008 08:06:01 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r609655 - /incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppRequestDispatcher.java Date: Mon, 07 Jan 2008 16:06:01 -0000 To: tuscany-commits@ws.apache.org From: antelder@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080107160601.5D5EE1A9897@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: antelder Date: Mon Jan 7 08:06:00 2008 New Revision: 609655 URL: http://svn.apache.org/viewvc?rev=609655&view=rev Log: Another contextpath fiddle to cope with multiple root elements Modified: incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppRequestDispatcher.java Modified: incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppRequestDispatcher.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppRequestDispatcher.java?rev=609655&r1=609654&r2=609655&view=diff ============================================================================== --- incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppRequestDispatcher.java (original) +++ incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppRequestDispatcher.java Mon Jan 7 08:06:00 2008 @@ -20,6 +20,7 @@ package org.apache.tuscany.sca.host.webapp; import java.io.IOException; +import java.util.StringTokenizer; import javax.servlet.RequestDispatcher; import javax.servlet.Servlet; @@ -69,18 +70,34 @@ if (path.length() == 0) { path = super.getPathInfo(); } - // TODO: another context path hack, shouldn't hardcode this "tuscany" string - if (servletPath.startsWith("/tuscany/")) { - path = path.substring(servletPath.length()-8); - } else { - path = path.substring(servletPath.length()); - } + + // TODO: another context path hack, revisit when context path is sorted out + path = fiddlePath(path, servletPath); + return path; } }; return requestWrapper; } - + + /** + * Remove any path suffix thats part of the servlet context path + */ + protected String fiddlePath(String path, String servletPath) { + StringTokenizer st = new StringTokenizer(path, "/"); + String root = ""; + while (st.hasMoreTokens()){ + String s = st.nextToken(); + if (servletPath.endsWith((root + "/" + s))) { + root += "/" + s; + } else { + break; + } + } + String fiddlePath = path.substring(root.length()); + return fiddlePath; + } + public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException { servlet.service(createRequestWrapper(request), response); } --------------------------------------------------------------------- To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org For additional commands, e-mail: tuscany-commits-help@ws.apache.org