Return-Path: Delivered-To: apmail-incubator-sling-commits-archive@locus.apache.org Received: (qmail 22778 invoked from network); 29 Feb 2008 16:59:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 29 Feb 2008 16:59:16 -0000 Received: (qmail 36540 invoked by uid 500); 29 Feb 2008 16:59:12 -0000 Delivered-To: apmail-incubator-sling-commits-archive@incubator.apache.org Received: (qmail 36497 invoked by uid 500); 29 Feb 2008 16:59:11 -0000 Mailing-List: contact sling-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: sling-dev@incubator.apache.org Delivered-To: mailing list sling-commits@incubator.apache.org Received: (qmail 36488 invoked by uid 99); 29 Feb 2008 16:59:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Feb 2008 08:59:11 -0800 X-ASF-Spam-Status: No, hits=-2000.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; Fri, 29 Feb 2008 16:58:25 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id DD1871A9832; Fri, 29 Feb 2008 08:58:45 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r632389 - /incubator/sling/trunk/sling/servlets-default/src/main/java/org/apache/sling/servlets/RedirectServlet.java Date: Fri, 29 Feb 2008 16:58:45 -0000 To: sling-commits@incubator.apache.org From: fmeschbe@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080229165845.DD1871A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: fmeschbe Date: Fri Feb 29 08:58:34 2008 New Revision: 632389 URL: http://svn.apache.org/viewvc?rev=632389&view=rev Log: SLING-296 Add support for realtive target paths Modified: incubator/sling/trunk/sling/servlets-default/src/main/java/org/apache/sling/servlets/RedirectServlet.java Modified: incubator/sling/trunk/sling/servlets-default/src/main/java/org/apache/sling/servlets/RedirectServlet.java URL: http://svn.apache.org/viewvc/incubator/sling/trunk/sling/servlets-default/src/main/java/org/apache/sling/servlets/RedirectServlet.java?rev=632389&r1=632388&r2=632389&view=diff ============================================================================== --- incubator/sling/trunk/sling/servlets-default/src/main/java/org/apache/sling/servlets/RedirectServlet.java (original) +++ incubator/sling/trunk/sling/servlets-default/src/main/java/org/apache/sling/servlets/RedirectServlet.java Fri Feb 29 08:58:34 2008 @@ -140,12 +140,23 @@ } - StringBuffer pathBuf = new StringBuffer(); - String basePath = request.getResource().getPath(); + + // make sure the target path is absolute + if (!targetPath.startsWith("/")) { + if (!basePath.endsWith("/")) { + targetPath = "/".concat(targetPath); + } + targetPath = basePath.concat(targetPath); + } + + // append optional selectors etc.to the base path if (postFix != null) { - basePath += postFix; + basePath = basePath.concat(postFix); } + + StringBuffer pathBuf = new StringBuffer(); + makeRelative(pathBuf, basePath, targetPath);