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/06/19 09:25:20 UTC

svn commit: r191323 [2/2] - in /jakarta/commons/proper/vfs/trunk: ./ src/java/org/apache/commons/vfs/ src/java/org/apache/commons/vfs/impl/ src/java/org/apache/commons/vfs/provider/ src/java/org/apache/commons/vfs/provider/ftp/ src/java/org/apache/commons/vfs/provider/http/ src/java/org/apache/commons/vfs/provider/jar/ src/java/org/apache/commons/vfs/provider/local/ src/java/org/apache/commons/vfs/provider/sftp/ src/java/org/apache/commons/vfs/provider/smb/ src/java/org/apache/commons/vfs/provider/tar/ src/java/org/apache/commons/vfs/provider/temp/ src/java/org/apache/commons/vfs/provider/url/ src/java/org/apache/commons/vfs/provider/webdav/ src/java/org/apache/commons/vfs/provider/zip/ src/test-data/ src/test-data/basedir/ src/test/org/apache/commons/vfs/ src/test/org/apache/commons/vfs/provider/smb/test/ src/test/org/apache/commons/vfs/provider/test/ src/test/org/apache/commons/vfs/test/ src/utils/ xdocs/

Modified: jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/webdav/WebdavFileObject.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/webdav/WebdavFileObject.java?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
--- jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/webdav/WebdavFileObject.java (original)
+++ jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/webdav/WebdavFileObject.java Sun Jun 19 00:25:16 2005
@@ -24,22 +24,23 @@
 import org.apache.commons.vfs.NameScope;
 import org.apache.commons.vfs.provider.AbstractFileObject;
 import org.apache.commons.vfs.provider.GenericFileName;
-import org.apache.commons.vfs.provider.UriParser;
+import org.apache.commons.vfs.provider.URLFileName;
 import org.apache.commons.vfs.util.MonitorOutputStream;
 import org.apache.webdav.lib.BaseProperty;
 import org.apache.webdav.lib.WebdavResource;
 import org.apache.webdav.lib.methods.DepthSupport;
 import org.apache.webdav.lib.methods.OptionsMethod;
 import org.apache.webdav.lib.methods.XMLResponseMethodBase;
-import org.apache.webdav.lib.methods.DeleteMethod;
 import org.apache.webdav.lib.properties.ResourceTypeProperty;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
@@ -93,6 +94,7 @@
 
     /**
      * set the davResource
+     *
      * @param resource
      * @param bCheckExists might be removed soon
      * @throws Exception
@@ -101,13 +103,15 @@
     {
         redirectionResolved = false;
 
+        final URLFileName name = (URLFileName) getName();
+
         // System.err.println("set on " + System.identityHashCode(this) + " " + getName() + ":" + bCheckExists);
         if (resource == null)
         {
-            final GenericFileName name = (GenericFileName) getName();
             // HttpURL url = new HttpURL(name.getHostName(), name.getPort(), name.getPath());
-            HttpURL url = new HttpURL(name.getUserName(), name.getPassword(), name.getHostName(), name.getPort(), name.getPathDecoded());
-            url.setEscapedPath(name.getPath());
+            String pathEncoded = name.getPathQueryEncoded();
+            HttpURL url = new HttpURL(name.getUserName(), name.getPassword(), name.getHostName(), name.getPort());
+            url.setEscapedPath(pathEncoded);
             resource = new WebdavResource(fileSystem.getClient())
             {
             };
@@ -119,7 +123,8 @@
         // if (bCheckExists)
         {
             /* now fill the dav properties */
-            final OptionsMethod optionsMethod = new OptionsMethod(getName().getPath());
+            String pathEncoded = name.getPathQueryEncoded();
+            final OptionsMethod optionsMethod = new OptionsMethod(pathEncoded);
             optionsMethod.setFollowRedirects(true);
             final int status = fileSystem.getClient().executeMethod(optionsMethod);
             if (status < 200 || status > 299)
@@ -142,7 +147,7 @@
             }
             // handle the (maybe) redirected url
             redirectionResolved = true;
-            resource.getHttpURL().setEscapedPath(optionsMethod.getPath());
+            resource.getHttpURL().setEscapedPath(optionsMethod.getURI().getPath());
 
             setAllowedMethods(optionsMethod.getAllowedMethods());
             boolean exists = false;
@@ -182,6 +187,7 @@
         }
     }
 
+
     private void setAllowedMethods(Enumeration allowedMethods)
     {
         this.allowedMethods = new TreeSet();
@@ -289,27 +295,32 @@
             throw new FileSystemException("vfs.provider.webdav/list-children.error", resource.getStatusMessage());
         }
 
-        WebdavFileObject[] vfs = new WebdavFileObject[children.length];
+        List vfs = new ArrayList(children.length);
+        // WebdavFileObject[] vfs = new WebdavFileObject[children.length];
         for (int i = 0; i < children.length; i++)
         {
             WebdavResource dav = children[i];
 
-            /*
-            WebdavFileObject fo = (WebdavFileObject) getFileSystem().resolveFile(
-                    getName().resolveName(
-                        UriParser.encode(dav.getName()), NameScope.CHILD));
-             */
+            String davName = dav.getHttpURL().getEscapedName();
+            if ("".equals(davName))
+            {
+                // current file
+                continue;
+            }
+
             WebdavFileObject fo = (WebdavFileObject) getFileSystem().resolveFile(
-                    getFileSystem().getFileSystemManager().resolveName(
-                        getName(),
-                        UriParser.encode(dav.getName()),
-                        NameScope.CHILD));
+                getFileSystem().getFileSystemManager().resolveName(
+                    getName(),
+                    davName,
+                    NameScope.CHILD));
             fo.setDavResource(dav, false);
 
-            vfs[i] = fo;
+            // vfs[i] = fo;
+            vfs.add(fo);
         }
 
-        return vfs;
+        return (WebdavFileObject[]) vfs.toArray(new WebdavFileObject[vfs.size()]);
+        // return vfs;
     }
 
     /**
@@ -318,7 +329,8 @@
     protected void doCreateFolder() throws Exception
     {
         // Adjust resource path
-        resource.getHttpURL().setEscapedPath(getName().getPath() + '/');
+        //// resource.getHttpURL().setEscapedPath(getName().getPath() + '/');
+        resource.getHttpURL().setPath(getName().getPathDecoded() + '/');
         final boolean ok = resource.mkcolMethod();
         if (!ok)
         {
@@ -411,7 +423,8 @@
             final ByteArrayOutputStream outstr = (ByteArrayOutputStream) out;
 
             // Adjust the resource path (this file object may have been a folder)
-            resource.getHttpURL().setEscapedPath(getName().getPath());
+            //// resource.getHttpURL().setEscapedPath(getName().getPath());
+            resource.getHttpURL().setPath(getName().getPathDecoded());
             final boolean ok = resource.putMethod(outstr.toByteArray());
             if (!ok)
             {

Modified: jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/webdav/WebdavFileProvider.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/webdav/WebdavFileProvider.java?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
--- jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/webdav/WebdavFileProvider.java (original)
+++ jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/webdav/WebdavFileProvider.java Sun Jun 19 00:25:16 2005
@@ -23,6 +23,7 @@
 import org.apache.commons.vfs.FileSystemOptions;
 import org.apache.commons.vfs.provider.AbstractOriginatingFileProvider;
 import org.apache.commons.vfs.provider.GenericFileName;
+import org.apache.commons.vfs.provider.http.HttpFileNameParser;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -55,7 +56,7 @@
     {
         super();
 
-        setFileNameParser(WebdavFileNameParser.getInstance());
+        setFileNameParser(HttpFileNameParser.getInstance());
     }
 
     /**

Modified: jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/zip/ZipFileProvider.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/zip/ZipFileProvider.java?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
--- jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/zip/ZipFileProvider.java (original)
+++ jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/zip/ZipFileProvider.java Sun Jun 19 00:25:16 2005
@@ -23,7 +23,6 @@
 import org.apache.commons.vfs.FileSystemOptions;
 import org.apache.commons.vfs.provider.AbstractLayeredFileProvider;
 import org.apache.commons.vfs.provider.FileProvider;
-import org.apache.commons.vfs.provider.UriParser;
 import org.apache.commons.vfs.provider.LayeredFileName;
 
 import java.util.Arrays;

Modified: jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/zip/ZipFileSystem.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/zip/ZipFileSystem.java?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
--- jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/zip/ZipFileSystem.java (original)
+++ jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/zip/ZipFileSystem.java Sun Jun 19 00:25:16 2005
@@ -25,15 +25,14 @@
 import org.apache.commons.vfs.Selectors;
 import org.apache.commons.vfs.VfsLog;
 import org.apache.commons.vfs.provider.AbstractFileSystem;
-import org.apache.commons.vfs.provider.AbstractFileObject;
 import org.apache.commons.vfs.provider.UriParser;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Enumeration;
 import java.util.List;
-import java.util.ArrayList;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 

Added: jakarta/commons/proper/vfs/trunk/src/test-data/basedir/file space.txt
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test-data/basedir/file%20space.txt?rev=191323&view=auto
==============================================================================
--- jakarta/commons/proper/vfs/trunk/src/test-data/basedir/file space.txt (added)
+++ jakarta/commons/proper/vfs/trunk/src/test-data/basedir/file space.txt Sun Jun 19 00:25:16 2005
@@ -0,0 +1 @@
+This is a test file.
\ No newline at end of file

Propchange: jakarta/commons/proper/vfs/trunk/src/test-data/basedir/file space.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/vfs/trunk/src/test-data/basedir/file space.txt
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: jakarta/commons/proper/vfs/trunk/src/test-data/basedir/file space.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: jakarta/commons/proper/vfs/trunk/src/test-data/nested.jar
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test-data/nested.jar?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
Binary files - no diff available.

Modified: jakarta/commons/proper/vfs/trunk/src/test-data/nested.tar
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test-data/nested.tar?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
Binary files - no diff available.

Modified: jakarta/commons/proper/vfs/trunk/src/test-data/nested.tbz2
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test-data/nested.tbz2?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
Binary files - no diff available.

Modified: jakarta/commons/proper/vfs/trunk/src/test-data/nested.tgz
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test-data/nested.tgz?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
Binary files - no diff available.

Modified: jakarta/commons/proper/vfs/trunk/src/test-data/nested.zip
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test-data/nested.zip?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
Binary files - no diff available.

Modified: jakarta/commons/proper/vfs/trunk/src/test-data/test.jar
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test-data/test.jar?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
Binary files - no diff available.

Modified: jakarta/commons/proper/vfs/trunk/src/test-data/test.tar
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test-data/test.tar?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
Binary files - no diff available.

Modified: jakarta/commons/proper/vfs/trunk/src/test-data/test.tbz2
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test-data/test.tbz2?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
Binary files - no diff available.

Modified: jakarta/commons/proper/vfs/trunk/src/test-data/test.tgz
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test-data/test.tgz?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
Binary files - no diff available.

Modified: jakarta/commons/proper/vfs/trunk/src/test-data/test.zip
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test-data/test.zip?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
Binary files - no diff available.

Modified: jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/RunTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/RunTest.java?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
--- jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/RunTest.java (original)
+++ jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/RunTest.java Sun Jun 19 00:25:16 2005
@@ -3,12 +3,9 @@
 import junit.framework.AssertionFailedError;
 import junit.framework.Test;
 import junit.framework.TestResult;
-import org.apache.commons.vfs.provider.ftp.test.FtpProviderTestCase;
 import org.apache.commons.vfs.provider.http.test.HttpProviderTestCase;
 import org.apache.commons.vfs.provider.jar.test.JarProviderTestCase;
 import org.apache.commons.vfs.provider.jar.test.NestedJarTestCase;
-import org.apache.commons.vfs.provider.local.test.LocalProviderTestCase;
-import org.apache.commons.vfs.provider.res.test.ResourceProviderTestCase;
 import org.apache.commons.vfs.provider.sftp.test.SftpProviderTestCase;
 import org.apache.commons.vfs.provider.smb.test.SmbProviderTestCase;
 import org.apache.commons.vfs.provider.tar.test.NestedTarTestCase;
@@ -17,12 +14,15 @@
 import org.apache.commons.vfs.provider.tar.test.TarProviderTestCase;
 import org.apache.commons.vfs.provider.tar.test.Tbz2ProviderTestCase;
 import org.apache.commons.vfs.provider.tar.test.TgzProviderTestCase;
-import org.apache.commons.vfs.provider.temp.test.TemporaryProviderTestCase;
-import org.apache.commons.vfs.provider.test.VirtualProviderTestCase;
-import org.apache.commons.vfs.provider.url.test.UrlProviderTestCase;
 import org.apache.commons.vfs.provider.webdav.test.WebdavProviderTestCase;
 import org.apache.commons.vfs.provider.zip.test.NestedZipTestCase;
 import org.apache.commons.vfs.provider.zip.test.ZipProviderTestCase;
+import org.apache.commons.vfs.provider.ftp.test.FtpProviderTestCase;
+import org.apache.commons.vfs.provider.local.test.LocalProviderTestCase;
+import org.apache.commons.vfs.provider.res.test.ResourceProviderTestCase;
+import org.apache.commons.vfs.provider.temp.test.TemporaryProviderTestCase;
+import org.apache.commons.vfs.provider.url.test.UrlProviderTestCase;
+import org.apache.commons.vfs.provider.test.VirtualProviderTestCase;
 
 import java.util.Properties;
 
@@ -98,6 +98,8 @@
 
             Test test = tests[i];
             test.run(result);
+
+//            break;
         }
     }
 }

Modified: jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/provider/smb/test/FileNameTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/provider/smb/test/FileNameTestCase.java?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
--- jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/provider/smb/test/FileNameTestCase.java (original)
+++ jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/provider/smb/test/FileNameTestCase.java Sun Jun 19 00:25:16 2005
@@ -35,7 +35,7 @@
     public void testParseUri() throws Exception
     {
         // Simple name
-        SmbFileName name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, "smb://hostname/share/file");
+        SmbFileName name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, null, "smb://hostname/share/file");
         assertEquals("smb", name.getScheme());
         assertNull(name.getUserName());
         assertNull(name.getPassword());
@@ -48,7 +48,7 @@
         assertEquals("smb://hostname/share/file", name.getURI());
 
         // Name with port
-        name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, "smb://hostname:9090/share/file");
+        name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, null, "smb://hostname:9090/share/file");
         assertEquals("smb", name.getScheme());
         assertNull(name.getUserName());
         assertNull(name.getPassword());
@@ -60,7 +60,7 @@
         assertEquals("smb://hostname:9090/share/file", name.getURI());
 
         // Name with no path
-        name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, "smb://hostname/share");
+        name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, null, "smb://hostname/share");
         assertEquals("smb", name.getScheme());
         assertNull(name.getUserName());
         assertNull(name.getPassword());
@@ -72,7 +72,7 @@
         assertEquals("smb://hostname/share/", name.getURI());
 
         // Name with username
-        name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, "smb://user@hostname/share/file");
+        name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, null, "smb://user@hostname/share/file");
         assertEquals("smb", name.getScheme());
         assertEquals("user", name.getUserName());
         assertNull(name.getPassword());
@@ -84,7 +84,7 @@
         assertEquals("smb://user@hostname/share/file", name.getURI());
 
         // Name with extension
-        name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, "smb://user@hostname/share/file.txt");
+        name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, null, "smb://user@hostname/share/file.txt");
         assertEquals("smb", name.getScheme());
         assertEquals("user", name.getUserName());
         assertNull(name.getPassword());
@@ -98,7 +98,7 @@
         assertEquals("smb://user@hostname/share/file.txt", name.getURI());
 
         // Name look likes extension, but isnt
-        name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, "smb://user@hostname/share/.bashrc");
+        name = (SmbFileName) SmbFileNameParser.getInstance().parseUri(null, null, "smb://user@hostname/share/.bashrc");
         assertEquals("smb", name.getScheme());
         assertEquals("user", name.getUserName());
         assertNull(name.getPassword());
@@ -149,7 +149,7 @@
     {
         try
         {
-            SmbFileNameParser.getInstance().parseUri(null, uri);
+            SmbFileNameParser.getInstance().parseUri(null, null, uri);
             fail();
         }
         catch (final FileSystemException e)

Modified: jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/provider/test/GenericFileNameTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/provider/test/GenericFileNameTestCase.java?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
--- jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/provider/test/GenericFileNameTestCase.java (original)
+++ jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/provider/test/GenericFileNameTestCase.java Sun Jun 19 00:25:16 2005
@@ -37,7 +37,7 @@
     {
         URLFileNameParser urlParser = new URLFileNameParser(21);
         // Simple name
-        GenericFileName name = (GenericFileName) urlParser.parseUri(null, "ftp://hostname/file");
+        GenericFileName name = (GenericFileName) urlParser.parseUri(null, null, "ftp://hostname/file");
         assertEquals("ftp", name.getScheme());
         assertNull(name.getUserName());
         assertNull(name.getPassword());
@@ -49,7 +49,7 @@
         assertEquals("ftp://hostname/file", name.getURI());
 
         // Name with port
-        name = (GenericFileName) urlParser.parseUri(null, "ftp://hostname:9090/file");
+        name = (GenericFileName) urlParser.parseUri(null, null, "ftp://hostname:9090/file");
         assertEquals("ftp", name.getScheme());
         assertNull(name.getUserName());
         assertNull(name.getPassword());
@@ -60,7 +60,7 @@
         assertEquals("ftp://hostname:9090/file", name.getURI());
 
         // Name with no path
-        name = (GenericFileName) urlParser.parseUri(null, "ftp://hostname");
+        name = (GenericFileName) urlParser.parseUri(null, null, "ftp://hostname");
         assertEquals("ftp", name.getScheme());
         assertNull(name.getUserName());
         assertNull(name.getPassword());
@@ -71,7 +71,7 @@
         assertEquals("ftp://hostname/", name.getURI());
 
         // Name with username
-        name = (GenericFileName) urlParser.parseUri(null, "ftp://user@hostname/file");
+        name = (GenericFileName) urlParser.parseUri(null, null, "ftp://user@hostname/file");
         assertEquals("ftp", name.getScheme());
         assertEquals("user", name.getUserName());
         assertNull(name.getPassword());
@@ -82,7 +82,7 @@
         assertEquals("ftp://user@hostname/file", name.getURI());
 
         // Name with username and password
-        name = (GenericFileName) urlParser.parseUri(null, "ftp://user:password@hostname/file");
+        name = (GenericFileName) urlParser.parseUri(null, null, "ftp://user:password@hostname/file");
         assertEquals("ftp", name.getScheme());
         assertEquals("user", name.getUserName());
         assertEquals("password", name.getPassword());
@@ -93,7 +93,7 @@
         assertEquals("ftp://user:password@hostname/file", name.getURI());
 
         // Encoded username and password
-        name = (GenericFileName) urlParser.parseUri(null, "ftp://%75ser%3A:%40@hostname");
+        name = (GenericFileName) urlParser.parseUri(null, null, "ftp://%75ser%3A:%40@hostname");
         assertEquals("ftp", name.getScheme());
         assertEquals("user:", name.getUserName());
         assertEquals("@", name.getPassword());
@@ -136,7 +136,7 @@
     {
         try
         {
-            GenericFileNameParser.getInstance().parseUri(null, uri);
+            GenericFileNameParser.getInstance().parseUri(null, null, uri);
             fail();
         }
         catch (final FileSystemException e)

Modified: jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/AbstractProviderTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/AbstractProviderTestCase.java?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
--- jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/AbstractProviderTestCase.java (original)
+++ jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/AbstractProviderTestCase.java Sun Jun 19 00:25:16 2005
@@ -20,6 +20,9 @@
 import org.apache.commons.vfs.FileContent;
 import org.apache.commons.vfs.FileObject;
 import org.apache.commons.vfs.FileType;
+import org.apache.commons.vfs.FileSystemManager;
+import org.apache.commons.vfs.FileName;
+import org.apache.commons.vfs.FileSystemException;
 import org.apache.commons.vfs.impl.DefaultFileSystemManager;
 
 import java.io.ByteArrayOutputStream;
@@ -251,12 +254,26 @@
     /**
      * Builds the expected structure of the read tests folder.
      */
-    protected FileInfo buildExpectedStructure()
+    protected FileInfo buildExpectedStructure() throws FileSystemException
     {
         // Build the expected structure
         final FileInfo base = new FileInfo(getReadFolder().getName().getBaseName(), FileType.FOLDER);
         base.addFile("file1.txt", FILE1_CONTENT);
+        // file%.txt - test out encoding
         base.addFile("file%25.txt", FILE1_CONTENT);
+
+        // file?test.txt - test out encoding (test.txt is not the queryString)
+        // as we do not know if the current file provider we need to
+        // ask it to normalize the name
+        // todo: move this into the FileInfo class to do it generally?
+        /* webdav-bug?: didnt manage to get the "?" correctly through webdavlib
+        FileSystemManager fsm = getReadFolder().getFileSystem().getFileSystemManager();
+        FileName fn = fsm.resolveName(getReadFolder().getName(), "file%3ftest.txt");
+        String baseName = fn.getBaseName();
+        base.addFile(baseName, FILE1_CONTENT);
+        */
+        base.addFile("file space.txt", FILE1_CONTENT);
+
         base.addFile("empty.txt", "");
         base.addFolder("emptydir");
 

Modified: jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/NamingTests.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/NamingTests.java?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
--- jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/NamingTests.java (original)
+++ jakarta/commons/proper/vfs/trunk/src/test/org/apache/commons/vfs/test/NamingTests.java Sun Jun 19 00:25:16 2005
@@ -67,27 +67,33 @@
         getManager().setBaseFile(getReadFolder());
         final String path = getReadFolder().getName().getPath();
 
-        // Encode "some file"
+        // §1 Encode "some file"
         FileObject file = getManager().resolveFile("%73%6f%6d%65%20%66%69%6c%65");
         assertEquals(path + "/some file", file.getName().getPathDecoded());
 
-        // Encode "."
+        // §2 Encode "."
         file = getManager().resolveFile("%2e");
-        assertEquals(path + "/.", file.getName().getPathDecoded());
+        // 18-6-2005 imario@apache.org: no need to keep the "current directory"
+        // assertEquals(path + "/.", file.getName().getPathDecoded());
+        assertEquals(path, file.getName().getPathDecoded());
 
-        // Encode '%'
+        // §3 Encode '%'
         file = getManager().resolveFile("a%25");
         assertEquals(path + "/a%", file.getName().getPathDecoded());
 
-        // Encode /
+        // §4 Encode /
         file = getManager().resolveFile("dir%2fchild");
         assertEquals(path + "/dir/child", file.getName().getPathDecoded());
 
-        // Encode \
+        // §5 Encode \
         file = getManager().resolveFile("dir%5cchild");
-        assertEquals(path + "/dir\\child", file.getName().getPathDecoded());
+        // 18-6-2005 imario@apache.org: all file separators normalized to "/"
+        // decided to do this to get the same behaviour as in §4 on windows
+        // platforms
+        // assertEquals(path + "/dir\\child", file.getName().getPathDecoded());
+        assertEquals(path + "/dir/child", file.getName().getPathDecoded());
 
-        // Use "%" literal
+        // §6 Use "%" literal
         try
         {
             getManager().resolveFile("%");
@@ -97,7 +103,7 @@
         {
         }
 
-        // Not enough digits in encoded char
+        // §7 Not enough digits in encoded char
         try
         {
             getManager().resolveFile("%5");
@@ -107,7 +113,7 @@
         {
         }
 
-        // Invalid digit in encoded char
+        // §8 Invalid digit in encoded char
         try
         {
             getManager().resolveFile("%q");

Added: jakarta/commons/proper/vfs/trunk/src/utils/create_archives.sh
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/src/utils/create_archives.sh?rev=191323&view=auto
==============================================================================
--- jakarta/commons/proper/vfs/trunk/src/utils/create_archives.sh (added)
+++ jakarta/commons/proper/vfs/trunk/src/utils/create_archives.sh Sun Jun 19 00:25:16 2005
@@ -0,0 +1,80 @@
+#!/bin/sh
+
+PRG="$0"
+
+while [ -h "$PRG" ]; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '.*/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+
+# Get standard environment variables
+PRGDIR=`dirname "$PRG"`
+
+cd $PRGDIR/../..
+
+if [ ! -d target/test-data/read-tests ]
+then
+	echo "Please run maven to have the environment setup correctly"
+	exit 1
+fi
+
+if [ ! -x "`type -p jar`" ]
+then
+	echo "cant execute jar?"
+	exit 1
+fi
+if [ ! -x "`type -p tar`" ]
+then
+	echo "cant execute tar?"
+	exit 1
+fi
+if [ ! -x "`type -p zip`" ]
+then
+	echo "cant execute zip?"
+	exit 1
+fi
+
+cd target/test-data
+
+rm -f test.jar test.tar test.tbz2 test.tgz test.zip
+rm -f nested.jar nested.tar nested.tbz2 nested.tgz nested.zip
+
+echo "Creating test.jar ..."
+jar -cvfm test.jar test.mf read-tests code
+
+echo "Creating test.tar ..."
+tar cvf test.tar read-tests code
+
+echo "Creating test.tbz2 ..."
+tar cjvf test.tbz2 read-tests code
+
+echo "Creating test.tgz ..."
+tar czvf test.tgz read-tests code
+
+echo "Creating test.zip ..."
+zip -r test.zip read-tests code
+
+echo "Creating nested.jar ..."
+jar cvf nested.jar test.jar
+
+echo "Creating nested.tar ..."
+tar cvf nested.tar test.tar
+
+echo "Creating nested.tbz2 ..."
+tar cjvf nested.tbz2 test.tbz2
+
+echo "Creating nested.tgz ..."
+tar czvf nested.tgz test.tgz
+
+echo "Creating nested.zip ..."
+zip nested.zip test.zip
+
+for i in test.jar test.tar test.tbz2 test.tgz test.zip nested.jar nested.tar nested.tbz2 nested.tgz nested.zip
+do
+	cp $i ../../src/test-data/$i
+done

Propchange: jakarta/commons/proper/vfs/trunk/src/utils/create_archives.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/vfs/trunk/src/utils/create_archives.sh
------------------------------------------------------------------------------
    svn:executable = *

Propchange: jakarta/commons/proper/vfs/trunk/src/utils/create_archives.sh
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: jakarta/commons/proper/vfs/trunk/xdocs/todo.xml
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/vfs/trunk/xdocs/todo.xml?rev=191323&r1=191322&r2=191323&view=diff
==============================================================================
--- jakarta/commons/proper/vfs/trunk/xdocs/todo.xml (original)
+++ jakarta/commons/proper/vfs/trunk/xdocs/todo.xml Sun Jun 19 00:25:16 2005
@@ -127,5 +127,18 @@
                 </ul>
             </subsection>
         </section>
+
+        <section name="Library upgrades">
+            <p>
+                The following describes things I discovered during testing newer dependencies.
+            </p>
+
+            <subsection name="webdavlib 2.1">
+                <ul>
+                    <li>resource.listWebdavResources() do no longer list directories?<br />Figure out what to do</li>
+                </ul>
+            </subsection>
+
+        </section>
     </body>
 </document>



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