You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by im...@apache.org on 2005/05/14 20:52:28 UTC

svn commit: r170156 - in /jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local: GenericFileNameParser.java LocalFileName.java LocalFileNameParser.java WindowsFileNameParser.java

Author: imario
Date: Sat May 14 11:52:27 2005
New Revision: 170156

URL: http://svn.apache.org/viewcvs?rev=170156&view=rev
Log:
avoid file://// for localfile filenames

PR: 34858
Reported By: Philippe Poulard

Modified:
    jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/GenericFileNameParser.java
    jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileName.java
    jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileNameParser.java
    jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/WindowsFileNameParser.java

Modified: jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/GenericFileNameParser.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/GenericFileNameParser.java?rev=170156&r1=170155&r2=170156&view=diff
==============================================================================
--- jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/GenericFileNameParser.java (original)
+++ jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/GenericFileNameParser.java Sat May 14 11:52:27 2005
@@ -16,6 +16,7 @@
 package org.apache.commons.vfs.provider.local;
 
 import org.apache.commons.vfs.FileSystemException;
+import org.apache.commons.vfs.FileName;
 
 /**
  * A general-purpose file name parser.
@@ -52,6 +53,17 @@
             throw new FileSystemException("vfs.provider.local/not-absolute-file-name.error", uri);
         }
 
+        // do not strip the separator, BUT also return it ...
         return "/";
+    }
+
+    /*
+     * ... this is why whe need this:
+     * here the rootFilename can only be "/" (see above) put this "/" is also in the pathname
+     * so its of no value for the LocalFileName instance
+     */
+    protected FileName createFileName(String scheme, final String rootFile, final String path)
+    {
+        return new LocalFileName(scheme, "", path);
     }
 }

Modified: jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileName.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileName.java?rev=170156&r1=170155&r2=170156&view=diff
==============================================================================
--- jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileName.java (original)
+++ jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileName.java Sat May 14 11:52:27 2005
@@ -64,5 +64,5 @@
         buffer.append(getScheme());
         buffer.append("://");
         buffer.append(rootFile);
-    } 
+    }
 }

Modified: jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileNameParser.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileNameParser.java?rev=170156&r1=170155&r2=170156&view=diff
==============================================================================
--- jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileNameParser.java (original)
+++ jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileNameParser.java Sat May 14 11:52:27 2005
@@ -78,6 +78,8 @@
         UriParser.normalisePath(name);
         final String path = name.toString();
 
-        return new LocalFileName(scheme, rootFile, path);
+        return createFileName(scheme, rootFile, path);
     }
+
+    protected abstract FileName createFileName(String scheme, final String rootFile, final String path);
 }

Modified: jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/WindowsFileNameParser.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/WindowsFileNameParser.java?rev=170156&r1=170155&r2=170156&view=diff
==============================================================================
--- jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/WindowsFileNameParser.java (original)
+++ jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/WindowsFileNameParser.java Sat May 14 11:52:27 2005
@@ -16,6 +16,7 @@
 package org.apache.commons.vfs.provider.local;
 
 import org.apache.commons.vfs.FileSystemException;
+import org.apache.commons.vfs.FileName;
 
 /**
  * A parser for Windows file names.
@@ -34,6 +35,11 @@
         throws FileSystemException
     {
         return extractWindowsRootPrefix(uri, name);
+    }
+
+    protected FileName createFileName(String scheme, final String rootFile, final String path)
+    {
+        return new LocalFileName(scheme, rootFile, path);
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org