[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