[jboss-cvs] JBossAS SVN: r76014 - in projects/jboss-deployers/trunk: deployers-impl/src/main/org/jboss/deployers/plugins/annotations and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Jul 19 11:25:07 EDT 2008


Author: alesj
Date: 2008-07-19 11:25:06 -0400 (Sat, 19 Jul 2008)
New Revision: 76014

Modified:
   projects/jboss-deployers/trunk/build/pom.xml
   projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java
   projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java
   projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/classloading/AbstractResourceVisitorDeployer.java
   projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/classloading/support/MockDeploymentClassLoaderPolicyModule.java
   projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java
   projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java
Log:
Updating deployers to use Module::visit with recursion filter.
Changing build/pom.xml to use CL snapshot - failing some ManifestCLUniteTestCases.

Modified: projects/jboss-deployers/trunk/build/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/build/pom.xml	2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/build/pom.xml	2008-07-19 15:25:06 UTC (rev 76014)
@@ -24,7 +24,7 @@
     <version.jboss.man>2.0.0.Beta12</version.jboss.man>
     <version.jboss.mdr>2.0.0.Beta15</version.jboss.mdr>
     <version.jboss.microcontainer>2.0.0.Beta16</version.jboss.microcontainer>
-    <version.jboss.classloader>2.0.0.Beta12</version.jboss.classloader>
+    <version.jboss.classloader>2.0.0-SNAPSHOT</version.jboss.classloader>
     <version.jboss.common.core>2.2.4.GA</version.jboss.common.core>
     <version.jboss.common.logging.spi>2.0.4.GA</version.jboss.common.logging.spi>
     <version.jboss.common.logging.log4j>2.0.4.GA</version.jboss.common.logging.log4j>

Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java	2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java	2008-07-19 15:25:06 UTC (rev 76014)
@@ -21,10 +21,8 @@
 */
 package org.jboss.deployers.plugins.annotations;
 
-import javassist.ClassPool;
-import org.jboss.classloader.spi.filter.ClassFilter;
-import org.jboss.classloading.spi.dependency.Module;
 import org.jboss.classloading.spi.visitor.ResourceFilter;
+import org.jboss.classloading.spi.dependency.Module;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 
 /**
@@ -39,8 +37,7 @@
 public class FilteredGenericAnnotationDeployer extends GenericAnnotationDeployer
 {
    private ResourceFilter resourceFilter;
-   private ClassFilter includedFilter;
-   private ClassFilter excludedFilter;
+   private ResourceFilter recurseFilter;
 
    /**
     * Get filter.
@@ -61,23 +58,26 @@
       return result;
    }
 
-   protected GenericAnnotationResourceVisitor createGenericAnnotationResourceVisitor(DeploymentUnit unit, ClassPool pool, ClassLoader classLoader)
+   /**
+    * We look for filter attachments:
+    * * org.jboss.classloading.spi.visitor.ResourceFilter.resource - plain resource filter
+    * * org.jboss.classloading.spi.visitor.ResourceFilter.recurse  - recurse resource filter
+    *
+    * @see Module#visit(org.jboss.classloading.spi.visitor.ResourceVisitor, org.jboss.classloading.spi.visitor.ResourceFilter, org.jboss.classloading.spi.visitor.ResourceFilter)
+    *
+    * @param unit the deployment unit
+    * @param module the underlying module
+    * @param visitor the current generic annotation resource visitor
+    */
+   protected void visitModule(DeploymentUnit unit, Module module, GenericAnnotationResourceVisitor visitor)
    {
-      GenericAnnotationResourceVisitor visitor = super.createGenericAnnotationResourceVisitor(unit, pool, classLoader);
-      ResourceFilter filter = getFilter(unit, ResourceFilter.class, null, resourceFilter);
+      ResourceFilter filter = getFilter(unit, ResourceFilter.class, "resource", resourceFilter);
       if (filter != null)
-         visitor.setResourceFilter(filter);
-      return visitor;
+         filter = visitor.getFilter();
+      ResourceFilter recurse = getFilter(unit, ResourceFilter.class, "recurse", recurseFilter);
+      module.visit(visitor, filter, recurse);
    }
 
-   protected Module prepareModule(DeploymentUnit unit, Module original)
-   {
-      ClassFilter included = getFilter(unit, ClassFilter.class, "included", includedFilter);
-      ClassFilter excluded = getFilter(unit, ClassFilter.class, "excluded", excludedFilter);
-      // TODO - temp set this two
-      return super.prepareModule(unit, original);
-   }
-
    /**
     * Set resource filter.
     *
@@ -89,22 +89,12 @@
    }
 
    /**
-    * Set included class filter.
+    * Set recurse filter.
     *
-    * @param includedFilter included class filter
+    * @param recurseFilter the recurse filter
     */
-   public void setIncludedFilter(ClassFilter includedFilter)
+   public void setRecurseFilter(ResourceFilter recurseFilter)
    {
-      this.includedFilter = includedFilter;
+      this.recurseFilter = recurseFilter;
    }
-
-   /**
-    * Set excluded class filter.
-    *
-    * @param excludedFilter excluded class filter
-    */
-   public void setExcludedFilter(ClassFilter excludedFilter)
-   {
-      this.excludedFilter = excludedFilter;
-   }
 }
\ No newline at end of file

Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java	2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java	2008-07-19 15:25:06 UTC (rev 76014)
@@ -86,18 +86,18 @@
    }
 
    /**
-    * Prepare module.
+    * Visit module.
     *
     * Util method to add some behavior to Module
     * before we visit it.
     *
     * @param unit the deployment unit
-    * @param original the original module
-    * @return prepared module
+    * @param module the module
+    * @param visitor the resource visitor
     */
-   protected Module prepareModule(DeploymentUnit unit, Module original)
+   protected void visitModule(DeploymentUnit unit, Module module, GenericAnnotationResourceVisitor visitor)
    {
-      return original;
+      module.visit(visitor);
    }
 
    public void deploy(DeploymentUnit unit, Module module) throws DeploymentException
@@ -113,8 +113,7 @@
       Thread.currentThread().setContextClassLoader(classLoader);
       try
       {
-         Module preparedModule = prepareModule(unit, module);
-         preparedModule.visit(visitor);
+         visitModule(unit, module, visitor);
       }
       finally
       {

Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/classloading/AbstractResourceVisitorDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/classloading/AbstractResourceVisitorDeployer.java	2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/classloading/AbstractResourceVisitorDeployer.java	2008-07-19 15:25:06 UTC (rev 76014)
@@ -38,6 +38,7 @@
 {
    private ResourceVisitor visitor;
    private ResourceFilter filter;
+   private ResourceFilter recurseFilter;
 
    public AbstractResourceVisitorDeployer()
    {
@@ -57,22 +58,46 @@
       this.filter = filter;
    }
 
+   public AbstractResourceVisitorDeployer(ResourceVisitor visitor, ResourceFilter filter, ResourceFilter recurseFilter)
+   {
+      this(visitor, filter);
+      this.recurseFilter = recurseFilter;
+   }
+
    public void deploy(DeploymentUnit unit, Module module) throws DeploymentException
    {
-      ResourceVisitor currentVisitor = visitor;
+      ResourceVisitor currentVisitor = createVisitor(unit);
       if (currentVisitor == null)
-         currentVisitor = createVisitor(unit);
-      ResourceFilter currentFilter = filter;
+         currentVisitor = visitor;
+      ResourceFilter currentFilter = createFilter(unit);
       if (currentFilter == null)
-         currentFilter = createFilter(unit);
+         currentFilter = filter;
+      ResourceFilter recurse = createRecurseFilter(unit);
+      if (recurse == null)
+         currentFilter = recurseFilter;
 
-      if (currentFilter != null)
-         module.visit(currentVisitor, currentFilter);
-      else
-         module.visit(currentVisitor);
+      visitModule(module, currentVisitor, currentFilter, recurse);
    }
 
    /**
+    * Visit module.
+    * 
+    * By default we don't care if filters are null,
+    * we always visit Module's visit methods that takes all three.
+    * It should be up to uper classes if they want to differentiate between
+    * the Module::visit method.
+    *
+    * @param module the module
+    * @param visitor the visitor
+    * @param filter the filter
+    * @param recurse the recurse filter
+    */
+   protected void visitModule(Module module, ResourceVisitor visitor, ResourceFilter filter, ResourceFilter recurse)
+   {
+      module.visit(visitor, filter, recurse);
+   }
+
+   /**
     * Create resource visitor from unit.
     *
     * @param unit the deployment unit
@@ -80,7 +105,7 @@
     */
    protected ResourceVisitor createVisitor(DeploymentUnit unit)
    {
-      throw new UnsupportedOperationException("Missing resource visitor");
+      return null;
    }
 
    /**
@@ -93,4 +118,15 @@
    {
       return null;
    }
+
+   /**
+    * Create recurse filter from unit.
+    *
+    * @param unit the deployment unit
+    * @return new recurse filter
+    */
+   protected ResourceFilter createRecurseFilter(DeploymentUnit unit)
+   {
+      return null;
+   }
 }
\ No newline at end of file

Modified: projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/classloading/support/MockDeploymentClassLoaderPolicyModule.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/classloading/support/MockDeploymentClassLoaderPolicyModule.java	2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/classloading/support/MockDeploymentClassLoaderPolicyModule.java	2008-07-19 15:25:06 UTC (rev 76014)
@@ -153,7 +153,8 @@
       return classLoader.getResource(path);
    }
 
-   public void visit(ResourceVisitor visitor, ResourceFilter filter)
+   @Override
+   public void visit(ResourceVisitor visitor, ResourceFilter filter, ResourceFilter recurseFilter)
    {
       MockClassLoadingMetaData mclmd = getClassLoadingMetaData();
       String[] paths = mclmd.getPaths();

Modified: projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java	2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java	2008-07-19 15:25:06 UTC (rev 76014)
@@ -199,7 +199,7 @@
    }
 
    @Override
-   public void visit(ResourceVisitor visitor, ResourceFilter filter)
+   public void visit(ResourceVisitor visitor, ResourceFilter filter, ResourceFilter recurseFilter)
    {
       ClassLoader classLoader = getClassLoader();
       if (classLoader == null)
@@ -210,7 +210,7 @@
       {
          ClassFilter included = getIncluded();
          ClassFilter excluded = getExcluded();
-         VFSResourceVisitor.visit(roots, included, excluded, classLoader, visitor, filter);
+         VFSResourceVisitor.visit(roots, included, excluded, classLoader, visitor, filter, recurseFilter);
       }
    }
 }

Modified: projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java	2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java	2008-07-19 15:25:06 UTC (rev 76014)
@@ -319,7 +319,7 @@
       ClassFilter included = null;
       ClassFilter excluded = null;
       ResourceFilter filter = org.jboss.classloading.spi.visitor.ClassFilter.INSTANCE;
-      VFSResourceVisitor.visit(new VirtualFile[]{archive}, included, excluded, classLoader, visitor, filter);
+      VFSResourceVisitor.visit(new VirtualFile[]{archive}, included, excluded, classLoader, visitor, filter, null);
       AnnotationEnvironment env = visitor.getEnv();
 
       Integer ejbs = getType(env, Stateless.class, J2eeModuleMetaData.EJB);




More information about the jboss-cvs-commits mailing list