[jboss-cvs] JBossAS SVN: r86757 - in projects/vfs/trunk/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
Fri Apr 3 13:27:05 EDT 2009
Author: wolfc
Date: 2009-04-03 13:27:05 -0400 (Fri, 03 Apr 2009)
New Revision: 86757
Modified:
projects/vfs/trunk/src/main/java/org/jboss/virtual/VFSUtils.java
projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/VFSUtilTestCase.java
Log:
JBVFS-101: a hack to make VFSUtils.stripProtocol work
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/VFSUtils.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/VFSUtils.java 2009-04-03 16:57:50 UTC (rev 86756)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/VFSUtils.java 2009-04-03 17:27:05 UTC (rev 86757)
@@ -49,9 +49,9 @@
import org.jboss.virtual.plugins.copy.UnjarCopyMechanism;
import org.jboss.virtual.plugins.copy.UnpackCopyMechanism;
import org.jboss.virtual.spi.LinkInfo;
+import org.jboss.virtual.spi.Options;
import org.jboss.virtual.spi.VFSContext;
import org.jboss.virtual.spi.VirtualFileHandler;
-import org.jboss.virtual.spi.Options;
import org.jboss.virtual.spi.cache.VFSCacheFactory;
/**
@@ -1087,6 +1087,12 @@
public static String stripProtocol(URI uri)
{
String path = uri.getPath();
+ if(path == null)
+ {
+ String s = uri.toString();
+ if(s.startsWith("jar:file:"))
+ path = s.substring("jar:file:".length()).replaceFirst("!/", "/") + "/";
+ }
if (path != null && path.length() > 0)
{
StringBuilder sb = new StringBuilder(path);
Modified: projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/VFSUtilTestCase.java
===================================================================
--- projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/VFSUtilTestCase.java 2009-04-03 16:57:50 UTC (rev 86756)
+++ projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/VFSUtilTestCase.java 2009-04-03 17:27:05 UTC (rev 86757)
@@ -27,6 +27,7 @@
import junit.framework.Test;
import junit.framework.TestSuite;
+
import org.jboss.virtual.VFS;
import org.jboss.virtual.VFSUtils;
import org.jboss.virtual.VirtualFile;
@@ -117,4 +118,19 @@
// TODO - JBVFS-77 --> do proper tests!
assertTrue(realURL.toExternalForm().startsWith("file:"));
}
+
+ public void testStripProtocol() throws Exception
+ {
+ URL url = getResource("/vfs/test/jar1.jar");
+
+ VirtualFile manifest = VFS.getRoot(url).getChild("META-INF/MANIFEST.MF");
+ String expected = VFSUtils.stripProtocol(manifest.toURI());
+
+ URL manifestURL = new URL("jar:" + url.toExternalForm() + "!/META-INF/MANIFEST.MF");
+ System.out.println(manifestURL);
+ System.out.println(manifestURL.toURI());
+ String actual = VFSUtils.stripProtocol(manifestURL.toURI());
+
+ assertEquals("path from jar:file: url is not usable", expected, actual);
+ }
}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list