[jboss-cvs] JBossAS SVN: r103690 - in projects/scanning/trunk: testsuite/src/test/java/org/jboss/test/scanning/metadata/test and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 8 06:36:49 EDT 2010


Author: alesj
Date: 2010-04-08 06:36:48 -0400 (Thu, 08 Apr 2010)
New Revision: 103690

Added:
   projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_filter/
   projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_resources/
   projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_resources/META-INF/
   projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_resources/META-INF/jboss-scanning.xml
Removed:
   projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse/
Modified:
   projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataRecurseFilter.java
   projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/metadata/test/ScanningUnitTestCase.java
   projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_filter/META-INF/jboss-scanning.xml
Log:
Fix recurse filter, to be recurse packages aware.

Modified: projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataRecurseFilter.java
===================================================================
--- projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataRecurseFilter.java	2010-04-08 10:09:37 UTC (rev 103689)
+++ projects/scanning/trunk/scanning-impl/src/main/java/org/jboss/scanning/plugins/filter/ScanningMetaDataRecurseFilter.java	2010-04-08 10:36:48 UTC (rev 103690)
@@ -69,6 +69,8 @@
                   Node current = pathNode;
                   for (String token : tokens)
                      current = current.addChild(token);
+                  if (pemd.isRecurse())
+                     current.recurse = true; // mark last one as recurse
                }
             }
          }
@@ -95,6 +97,10 @@
                // let's try to walk some tree path
                for (String token : tokens)
                {
+                  // if we're here, the rest is recursively matched
+                  if (current.recurse)
+                     break;
+
                   current = current.getChild(token);
                   // no fwd path
                   if (current == null)
@@ -110,6 +116,7 @@
    private static class Node
    {
       private Map<String, Node> children;
+      private boolean recurse;
 
       public Node addChild(String value)
       {

Modified: projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/metadata/test/ScanningUnitTestCase.java
===================================================================
--- projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/metadata/test/ScanningUnitTestCase.java	2010-04-08 10:09:37 UTC (rev 103689)
+++ projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/metadata/test/ScanningUnitTestCase.java	2010-04-08 10:36:48 UTC (rev 103690)
@@ -61,18 +61,42 @@
             .addPackage(JarMarkOnClass.class)
             .addPackage(WebMarkOnClass.class)
             .addPackage(WebMarkOnClassImpl.class)
-            .addPath("/metadata/recurse");
+            .addPath("/metadata/recurse_filter");
 
       DeploymentUnit unit = assertDeploy(jar);
+      SingletonVisitor visitor = SingletonVisitor.INSTANCE;
       try
       {
-         SingletonVisitor visitor = SingletonVisitor.INSTANCE;
          Set<String> visited = visitor.getVisited();
-         System.out.println("visited = " + visited); // TODO -- proper test
+         assertEquals(5, visited.size());
+         // TODO -- check we don't recurse into war packages
       }
       finally
       {
+         visitor.clear();
          undeploy(unit);
       }
    }
+
+   public void testRecurseResources() throws Exception
+   {
+      VirtualFile jar = VFS.getChild(getName()).getChild("simple.jar");
+      createAssembledDirectory(jar)
+            .addPackage(JarMarkOnClassImpl.class)
+            .addPackage(JarMarkOnClass.class)
+            .addPath("/metadata/recurse_resources");
+
+      DeploymentUnit unit = assertDeploy(jar);
+      SingletonVisitor visitor = SingletonVisitor.INSTANCE;
+      try
+      {
+         Set<String> visited = visitor.getVisited();
+         assertEquals(7, visited.size());
+      }
+      finally
+      {
+         visitor.clear();
+         undeploy(unit);
+      }
+   }
 }
\ No newline at end of file

Copied: projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_filter (from rev 103660, projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse)

Modified: projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_filter/META-INF/jboss-scanning.xml
===================================================================
--- projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse/META-INF/jboss-scanning.xml	2010-04-07 20:58:57 UTC (rev 103660)
+++ projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_filter/META-INF/jboss-scanning.xml	2010-04-08 10:36:48 UTC (rev 103690)
@@ -1,6 +1,5 @@
 <scanning xmlns="urn:jboss:scanning:1.0">
   <path name="simple.jar">
     <include name="org.jboss.test.scanning.annotations.support.jar"/>
-    <include name="org.jboss.test.scanning.annotations.support.war"/>
   </path>
 </scanning>

Copied: projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_resources/META-INF/jboss-scanning.xml (from rev 103660, projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse/META-INF/jboss-scanning.xml)
===================================================================
--- projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_resources/META-INF/jboss-scanning.xml	                        (rev 0)
+++ projects/scanning/trunk/testsuite/src/test/resources/metadata/recurse_resources/META-INF/jboss-scanning.xml	2010-04-08 10:36:48 UTC (rev 103690)
@@ -0,0 +1,5 @@
+<scanning xmlns="urn:jboss:scanning:1.0">
+  <path name="simple.jar">
+    <include name="org.jboss.test.scanning.annotations.support.jar" recurse="true"/>
+  </path>
+</scanning>




More information about the jboss-cvs-commits mailing list