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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 20 08:45:28 EDT 2009


Author: alesj
Date: 2009-05-20 08:45:28 -0400 (Wed, 20 May 2009)
New Revision: 89174

Modified:
   projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java
   projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java
   projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/DisableAOPHelper.java
Log:
[JBKERNEL-31]; add fine grained disabled checks.

Modified: projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java	2009-05-20 12:38:52 UTC (rev 89173)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java	2009-05-20 12:45:28 UTC (rev 89174)
@@ -31,6 +31,7 @@
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.ConstructorInvocation;
 import org.jboss.aop.microcontainer.beans.AspectManagerFactory;
+import org.jboss.aop.microcontainer.annotations.DisabledType;
 import org.jboss.aop.proxy.container.AOPProxyFactory;
 import org.jboss.aop.proxy.container.AOPProxyFactoryParameters;
 import org.jboss.aop.proxy.container.ContainerCache;
@@ -95,7 +96,7 @@
     */
    protected boolean bypassAOP(MetaData metaData)
    {
-      return DisableAOPHelper.isAOPDisabled(metaData);
+      return DisableAOPHelper.isAOPDisabled(metaData, DisabledType.POINTCUTS);
    }
 
    @SuppressWarnings("deprecation")

Modified: projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java	2009-05-20 12:38:52 UTC (rev 89173)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java	2009-05-20 12:45:28 UTC (rev 89174)
@@ -39,6 +39,7 @@
 import org.jboss.aop.microcontainer.beans.AspectManagerFactory;
 import org.jboss.aop.microcontainer.beans.ManagedAspectDefinition;
 import org.jboss.aop.microcontainer.lifecycle.LifecycleCallbackDefinition;
+import org.jboss.aop.microcontainer.annotations.DisabledType;
 import org.jboss.aop.proxy.container.ContainerCache;
 import org.jboss.aop.util.Advisable;
 import org.jboss.aop.util.ClassInfoMethodHashing;
@@ -85,7 +86,7 @@
     */
    protected boolean bypassAOP(BeanInfo beanInfo, MetaData metaData)
    {
-      return DisableAOPHelper.isAOPDisabled(metaData);
+      return DisableAOPHelper.isAOPDisabled(metaData, DisabledType.ALL);
    }
 
    @SuppressWarnings({"unchecked", "deprecation"})
@@ -138,6 +139,8 @@
                }
             }
 
+            // TODO - add lifecycle + disable aop
+
             Map<Object, Set<LifecycleCallbackDefinition>> lifecycleCallbacks = binder.getLifecycleCallbacks();
             if (lifecycleCallbacks != null && lifecycleCallbacks.size() > 0)
             {

Modified: projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/DisableAOPHelper.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/DisableAOPHelper.java	2009-05-20 12:38:52 UTC (rev 89173)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/DisableAOPHelper.java	2009-05-20 12:45:28 UTC (rev 89174)
@@ -21,8 +21,9 @@
  */
 package org.jboss.aop.microcontainer.integration;
 
+import org.jboss.aop.microcontainer.annotations.DisableAOP;
+import org.jboss.aop.microcontainer.annotations.DisabledType;
 import org.jboss.metadata.spi.MetaData;
-import org.jboss.aop.microcontainer.annotations.DisableAOP;
 
 /**
  * Diable AOP helper.
@@ -36,9 +37,29 @@
     *
     * @param metaData the metadata instance
     * @return true if AOP is disabled, false otherwise
+    * @deprecated use the method with a constraint
     */
+   @Deprecated
    public static boolean isAOPDisabled(MetaData metaData)
    {
-      return metaData != null && metaData.isAnnotationPresent(DisableAOP.class);
+      return isAOPDisabled(metaData, DisabledType.ALL);
    }
+
+   /**
+    * Is AOP disabled for this metadata instance.
+    *
+    * @param metaData the metadata instance
+    * @param constraint the constraint
+    * @return true if AOP is disabled, false otherwise
+    */
+   public static boolean isAOPDisabled(MetaData metaData, DisabledType constraint)
+   {
+      if (metaData != null)
+      {
+         DisableAOP aop = metaData.getAnnotation(DisableAOP.class);
+         if (aop != null)
+            return DisabledType.isDisabled(aop.value(), constraint);
+      }
+      return false;
+   }
 }




More information about the jboss-cvs-commits mailing list