You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by md...@apache.org on 2011/06/07 11:41:57 UTC
svn commit: r1132927 -
/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/util/PathUtil.java
Author: mduerig
Date: Tue Jun 7 09:41:56 2011
New Revision: 1132927
URL: http://svn.apache.org/viewvc?rev=1132927&view=rev
Log:
MicroKernel prototype (WIP)
adding relativize method as inverse of concat method
Modified:
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/util/PathUtil.java
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/util/PathUtil.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/util/PathUtil.java?rev=1132927&r1=1132926&r2=1132927&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/util/PathUtil.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/util/PathUtil.java Tue Jun 7 09:41:56 2011
@@ -72,4 +72,20 @@ public class PathUtil {
buf.append(nameOrRelativePath);
return buf.toString();
}
+
+ /**
+ * <code>relativize(path1, concat(path1, path2)) == path2</code>
+ */
+ public static String relativize(String parentPath, String path) {
+ String prefix = parentPath.charAt(parentPath.length() - 1) == '/'
+ ? parentPath
+ : parentPath + '/';
+
+ if (path.startsWith(prefix)) {
+ return path.substring(prefix.length());
+ }
+ else {
+ throw new IllegalAccessError("Cannot relativize " + path + " wrt. " + parentPath);
+ }
+ }
}