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/02/29 17:58:45 UTC
svn commit: r632389 -
/incubator/sling/trunk/sling/servlets-default/src/main/java/org/apache/sling/servlets/RedirectServlet.java
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);