[jboss-cvs] JBossAS SVN: r83578 - projects/jboss-seam-int/trunk/jbossas/src/main/java/org/jboss/seam/integration/jbossas/vdf.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jan 28 14:58:25 EST 2009


Author: alesj
Date: 2009-01-28 14:58:25 -0500 (Wed, 28 Jan 2009)
New Revision: 83578

Modified:
   projects/jboss-seam-int/trunk/jbossas/src/main/java/org/jboss/seam/integration/jbossas/vdf/FederatedAnnotationEnvironmentVDFConnector.java
Log:
Fix DU hierarchy search.

Modified: projects/jboss-seam-int/trunk/jbossas/src/main/java/org/jboss/seam/integration/jbossas/vdf/FederatedAnnotationEnvironmentVDFConnector.java
===================================================================
--- projects/jboss-seam-int/trunk/jbossas/src/main/java/org/jboss/seam/integration/jbossas/vdf/FederatedAnnotationEnvironmentVDFConnector.java	2009-01-28 19:27:30 UTC (rev 83577)
+++ projects/jboss-seam-int/trunk/jbossas/src/main/java/org/jboss/seam/integration/jbossas/vdf/FederatedAnnotationEnvironmentVDFConnector.java	2009-01-28 19:58:25 UTC (rev 83578)
@@ -43,22 +43,28 @@
    protected List<AnnotationEnvironment> getUtilityFromAttribute(DeploymentUnit unit)
    {
       List<AnnotationEnvironment> list = new ArrayList<AnnotationEnvironment>();
-      DeploymentUnit parent = unit.getParent();
-      if (parent != null)
+      DeploymentUnit top = unit.getTopLevel();
+      findAllAnnotationEnvironments(top, list);
+      return list;
+   }
+
+   /**
+    * Find all anotation environments recursively.
+    *
+    * @param unit the current deployment unit
+    * @param list the holder list
+    */
+   protected void findAllAnnotationEnvironments(DeploymentUnit unit, List<AnnotationEnvironment> list)
+   {
+      applyAnnotationEnvironment(unit, list);
+      List<DeploymentUnit> children = unit.getChildren();
+      if (children != null && children.isEmpty() == false)
       {
-         applyAnnotationEnvironment(parent, list);
-         List<DeploymentUnit> children = parent.getChildren();
-         // cannot be null, since unit is its child
          for (DeploymentUnit child : children)
          {
-            applyAnnotationEnvironment(child, list);
+            findAllAnnotationEnvironments(child, list);
          }
       }
-      else
-      {
-         applyAnnotationEnvironment(unit, list);
-      }
-      return list;
    }
 
    /**




More information about the jboss-cvs-commits mailing list