[jboss-cvs] JBossAS SVN: r82630 - projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jan 6 08:06:09 EST 2009


Author: alesj
Date: 2009-01-06 08:06:08 -0500 (Tue, 06 Jan 2009)
New Revision: 82630

Modified:
   projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/PostJBossAppMetadataDeployer.java
   projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/PostWebMetadataDeployer.java
   projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/WebBeansAwareMetadataDeployer.java
Log:
Enable servlet listener for any wb deployment.

Modified: projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/PostJBossAppMetadataDeployer.java
===================================================================
--- projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/PostJBossAppMetadataDeployer.java	2009-01-06 13:05:34 UTC (rev 82629)
+++ projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/PostJBossAppMetadataDeployer.java	2009-01-06 13:06:08 UTC (rev 82630)
@@ -21,9 +21,6 @@
  */
 package org.jboss.webbeans.integration.microcontainer.deployer.metadata;
 
-import java.util.Collection;
-import java.util.List;
-
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.metadata.ear.jboss.JBossAppMetaData;
@@ -42,7 +39,6 @@
    public PostJBossAppMetadataDeployer()
    {
       super(JBossAppMetaData.class);
-      setParentFirst(false); // after all (sub)-deployments have been checked for wb files
       addInput(JBossWebBeansMetaData.WEB_BEANS_FILES);
       setOptionalWebBeansXml(true);
    }
@@ -55,34 +51,9 @@
    @Override
    protected boolean isIsolated(VFSDeploymentUnit unit, VirtualFile wbXml)
    {
-      return (super.isIsolated(unit, wbXml) && (wbXml != null || checkHierarchy(unit)));
+      return (super.isIsolated(unit, wbXml) && (wbXml != null || checkForWebBeansFiles(unit)));
    }
 
-   /**
-    * Check deployment hierarchy for web-beans.xml files.
-    *
-    * @param unit the deployment unit
-    * @return true if web-beans.xml files exist, false otherwise
-    */
-   protected boolean checkHierarchy(DeploymentUnit unit)
-   {
-      Collection files = unit.getAttachment(JBossWebBeansMetaData.WEB_BEANS_FILES, Collection.class);
-      if (files != null && files.isEmpty() == false)
-         return true;
-
-      List<DeploymentUnit> children = unit.getChildren();
-      if (children != null && children.isEmpty() == false)
-      {
-         for (DeploymentUnit child : children)
-         {
-            boolean result = checkHierarchy(child);
-            if (result)
-               return true;
-         }
-      }
-      return false;
-   }
-
    protected String getJMXName(JBossAppMetaData metaData, DeploymentUnit unit)
    {
       String name = metaData.getJmxName();

Modified: projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/PostWebMetadataDeployer.java
===================================================================
--- projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/PostWebMetadataDeployer.java	2009-01-06 13:05:34 UTC (rev 82629)
+++ projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/PostWebMetadataDeployer.java	2009-01-06 13:06:08 UTC (rev 82630)
@@ -29,6 +29,7 @@
 import org.jboss.metadata.web.jboss.JBossWebMetaData;
 import org.jboss.metadata.web.spec.ListenerMetaData;
 import org.jboss.virtual.VirtualFile;
+import org.jboss.webbeans.integration.microcontainer.deployer.ext.JBossWebBeansMetaData;
 
 /**
  * Post web.xml webbeans deployer.
@@ -42,6 +43,8 @@
    public PostWebMetadataDeployer()
    {
       super(JBossWebMetaData.class);
+      addInput(JBossWebBeansMetaData.WEB_BEANS_FILES);
+      setOptionalWebBeansXml(true);
       // create wbl listener
       WBL = new ListenerMetaData();
       WBL.setListenerClass("org.jboss.webbeans.servlet.WebBeansListener");
@@ -49,12 +52,15 @@
 
    protected void internalDeploy(VFSDeploymentUnit unit, JBossWebMetaData deployment, VirtualFile wbXml) throws DeploymentException
    {
-      List<ListenerMetaData> listeners = deployment.getListeners();
-      if (listeners == null)
+      if (wbXml != null || checkForWebBeansFiles(unit.getTopLevel()))
       {
-         listeners = new ArrayList<ListenerMetaData>();
-         deployment.setListeners(listeners);
+         List<ListenerMetaData> listeners = deployment.getListeners();
+         if (listeners == null)
+         {
+            listeners = new ArrayList<ListenerMetaData>();
+            deployment.setListeners(listeners);
+         }
+         listeners.add(WBL);
       }
-      listeners.add(WBL);
    }
 }
\ No newline at end of file

Modified: projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/WebBeansAwareMetadataDeployer.java
===================================================================
--- projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/WebBeansAwareMetadataDeployer.java	2009-01-06 13:05:34 UTC (rev 82629)
+++ projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/metadata/WebBeansAwareMetadataDeployer.java	2009-01-06 13:06:08 UTC (rev 82630)
@@ -21,11 +21,16 @@
  */
 package org.jboss.webbeans.integration.microcontainer.deployer.metadata;
 
+import java.util.Collection;
+import java.util.List;
+
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.deployer.DeploymentStages;
 import org.jboss.deployers.vfs.spi.deployer.AbstractSimpleVFSRealDeployer;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.virtual.VirtualFile;
+import org.jboss.webbeans.integration.microcontainer.deployer.ext.JBossWebBeansMetaData;
 
 /**
  * WebBeans aware metadata deployer.
@@ -53,7 +58,33 @@
          internalDeploy(unit, deployment, wbXml);
    }
 
+
    /**
+    * Check deployment hierarchy for web-beans.xml files.
+    *
+    * @param unit the deployment unit
+    * @return true if web-beans.xml files exist, false otherwise
+    */
+   protected boolean checkForWebBeansFiles(DeploymentUnit unit)
+   {
+      Collection files = unit.getAttachment(JBossWebBeansMetaData.WEB_BEANS_FILES, Collection.class);
+      if (files != null && files.isEmpty() == false)
+         return true;
+
+      List<DeploymentUnit> children = unit.getChildren();
+      if (children != null && children.isEmpty() == false)
+      {
+         for (DeploymentUnit child : children)
+         {
+            boolean result = checkForWebBeansFiles(child);
+            if (result)
+               return true;
+         }
+      }
+      return false;
+   }
+
+   /**
     * Deploy.
     *
     * @param unit the deployment unit




More information about the jboss-cvs-commits mailing list