[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