[jboss-cvs] JBossAS SVN: r93598 - in projects/vfs/branches/Branch_2_1/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
Wed Sep 16 05:38:35 EDT 2009


Author: alesj
Date: 2009-09-16 05:38:34 -0400 (Wed, 16 Sep 2009)
New Revision: 93598

Modified:
   projects/vfs/branches/Branch_2_1/src/main/java/org/jboss/virtual/plugins/context/vfs/AssembledFileHandler.java
   projects/vfs/branches/Branch_2_1/src/test/java/org/jboss/test/virtual/test/AssembledContextTestCase.java
Log:
[JBVFS-117]; allow children on AssembledFileHandler.

Modified: projects/vfs/branches/Branch_2_1/src/main/java/org/jboss/virtual/plugins/context/vfs/AssembledFileHandler.java
===================================================================
--- projects/vfs/branches/Branch_2_1/src/main/java/org/jboss/virtual/plugins/context/vfs/AssembledFileHandler.java	2009-09-16 09:29:51 UTC (rev 93597)
+++ projects/vfs/branches/Branch_2_1/src/main/java/org/jboss/virtual/plugins/context/vfs/AssembledFileHandler.java	2009-09-16 09:38:34 UTC (rev 93598)
@@ -23,7 +23,6 @@
 
 import java.io.IOException;
 import java.net.URL;
-import java.util.List;
 
 import org.jboss.virtual.plugins.context.DelegatingHandler;
 import org.jboss.virtual.spi.VFSContext;
@@ -49,14 +48,4 @@
          path += "/";
       setVfsUrl(new URL("vfs", context.getName(), -1, path, new AssembledUrlStreamHandler(context)));
    }
-
-   public List<VirtualFileHandler> getChildren(boolean ignoreErrors) throws IOException
-   {
-      throw new IOException("File cannot have children: " + this);
-   }
-
-   public VirtualFileHandler getChild(String path) throws IOException
-   {
-      throw new IOException("File cannot have children: " + this);
-   }
 }

Modified: projects/vfs/branches/Branch_2_1/src/test/java/org/jboss/test/virtual/test/AssembledContextTestCase.java
===================================================================
--- projects/vfs/branches/Branch_2_1/src/test/java/org/jboss/test/virtual/test/AssembledContextTestCase.java	2009-09-16 09:29:51 UTC (rev 93597)
+++ projects/vfs/branches/Branch_2_1/src/test/java/org/jboss/test/virtual/test/AssembledContextTestCase.java	2009-09-16 09:38:34 UTC (rev 93598)
@@ -26,8 +26,10 @@
 import java.util.regex.Pattern;
 
 import junit.framework.Test;
+import org.jboss.virtual.AssembledDirectory;
+import org.jboss.virtual.VFS;
 import org.jboss.virtual.VirtualFile;
-import org.jboss.virtual.AssembledDirectory;
+import org.jboss.virtual.VirtualFileFilter;
 import org.jboss.virtual.plugins.context.vfs.AssembledContextFactory;
 
 /**
@@ -257,7 +259,7 @@
       assertTrue("plugins/", found);
 
       System.out.println("Test org/jboss/virtual/plugins/context/jar");
-      VirtualFile jar = directory.findChild("org/jboss/virtual/plugins/context/jar");
+      VirtualFile jar = directory.getChild("org/jboss/virtual/plugins/context/jar");
       assertNotNull(jar);
       assertEquals("jar", jar.getName());
 
@@ -293,4 +295,49 @@
       assertNull(metainf.getChild("bytes1.tmp"));
       assertNull(metainf.getChild("bytes2.tmp"));
    }
+
+   public void testAddPath() throws Exception
+   {
+      AssembledDirectory sar = AssembledContextFactory.getInstance().create("foo.sar");
+      URL url = getResource("/vfs/test/jar1.jar");
+      VirtualFile jar1 = VFS.getRoot(url);
+
+      sar.addPath(jar1);
+      List<VirtualFile> children = sar.getChildrenRecursively();
+      assertNotNull(children);
+      assertEquals(10, children.size());
+
+      sar.clear();
+
+      sar.addPath(jar1, new VirtualFileFilter()
+      {
+         public boolean accepts(VirtualFile file)
+         {
+            return "META-INF".equalsIgnoreCase(file.getName());
+         }
+      });
+      children = sar.getChildrenRecursively();
+      assertNotNull(children);
+      assertEquals(2, children.size());
+   }
+
+   public void testAddChild() throws Exception
+   {
+      AssembledDirectory sar = AssembledContextFactory.getInstance().create("foo.sar");
+      URL url = getResource("/vfs/test/jar1.jar");
+      VirtualFile jar1 = VFS.getRoot(url);
+
+      sar.addChild(jar1);
+      List<VirtualFile> children = sar.getChildrenRecursively();
+      assertNotNull(children);
+      assertEquals(11, children.size());
+
+      sar.clear();
+
+      sar.addChild(jar1, "jar2.jar");
+      VirtualFile child = sar.getChild("jar2.jar");
+      children = child.getChildrenRecursively();
+      assertNotNull(children);
+      assertEquals(10, children.size());
+   }
 }




More information about the jboss-cvs-commits mailing list