Make workspace indexer and JCR file system more robust.
[lgpl/argeo-commons.git] / org.argeo.jcr / src / org / argeo / jcr / fs / JcrPath.java
index b75189ade855d67f072fd74bbe18a693102a84c8..c5d86f679970e012a54da1b5e7d21dc8f90541a4 100644 (file)
@@ -19,6 +19,7 @@ import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
+/** A {@link Path} which contains a reference to a JCR {@link Node}. */
 public class JcrPath implements Path {
        private final static String delimStr = "/";
        private final static char delimChar = '/';
@@ -259,10 +260,10 @@ public class JcrPath implements Path {
                if (other.startsWith(this)) {
                        String p1 = toString();
                        String p2 = other.toString();
-                       String relative =  p2.substring(p1.length(), p2.length());
-                       if(relative.charAt(0)=='/')
+                       String relative = p2.substring(p1.length(), p2.length());
+                       if (relative.charAt(0) == '/')
                                relative = relative.substring(1);
-                       return new JcrPath(fs,relative);
+                       return new JcrPath(fs, relative);
                }
                throw new IllegalArgumentException(other + " cannot be relativized against " + this);
        }
@@ -270,7 +271,7 @@ public class JcrPath implements Path {
        @Override
        public URI toUri() {
                try {
-                       return new URI("jcr", toString(), null);
+                       return new URI(fs.provider().getScheme(), toString(), null);
                } catch (URISyntaxException e) {
                        throw new JcrFsException("Cannot create URI for " + toString(), e);
                }