[jboss-cvs] JBossAS SVN: r64448 - projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Aug 3 07:24:35 EDT 2007


Author: alesj
Date: 2007-08-03 07:24:34 -0400 (Fri, 03 Aug 2007)
New Revision: 64448

Modified:
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java
Log:
BeanMetaData push/pop fix on the AnnotationMetaDataVisitor.

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java	2007-08-03 11:16:54 UTC (rev 64447)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java	2007-08-03 11:24:34 UTC (rev 64448)
@@ -282,9 +282,17 @@
       if (areAnnotationsProcessed == false)
       {
          // handle custom annotations
-         MetaDataVisitor annotationsVisitor = new AnnotationMetaDataVisitor(metaData);
-         BeanAnnotationAdapterFactory.getBeanAnnotationAdapter().applyAnnotations(annotationsVisitor);
-         areAnnotationsProcessed = true;
+         AnnotationMetaDataVisitor annotationsVisitor = new AnnotationMetaDataVisitor(metaData);
+         annotationsVisitor.before();
+         try
+         {
+            BeanAnnotationAdapterFactory.getBeanAnnotationAdapter().applyAnnotations(annotationsVisitor);
+            areAnnotationsProcessed = true;
+         }
+         finally
+         {
+            annotationsVisitor.after();
+         }
       }
    }
 
@@ -481,37 +489,24 @@
    /**
     * A visitor for the annotation meta data.
     */
-   protected class AnnotationMetaDataVisitor extends AbstractMetaDataVistor
+   private class AnnotationMetaDataVisitor extends AbstractMetaDataVistor
    {
       public AnnotationMetaDataVisitor(BeanMetaData bmd)
       {
          super(bmd);
       }
 
-      public void initialVisit(MetaDataVisitorNode node)
+      // push bean meta data as first node
+      public void before()
       {
          visitorNodeStack.push(bmd);
-         try
-         {
-            super.initialVisit(node);
-         }
-         finally
-         {
-            visitorNodeStack.pop();
-         }
       }
 
-      public void describeVisit(MetaDataVisitorNode node)
+      // remove bean meta data
+      public void after()
       {
-         visitorNodeStack.push(bmd);
-         try
-         {
-            super.describeVisit(node);
-         }
-         finally
-         {
-            visitorNodeStack.pop();
-         }
+         visitorNodeStack.pop();
+         visitorNodeStack = null;
       }
    }
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list