[jboss-cvs] JBossAS SVN: r110282 - projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jan 6 02:56:11 EST 2011


Author: ALRubinger
Date: 2011-01-06 02:56:09 -0500 (Thu, 06 Jan 2011)
New Revision: 110282

Modified:
   projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AsyncClassProcessor.java
Log:
[JBMETA-327] Fix creation of AsyncMethodMetaData inside the loop, correcting double entries

Modified: projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AsyncClassProcessor.java
===================================================================
--- projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AsyncClassProcessor.java	2011-01-05 23:21:37 UTC (rev 110281)
+++ projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AsyncClassProcessor.java	2011-01-06 07:56:09 UTC (rev 110282)
@@ -50,20 +50,22 @@
    public void process(JBossSessionBean31MetaData metaData, Class<?> type)
    {
       Asynchronous annotation = finder.getAnnotation(type, Asynchronous.class);
+
+      AsyncMethodsMetaData asyncMethods = metaData.getAsyncMethods();
+      if (asyncMethods == null)
+      {
+         asyncMethods = new AsyncMethodsMetaData();
+         metaData.setAsyncMethods(asyncMethods);
+      }
+
       if (annotation != null)
       {
-         AsyncMethodsMetaData asyncMethods = metaData.getAsyncMethods();
-         if (asyncMethods == null)
-         {
-            asyncMethods = new AsyncMethodsMetaData();
-            metaData.setAsyncMethods(asyncMethods);
-         }
-
-         AsyncMethodMetaData asyncMethod = new AsyncMethodMetaData();
          // Only apply to the methods on this class JBMETA-326
          for (final Method declaredMethod : type.getDeclaredMethods())
          {
-            asyncMethod.setMethodName(declaredMethod.getName());
+            AsyncMethodMetaData asyncMethod = new AsyncMethodMetaData();
+            final String name = declaredMethod.getName();
+            asyncMethod.setMethodName(name);
             final MethodParametersMetaData params = new MethodParametersMetaData();
             for (final Class<?> param : declaredMethod.getParameterTypes())
             {
@@ -72,12 +74,14 @@
             asyncMethod.setMethodParams(params);
             asyncMethods.add(asyncMethod);
          }
-         
-         final Class<?> superClass = type.getSuperclass();
-         if(superClass!=null){
-            this.process(metaData, superClass);
-         }
+      }
 
+      final Class<?> superClass = type.getSuperclass();
+      if (superClass != null)
+      {
+         this.process(metaData, superClass);
       }
    }
+   
+   
 }



More information about the jboss-cvs-commits mailing list