[jboss-cvs] JBossAS SVN: r103263 - projects/scanning/trunk/deployers/src/main/java/org/jboss/scanning/deployers.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Mar 30 10:06:32 EDT 2010


Author: alesj
Date: 2010-03-30 10:06:32 -0400 (Tue, 30 Mar 2010)
New Revision: 103263

Modified:
   projects/scanning/trunk/deployers/src/main/java/org/jboss/scanning/deployers/ScanningDeployer.java
Log:
Add filtering.

Modified: projects/scanning/trunk/deployers/src/main/java/org/jboss/scanning/deployers/ScanningDeployer.java
===================================================================
--- projects/scanning/trunk/deployers/src/main/java/org/jboss/scanning/deployers/ScanningDeployer.java	2010-03-30 14:00:52 UTC (rev 103262)
+++ projects/scanning/trunk/deployers/src/main/java/org/jboss/scanning/deployers/ScanningDeployer.java	2010-03-30 14:06:32 UTC (rev 103263)
@@ -28,6 +28,7 @@
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployers.vfs.plugins.util.ClasspathUtils;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnitFilter;
 import org.jboss.scanning.plugins.AbstractScanner;
 import org.jboss.scanning.plugins.DeploymentUnitScanner;
 import org.jboss.scanning.spi.ScanningPlugin;
@@ -39,6 +40,9 @@
  */
 public class ScanningDeployer extends ScanningPluginsDeployer
 {
+   /** The filter */
+   private VFSDeploymentUnitFilter filter;
+
    public ScanningDeployer()
    {
       setStage(DeploymentStages.POST_CLASSLOADER);
@@ -51,6 +55,11 @@
          return;
 
       VFSDeploymentUnit vdu = VFSDeploymentUnit.class.cast(unit);
+
+      // running this deployer is costly, check if it should be run
+      if (filter != null && filter.accepts(vdu) == false)
+         return;
+
       try
       {
          AbstractScanner scanner = new DeploymentUnitScanner(unit, ClasspathUtils.getUrls(vdu));
@@ -68,4 +77,14 @@
    {
       addOutput(plugin.getHandleKey()); // add handle key as output
    }
+
+   /**
+    * Set vfs deployment filter.
+    *
+    * @param filter the vfs deployment filter.
+    */
+   public void setFilter(VFSDeploymentUnitFilter filter)
+   {
+      this.filter = filter;
+   }
 }




More information about the jboss-cvs-commits mailing list