[jboss-cvs] JBossAS SVN: r69384 - in projects/vfs/trunk/src: test/java/org/jboss/test/virtual/test and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jan 28 02:47:03 EST 2008
Author: scott.stark at jboss.org
Date: 2008-01-28 02:47:02 -0500 (Mon, 28 Jan 2008)
New Revision: 69384
Modified:
projects/vfs/trunk/src/main/java/org/jboss/virtual/VFSUtils.java
projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileVFSUnitTestCase.java
projects/vfs/trunk/src/test/resources/vfs/test/withalong/rootprefix/outermf.jar
Log:
JBVFS-15, recursively process classpath manifests
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/VFSUtils.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/VFSUtils.java 2008-01-28 06:40:03 UTC (rev 69383)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/VFSUtils.java 2008-01-28 07:47:02 UTC (rev 69384)
@@ -152,8 +152,16 @@
if( rootPathLength > libPath.length() )
throw new IOException("Invalid rootPath: "+vfsRootURL+", libPath: "+libPath);
String vfsLibPath = libPath.substring(rootPathLength);
- VirtualFile vf = file.getVFS().findChild(vfsLibPath);
- paths.add(vf);
+ VirtualFile vf = file.getVFS().getChild(vfsLibPath);
+ if(vf != null)
+ {
+ if(paths.contains(vf) == false)
+ {
+ paths.add(vf);
+ // Recursively process the jar
+ addManifestLocations(vf, paths);
+ }
+ }
}
catch (IOException e)
{
Modified: projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileVFSUnitTestCase.java
===================================================================
--- projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileVFSUnitTestCase.java 2008-01-28 06:40:03 UTC (rev 69383)
+++ projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileVFSUnitTestCase.java 2008-01-28 07:47:02 UTC (rev 69384)
@@ -1192,14 +1192,18 @@
assertNotNull(outerjar);
VirtualFile jar1 = outerjar.getChild("jar1.jar");
assertNotNull(jar1);
+ VirtualFile jar2 = outerjar.getChild("jar2.jar");
+ assertNotNull(jar2);
VirtualFile innerjar = outerjar.getChild("innermf.jar");
assertNotNull("innermf.jar != null", innerjar);
ArrayList<VirtualFile> cp = new ArrayList<VirtualFile>();
VFSUtils.addManifestLocations(innerjar, cp);
- assertEquals(1, cp.size());
+ assertEquals(2, cp.size());
VirtualFile cp0 = cp.get(0);
assertEquals(jar1, cp0);
+ VirtualFile cp1 = cp.get(1);
+ assertEquals(jar2, cp1);
}
/**
Modified: projects/vfs/trunk/src/test/resources/vfs/test/withalong/rootprefix/outermf.jar
===================================================================
(Binary files differ)
More information about the jboss-cvs-commits
mailing list