[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