[jboss-cvs] JBossAS SVN: r70453 - projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Mar 5 15:47:19 EST 2008


Author: kabir.khan at jboss.com
Date: 2008-03-05 15:47:19 -0500 (Wed, 05 Mar 2008)
New Revision: 70453

Modified:
   projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java
Log:
[JBMICROCONT-250] When checking component metadata for a method, only return that we have joinpoint annotations if they exist at instance level or below.

Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java	2008-03-05 20:34:02 UTC (rev 70452)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java	2008-03-05 20:47:19 UTC (rev 70453)
@@ -99,11 +99,11 @@
          return false;
       }
 
-      MetaData instanceMetaData = metaData.getScopeMetaData(CommonLevels.INSTANCE);
-      if (instanceMetaData != null && instanceMetaData.isEmpty() == false)
+      if (hasMetaDataAtInstanceLevel(metaData))
       {
-         return true;  
+         return true;
       }
+      
       //Check for method annotations
       return hasMethodMetaData(metaData);
    }
@@ -135,13 +135,27 @@
    {
       MethodSignature sig = new MethodSignature(mi);
       MetaData methodMD = metaData.getComponentMetaData(sig);
-      if (methodMD != null)
+
+      if (hasMetaDataAtInstanceLevel(methodMD))
       {
-         return methodMD.getAnnotations() != MetaData.NO_ANNOTATIONS;
+         return true;
       }
       return false;
    }
    
+   private boolean hasMetaDataAtInstanceLevel(MetaData metaData)
+   {
+      if (metaData != null)
+      {
+         MetaData instanceMetaData = metaData.getScopeMetaData(CommonLevels.INSTANCE);
+         if (instanceMetaData != null && instanceMetaData.isEmpty() == false)
+         {
+            return true;  
+         }
+      }
+      return false;
+   }
+   
    private Object createTarget(ContainerCache cache, AOPProxyFactoryParameters params) throws Throwable
    {
       Advisor advisor = cache.getAdvisor();




More information about the jboss-cvs-commits mailing list