You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2008/12/29 22:27:28 UTC
svn commit: r730000 - in /incubator/sling/trunk/servlets/get/src:
main/java/org/apache/sling/servlets/get/RedirectServlet.java
test/java/org/apache/sling/servlets/get/RedirectServletTest.java
Author: fmeschbe
Date: Mon Dec 29 13:27:27 2008
New Revision: 730000
URL: http://svn.apache.org/viewvc?rev=730000&view=rev
Log:
SLING-791 Correctly handle trailing slashes in the base path
Modified:
incubator/sling/trunk/servlets/get/src/main/java/org/apache/sling/servlets/get/RedirectServlet.java
incubator/sling/trunk/servlets/get/src/test/java/org/apache/sling/servlets/get/RedirectServletTest.java
Modified: incubator/sling/trunk/servlets/get/src/main/java/org/apache/sling/servlets/get/RedirectServlet.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/servlets/get/src/main/java/org/apache/sling/servlets/get/RedirectServlet.java?rev=730000&r1=729999&r2=730000&view=diff
==============================================================================
--- incubator/sling/trunk/servlets/get/src/main/java/org/apache/sling/servlets/get/RedirectServlet.java (original)
+++ incubator/sling/trunk/servlets/get/src/main/java/org/apache/sling/servlets/get/RedirectServlet.java Mon Dec 29 13:27:27 2008
@@ -176,6 +176,11 @@
private static void makeRelative(StringBuffer pathBuffer, String base,
String target) {
+ // pseudo entry to correctly calculate the relative path
+ if (base.endsWith("/")) {
+ base = base.concat(String.valueOf(Character.MAX_VALUE));
+ }
+
String[] bParts = base.substring(1).split("/");
String[] tParts = target.substring(1).split("/");
Modified: incubator/sling/trunk/servlets/get/src/test/java/org/apache/sling/servlets/get/RedirectServletTest.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/servlets/get/src/test/java/org/apache/sling/servlets/get/RedirectServletTest.java?rev=730000&r1=729999&r2=730000&view=diff
==============================================================================
--- incubator/sling/trunk/servlets/get/src/test/java/org/apache/sling/servlets/get/RedirectServletTest.java (original)
+++ incubator/sling/trunk/servlets/get/src/test/java/org/apache/sling/servlets/get/RedirectServletTest.java Mon Dec 29 13:27:27 2008
@@ -39,6 +39,12 @@
assertEquals("d", toRedirect(base, target));
}
+ public void testTrailingSlash() {
+ String base = "/a/b/c/";
+ String target = "/a/b/c.html";
+ assertEquals("../c.html", toRedirect(base, target));
+ }
+
public void testCommonAncestor() {
String base = "/a/b/c/d";
String target = "/a/b/x/y";