[jboss-cvs] JBossAS SVN: r101259 - in projects/vfs/branches/Branch_2_2/src: test/java/org/jboss/test/virtual/test and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Feb 22 13:21:51 EST 2010


Author: alesj
Date: 2010-02-22 13:21:50 -0500 (Mon, 22 Feb 2010)
New Revision: 101259

Modified:
   projects/vfs/branches/Branch_2_2/src/main/java/org/jboss/virtual/plugins/registry/DefaultVFSRegistry.java
   projects/vfs/branches/Branch_2_2/src/test/java/org/jboss/test/virtual/test/SymlinkTestCase.java
Log:
[JBVFS-137]; handle symlinks.

Modified: projects/vfs/branches/Branch_2_2/src/main/java/org/jboss/virtual/plugins/registry/DefaultVFSRegistry.java
===================================================================
--- projects/vfs/branches/Branch_2_2/src/main/java/org/jboss/virtual/plugins/registry/DefaultVFSRegistry.java	2010-02-22 18:18:43 UTC (rev 101258)
+++ projects/vfs/branches/Branch_2_2/src/main/java/org/jboss/virtual/plugins/registry/DefaultVFSRegistry.java	2010-02-22 18:21:50 UTC (rev 101259)
@@ -106,20 +106,21 @@
     */
    protected static URI canonicalize(URI uri) throws IOException
    {
-      // TODO -- this file "recursion" needs more testing ...
       if (forceCanonical)
       {
-         String path = "";
+         StringBuilder path = new StringBuilder();
          File file = new File(uri.getPath());
          while(file.exists() == false)
          {
-            path = File.separator + file.getName() + path;
+            path.insert(0, file.getName());
+            path.insert(0, File.separator);
             file = file.getParentFile();
          }
          file = file.getCanonicalFile();
+         path.insert(0, file.getPath());
          try
          {
-            return new URI(uri.getScheme(), uri.getHost(), file.getPath() + path, uri.getQuery(), uri.getFragment());
+            return new URI(uri.getScheme(), uri.getHost(), path.toString(), uri.getQuery(), uri.getFragment());
          }
          catch (URISyntaxException e)
          {

Modified: projects/vfs/branches/Branch_2_2/src/test/java/org/jboss/test/virtual/test/SymlinkTestCase.java
===================================================================
--- projects/vfs/branches/Branch_2_2/src/test/java/org/jboss/test/virtual/test/SymlinkTestCase.java	2010-02-22 18:18:43 UTC (rev 101258)
+++ projects/vfs/branches/Branch_2_2/src/test/java/org/jboss/test/virtual/test/SymlinkTestCase.java	2010-02-22 18:21:50 UTC (rev 101259)
@@ -148,6 +148,11 @@
             URLConnection conn = url.openConnection();
             assertCopies(store);
             assertEquals(file.getLastModified(), conn.getLastModified());
+
+            directRootURL = new URL("vfszip://" + rootText + testPath);
+            conn = directRootURL.openConnection();
+            assertCopies(store);
+            assertEquals(file.getLastModified(), conn.getLastModified());
          }
          finally
          {




More information about the jboss-cvs-commits mailing list