[jboss-cvs] JBossAS SVN: r78990 - projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Oct 1 09:42:04 EDT 2008


Author: alesj
Date: 2008-10-01 09:42:04 -0400 (Wed, 01 Oct 2008)
New Revision: 78990

Modified:
   projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/VFSResourceVisitorUnitTestCase.java
Log:
Test federated resource visitor on vfs.

Modified: projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/VFSResourceVisitorUnitTestCase.java
===================================================================
--- projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/VFSResourceVisitorUnitTestCase.java	2008-10-01 13:16:01 UTC (rev 78989)
+++ projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/VFSResourceVisitorUnitTestCase.java	2008-10-01 13:42:04 UTC (rev 78990)
@@ -40,6 +40,7 @@
 import org.jboss.classloading.spi.visitor.ResourceContext;
 import org.jboss.classloading.spi.visitor.ResourceFilter;
 import org.jboss.classloading.spi.visitor.ResourceVisitor;
+import org.jboss.classloading.plugins.visitor.FederatedResourceVisitor;
 import org.jboss.kernel.spi.deployment.KernelDeployment;
 import org.jboss.test.classloading.vfs.metadata.VFSClassLoadingMicrocontainerTest;
 import org.jboss.test.classloading.vfs.metadata.support.a.A;
@@ -357,6 +358,54 @@
       }
    }
 
+   public void testFederated() throws Exception
+   {
+      VFSClassLoaderFactory factory = new VFSClassLoaderFactory("test");
+      factory.setRoots(Arrays.asList(System.getProperty("test.dir") + "/support/"));
+      KernelDeployment deployment = install(factory);
+      try
+      {
+         final Set<String> classes = new HashSet<String>();
+         ResourceVisitor visitor = new ClassVisitor()
+         {
+            public void visit(ResourceContext resource)
+            {
+               classes.add(resource.getResourceName());
+            }
+         };
+         ResourceFilter rfA = new ResourceFilter()
+         {
+            public boolean accepts(ResourceContext resource)
+            {
+               return "a".equals(resource.getResourceName());
+            }
+         };
+         ResourceFilter rfB = new ResourceFilter()
+         {
+            public boolean accepts(ResourceContext resource)
+            {
+               return "b".equals(resource.getResourceName());
+            }
+         };
+         FederatedResourceVisitor fedRV = new FederatedResourceVisitor(
+               new ResourceVisitor[]{visitor, visitor},
+               null,
+               new ResourceFilter[]{rfA, rfB}
+         );
+
+         Module module = assertModule("test:0.0.0");
+         module.visit(fedRV, fedRV.getFilter(), fedRV.getRecurseFilter());
+
+         assertEquals(2, classes.size());
+         assertTrue(classes.contains("a/A.class"));
+         assertTrue(classes.contains("b/B.class"));
+      }
+      finally
+      {
+         undeploy(deployment);
+      }
+   }
+
    protected void visitModule()
    {
       Module module = assertModule("test:0.0.0");




More information about the jboss-cvs-commits mailing list