[jboss-cvs] JBossAS SVN: r89243 - in projects/microcontainer/branches/Branch_2_0/aop-mc-int/src: main/java/org/jboss/aop/microcontainer/beans/metadata and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu May 21 07:01:02 EDT 2009
Author: kabir.khan at jboss.com
Date: 2009-05-21 07:01:01 -0400 (Thu, 21 May 2009)
New Revision: 89243
Added:
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AOPBeanMetaDataBuilder.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testAllAopTurnedOff.xml
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testLifecycleTurnedOff.xml
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testPointcutsTurnedOff.xml
Removed:
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase.xml
Modified:
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/annotations/DisableAOP.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractAnnotationBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractDeclareBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractPointcutBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/ArrayBindBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/ArrayReplacementBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AspectBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/BindBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/CFlowStackBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/DomainBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/DynamicCflowBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/IntroductionBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LifecycleBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LoaderRepositoryBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MetaDataBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MetaDataLoaderBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/PrecedenceBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/StackBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/TypeDefBeanMetaDataFactory.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/DisableAOPHelper.java
projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase.java
Log:
[JBKERNEL-31] Make @DisableAop more fine-grained
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/annotations/DisableAOP.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/annotations/DisableAOP.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/annotations/DisableAOP.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -37,4 +37,10 @@
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD})
public @interface DisableAOP
{
+ /**
+ * The disabled types.
+ *
+ * @return the disabled types
+ */
+ DisabledType[] value() default {DisabledType.ALL};
}
Copied: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AOPBeanMetaDataBuilder.java (from rev 89040, projects/microcontainer/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AOPBeanMetaDataBuilder.java)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AOPBeanMetaDataBuilder.java (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AOPBeanMetaDataBuilder.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -0,0 +1,92 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.microcontainer.beans.metadata;
+
+import org.jboss.aop.microcontainer.annotations.DisableAOP;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.metadata.plugins.builder.BeanMetaDataBuilderFactory;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+
+/**
+ * Wrapper factory class to obtain a {@link BeanMetaDataBuilder} which adds the @{@link DisableAOP} annotation
+ * to the underlying bean being built
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class AOPBeanMetaDataBuilder
+{
+ /**
+ * Create builder from bean name and add the @{@link DisableAOP} annotation
+ * to the underlying bean being built.
+ *
+ * @param bean bean class name
+ * @return new Builder
+ */
+ public static BeanMetaDataBuilder createBuilder(String bean)
+ {
+ BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(bean);
+ addDisableAopAnnotation(builder);
+ return builder;
+ }
+
+ /**
+ * Create builder from name and bean and add the @{@link DisableAOP} annotation
+ * to the underlying bean being built.
+ * @param name bean name
+ * @param bean bean class name
+ * @return new Builder
+ */
+ public static BeanMetaDataBuilder createBuilder(String name, String bean)
+ {
+ BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(name, bean);
+ addDisableAopAnnotation(builder);
+ return builder;
+ }
+
+ /**
+ * Create builder from BeanMetaData and add the @{@link DisableAOP} annotation
+ * to the underlying bean being built.
+ *
+ * @param beanMetaData the bean metadata
+ * @return new Builder()
+ */
+ public static BeanMetaDataBuilder createBuilder(BeanMetaData beanMetaData)
+ {
+ if (beanMetaData instanceof AbstractBeanMetaData)
+ {
+ BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder((AbstractBeanMetaData)beanMetaData);
+ addDisableAopAnnotation(builder);
+ return builder;
+ }
+ else
+ {
+ throw new IllegalArgumentException("Invalid type of bean metadata: " + beanMetaData);
+ }
+ }
+
+ private static void addDisableAopAnnotation(BeanMetaDataBuilder builder)
+ {
+ builder.addAnnotation("@" + DisableAOP.class.getName());
+ }
+}
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractAnnotationBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractAnnotationBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractAnnotationBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -87,7 +87,7 @@
{
name = GUID.asString();
}
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, getBeanClassName());
+ BeanMetaDataBuilder builder = AOPBeanMetaDataBuilder.createBuilder(name, getBeanClassName());
builder.addPropertyMetaData("invisible", invisible);
builder.addPropertyMetaData("expr", expr);
builder.addPropertyMetaData("annotation", annotation);
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractDeclareBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractDeclareBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractDeclareBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -74,7 +74,7 @@
{
name = GUID.asString();
}
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, DeclareDefinition.class.getName());
+ BeanMetaDataBuilder builder = AOPBeanMetaDataBuilder.createBuilder(name, DeclareDefinition.class.getName());
builder.addPropertyMetaData("expr", expr);
builder.addPropertyMetaData("name", name);
builder.addPropertyMetaData("message", message);
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractPointcutBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractPointcutBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AbstractPointcutBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -62,7 +62,7 @@
name = GUID.asString();
}
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, getBeanClass());
+ BeanMetaDataBuilder builder = AOPBeanMetaDataBuilder.createBuilder(name, getBeanClass());
builder.addPropertyMetaData("name", name);
builder.addPropertyMetaData("expr", expr);
setAspectManagerProperty(builder);
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/ArrayBindBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/ArrayBindBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/ArrayBindBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -76,7 +76,7 @@
{
name = GUID.asString();
}
- BeanMetaDataBuilder bindingBuilder = BeanMetaDataBuilder.createBuilder(name, ArrayBinding.class.getName());
+ BeanMetaDataBuilder bindingBuilder = AOPBeanMetaDataBuilder.createBuilder(name, ArrayBinding.class.getName());
bindingBuilder.addPropertyMetaData("name", name);
bindingBuilder.addPropertyMetaData("type", type);
setAspectManagerProperty(bindingBuilder);
@@ -90,7 +90,7 @@
for (BaseInterceptorData interceptor : interceptors)
{
String intName = name + "$" + i++;
- BeanMetaDataBuilder interceptorBuilder = BeanMetaDataBuilder.createBuilder(intName, interceptor.getBeanClassName());
+ BeanMetaDataBuilder interceptorBuilder = AOPBeanMetaDataBuilder.createBuilder(intName, interceptor.getBeanClassName());
setAspectManagerProperty(interceptorBuilder);
ValueMetaData injectBinding = interceptorBuilder.createInject(name, null, null, ControllerState.INSTANTIATED);
interceptorBuilder.addPropertyMetaData("binding", injectBinding);
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/ArrayReplacementBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/ArrayReplacementBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/ArrayReplacementBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -84,7 +84,7 @@
name = GUID.asString();
}
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, ArrayReplacement.class.getName());
+ BeanMetaDataBuilder builder = AOPBeanMetaDataBuilder.createBuilder(name, ArrayReplacement.class.getName());
builder.addPropertyMetaData("name", name);
builder.addPropertyMetaData("classes", clazz);
builder.addPropertyMetaData("expr", expr);
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AspectBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AspectBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/AspectBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -140,12 +140,12 @@
throw new RuntimeException("Wrong number of beans" + beans);
}
BeanMetaData factory = beans.get(0);
- BeanMetaDataBuilder factoryBuilder = BeanMetaDataBuilder.createBuilder(factory);
+ BeanMetaDataBuilder factoryBuilder = AOPBeanMetaDataBuilder.createBuilder(factory);
factoryBuilder.setBean(ClassLoaderAwareGenericBeanFactory.class.getName());
result.add(factory);
//Add the Aspect
- BeanMetaDataBuilder aspectBuilder = BeanMetaDataBuilder.createBuilder(aspectName, Aspect.class.getName());
+ BeanMetaDataBuilder aspectBuilder = AOPBeanMetaDataBuilder.createBuilder(aspectName, Aspect.class.getName());
aspectBuilder.addPropertyMetaData("scope", scope);
aspectBuilder.addPropertyMetaData("name", aspectName);
HashMap<String, String> attributes = new HashMap<String, String>();
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/BindBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/BindBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/BindBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -80,7 +80,7 @@
{
name = GUID.asString();
}
- BeanMetaDataBuilder bindingBuilder = BeanMetaDataBuilder.createBuilder(name, AspectBinding.class.getName());
+ BeanMetaDataBuilder bindingBuilder = AOPBeanMetaDataBuilder.createBuilder(name, AspectBinding.class.getName());
bindingBuilder.addPropertyMetaData("name", name);
if (cflow != null)
{
@@ -97,7 +97,7 @@
for (BaseInterceptorData interceptor : interceptors)
{
String intName = name + "$" + i++;
- BeanMetaDataBuilder interceptorBuilder = BeanMetaDataBuilder.createBuilder(intName, interceptor.getBeanClassName());
+ BeanMetaDataBuilder interceptorBuilder = AOPBeanMetaDataBuilder.createBuilder(intName, interceptor.getBeanClassName());
setAspectManagerProperty(interceptorBuilder);
ValueMetaData injectBinding = interceptorBuilder.createInject(name, null, null, ControllerState.INSTANTIATED);
interceptorBuilder.addPropertyMetaData("binding", injectBinding);
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/CFlowStackBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/CFlowStackBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/CFlowStackBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -64,7 +64,7 @@
ArrayList<BeanMetaData> result = new ArrayList<BeanMetaData>();
//Add the Aspect
- BeanMetaDataBuilder cflowStackBuilder = BeanMetaDataBuilder.createBuilder(getName(), CFlowStack.class.getName());
+ BeanMetaDataBuilder cflowStackBuilder = AOPBeanMetaDataBuilder.createBuilder(getName(), CFlowStack.class.getName());
cflowStackBuilder.addPropertyMetaData("name", getName());
setAspectManagerProperty(cflowStackBuilder);
result.add(cflowStackBuilder.getBeanMetaData());
@@ -77,7 +77,7 @@
for (CFlowEntry entry : calledEntries)
{
String entryName = getName() + "$" + i++;
- BeanMetaDataBuilder entryBuilder = BeanMetaDataBuilder.createBuilder(entryName, CFlowStackEntry.class.getName());
+ BeanMetaDataBuilder entryBuilder = AOPBeanMetaDataBuilder.createBuilder(entryName, CFlowStackEntry.class.getName());
entryBuilder.addPropertyMetaData("called", entry.getCalled());
entryBuilder.addPropertyMetaData("expr", entry.getExpr());
ValueMetaData injectEntry = entryBuilder.createInject(entryName);
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/DomainBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/DomainBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/DomainBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -155,7 +155,7 @@
{
ArrayList<BeanMetaData> result = new ArrayList<BeanMetaData>();
- BeanMetaDataBuilder domainBuilder = BeanMetaDataBuilder.createBuilder(getName(), AOPDomain.class.getName());
+ BeanMetaDataBuilder domainBuilder = AOPBeanMetaDataBuilder.createBuilder(getName(), AOPDomain.class.getName());
domainBuilder.addPropertyMetaData("name", getName());
if (parentFirst != null)
@@ -189,7 +189,7 @@
AspectManagerAwareBeanMetaDataFactory amChild = (AspectManagerAwareBeanMetaDataFactory)child;
amChild.setManagerBean(name);
amChild.setManagerProperty("domain");
- amChild.setAspectManagerProperty(BeanMetaDataBuilder.createBuilder(bean));
+ amChild.setAspectManagerProperty(AOPBeanMetaDataBuilder.createBuilder(bean));
}
List<BeanMetaData> childResult = child.getBeans();
if (childResult != null && childBeans.size() > 0)
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/DynamicCflowBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/DynamicCflowBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/DynamicCflowBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -80,7 +80,7 @@
{
ArrayList<BeanMetaData> result = new ArrayList<BeanMetaData>();
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, DynamicCFlowDef.class.getName());
+ BeanMetaDataBuilder builder = AOPBeanMetaDataBuilder.createBuilder(name, DynamicCFlowDef.class.getName());
builder.addPropertyMetaData("name", name);
builder.addPropertyMetaData("className", clazz);
HashMap<String, String> attributes = new HashMap<String, String>();
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/IntroductionBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/IntroductionBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/IntroductionBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -120,7 +120,7 @@
name = GUID.asString();
}
- BeanMetaDataBuilder introductionBuilder = BeanMetaDataBuilder.createBuilder(name, IntroductionBinding.class.getName());
+ BeanMetaDataBuilder introductionBuilder = AOPBeanMetaDataBuilder.createBuilder(name, IntroductionBinding.class.getName());
introductionBuilder.addPropertyMetaData("name", name);
setAspectManagerProperty(introductionBuilder);
if (clazz != null)
@@ -169,7 +169,7 @@
for (MixinData mixin : mixins)
{
String name = introductionBuilder.getBeanMetaData().getName() + "$" + i++;
- BeanMetaDataBuilder mixinBuilder = BeanMetaDataBuilder.createBuilder(name, MixinEntry.class.getName());
+ BeanMetaDataBuilder mixinBuilder = AOPBeanMetaDataBuilder.createBuilder(name, MixinEntry.class.getName());
mixinBuilder.addPropertyMetaData("mixin", mixin.getMixin());
addInterfaces(mixinBuilder, "interfaces", mixin.getInterfaces());
mixinBuilder.addPropertyMetaData("transient", mixin.getTransient());
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LifecycleBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LifecycleBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LifecycleBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -81,7 +81,7 @@
ArrayList<BeanMetaData> result = new ArrayList<BeanMetaData>();
//Do not include the bean factory here, just install the bean directly and the binding
- BeanMetaDataBuilder lifecycleBuilder = BeanMetaDataBuilder.createBuilder(name, getBean());
+ BeanMetaDataBuilder lifecycleBuilder = AOPBeanMetaDataBuilder.createBuilder(name, getBean());
if (properties != null && properties.size() > 0)
{
for (PropertyMetaData pmd : properties)
@@ -102,7 +102,7 @@
String aspectBindingName = name + "$AspectBinding";
- BeanMetaDataBuilder bindingBuilder = BeanMetaDataBuilder.createBuilder(aspectBindingName, LifecycleBinding.class.getName());
+ BeanMetaDataBuilder bindingBuilder = AOPBeanMetaDataBuilder.createBuilder(aspectBindingName, LifecycleBinding.class.getName());
bindingBuilder.addPropertyMetaData("callbackBean", name);
setAspectManagerProperty(bindingBuilder);
if (expr != null)
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LoaderRepositoryBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LoaderRepositoryBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LoaderRepositoryBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -62,7 +62,7 @@
{
name = GUID.asString();
}
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, LifecycleRepository.class.getName());
+ BeanMetaDataBuilder builder = AOPBeanMetaDataBuilder.createBuilder(name, LifecycleRepository.class.getName());
builder.addPropertyMetaData("repositoryName", contents);
builder.addPropertyMetaData("name", name);
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MetaDataBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MetaDataBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MetaDataBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -101,7 +101,7 @@
{
name = GUID.asString();
}
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, ClassMetaData.class.getName());
+ BeanMetaDataBuilder builder = AOPBeanMetaDataBuilder.createBuilder(name, ClassMetaData.class.getName());
builder.addPropertyMetaData("tag", tag);
builder.addPropertyMetaData("className", clazz);
HashMap<String, String> attributes = new HashMap<String, String>();
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MetaDataLoaderBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MetaDataLoaderBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/MetaDataLoaderBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -97,7 +97,7 @@
{
name = GUID.asString();
}
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(name, ClassMetaDataLoader.class.getName());
+ BeanMetaDataBuilder builder = AOPBeanMetaDataBuilder.createBuilder(name, ClassMetaDataLoader.class.getName());
builder.addPropertyMetaData("tag", tag);
builder.addPropertyMetaData("className", clazz);
HashMap<String, String> attributes = new HashMap<String, String>();
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/PrecedenceBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/PrecedenceBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/PrecedenceBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -66,7 +66,7 @@
{
name = GUID.asString();
}
- BeanMetaDataBuilder precedenceBuilder = BeanMetaDataBuilder.createBuilder(name, PrecedenceDef.class.getName());
+ BeanMetaDataBuilder precedenceBuilder = AOPBeanMetaDataBuilder.createBuilder(name, PrecedenceDef.class.getName());
precedenceBuilder.addPropertyMetaData("name", getName());
setAspectManagerProperty(precedenceBuilder);
result.add(precedenceBuilder.getBeanMetaData());
@@ -77,7 +77,7 @@
for (BaseInterceptorData entry : entries)
{
String entryName = name + "$" + i++;
- BeanMetaDataBuilder entryBuilder = BeanMetaDataBuilder.createBuilder(entryName, PrecedenceDefEntry.class.getName());
+ BeanMetaDataBuilder entryBuilder = AOPBeanMetaDataBuilder.createBuilder(entryName, PrecedenceDefEntry.class.getName());
entryBuilder.addPropertyMetaData("aspectName", entry.getRefName());
if (entry instanceof AdviceOrInterceptorData)
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/StackBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/StackBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/StackBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -59,7 +59,7 @@
ArrayList<BeanMetaData> result = new ArrayList<BeanMetaData>();
//Create Stack
- BeanMetaDataBuilder stackBuilder = BeanMetaDataBuilder.createBuilder(name, Stack.class.getName());
+ BeanMetaDataBuilder stackBuilder = AOPBeanMetaDataBuilder.createBuilder(name, Stack.class.getName());
stackBuilder.addPropertyMetaData("name", name);
setAspectManagerProperty(stackBuilder);
result.add(stackBuilder.getBeanMetaData());
@@ -71,7 +71,7 @@
for (BaseInterceptorData interceptor : interceptors)
{
String intName = name + "$" + i++;
- BeanMetaDataBuilder interceptorBuilder = BeanMetaDataBuilder.createBuilder(intName, interceptor.getBeanClassName());
+ BeanMetaDataBuilder interceptorBuilder = AOPBeanMetaDataBuilder.createBuilder(intName, interceptor.getBeanClassName());
setAspectManagerProperty(interceptorBuilder);
interceptorBuilder.addPropertyMetaData("forStack", Boolean.TRUE);
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/TypeDefBeanMetaDataFactory.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/TypeDefBeanMetaDataFactory.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/TypeDefBeanMetaDataFactory.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -67,7 +67,7 @@
{
ArrayList<BeanMetaData> beans = new ArrayList<BeanMetaData>();
- BeanMetaDataBuilder typedefBuilder = BeanMetaDataBuilder.createBuilder(getName(), TypeDef.class.getName());
+ BeanMetaDataBuilder typedefBuilder = AOPBeanMetaDataBuilder.createBuilder(getName(), TypeDef.class.getName());
typedefBuilder.addPropertyMetaData("name", getName());
typedefBuilder.addPropertyMetaData("expr", expr);
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPConstructorJoinpoint.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -30,7 +30,9 @@
import org.jboss.aop.AspectManager;
import org.jboss.aop.advice.Interceptor;
import org.jboss.aop.joinpoint.ConstructorInvocation;
+import org.jboss.aop.microcontainer.annotations.DisabledType;
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;
@@ -87,10 +89,21 @@
this.metaData = MetaData.class.cast(metaData);
}
+ /**
+ * Should we bypass AOP.
+ *
+ * @param metaData the metadata instance
+ * @return true if we should bypass aop, false otherwise
+ */
+ protected boolean bypassAOP(MetaData metaData)
+ {
+ return DisableAOPHelper.isAOPDisabled(metaData, DisabledType.POINTCUTS);
+ }
+
@SuppressWarnings("deprecation")
public Object dispatch() throws Throwable
{
- if (DisableAOPHelper.isAOPDisabled(metaData))
+ if (bypassAOP(metaData))
{
return super.dispatch();
}
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -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;
@@ -76,11 +77,24 @@
private static final String DEPENDENCY_NAME_ATTRIBUTE = "name";
private static final IntrospectionAnnotationHelper helper = new IntrospectionAnnotationHelper();
+ /**
+ * Should we bypass AOP.
+ *
+ * @param beanInfo the bean info
+ * @param metaData the metadata instance
+ * @param disabledType The type we want to check if is disabled
+ * @return true if we should bypass aop, false otherwise
+ */
+ protected boolean bypassAOP(BeanInfo beanInfo, MetaData metaData, DisabledType disabledType)
+ {
+ return DisableAOPHelper.isAOPDisabled(metaData, disabledType);
+ }
+
@SuppressWarnings({"unchecked", "deprecation"})
@Override
public List<DependencyBuilderListItem> getDependencies(BeanInfo beanInfo, MetaData metaData)
{
- if (DisableAOPHelper.isAOPDisabled(metaData))
+ if (bypassAOP(beanInfo, metaData, DisabledType.ALL))
{
return super.getDependencies(beanInfo, metaData);
}
@@ -106,39 +120,46 @@
advisor = cache.getAdvisor();
}
ReflectiveAspectBinder binder = new ReflectiveAspectBinder(clazz, advisor);
- Set aspects = binder.getAspects();
+ ArrayList<DependencyBuilderListItem> depends = new ArrayList<DependencyBuilderListItem>();
- ArrayList<DependencyBuilderListItem> depends = new ArrayList<DependencyBuilderListItem>();
- if (aspects != null && aspects.size() > 0)
+ if (bypassAOP(beanInfo, metaData, DisabledType.POINTCUTS) == false)
{
- Iterator it = aspects.iterator();
- while (it.hasNext())
+ Set aspects = binder.getAspects();
+
+ if (aspects != null && aspects.size() > 0)
{
- AspectDefinition def = (AspectDefinition) it.next();
- if (def instanceof ManagedAspectDefinition)
+ Iterator it = aspects.iterator();
+ while (it.hasNext())
{
- String name = ((ManagedAspectDefinition)def).getDependentAspectName();
- if (name != null)
+ AspectDefinition def = (AspectDefinition) it.next();
+ if (def instanceof ManagedAspectDefinition)
{
- depends.add(new AspectDependencyBuilderListItem(name));
+ String name = ((ManagedAspectDefinition)def).getDependentAspectName();
+ if (name != null)
+ {
+ depends.add(new AspectDependencyBuilderListItem(name));
+ }
}
}
}
}
- Map<Object, Set<LifecycleCallbackDefinition>> lifecycleCallbacks = binder.getLifecycleCallbacks();
- if (lifecycleCallbacks != null && lifecycleCallbacks.size() > 0)
+ if (bypassAOP(beanInfo, metaData, DisabledType.LIFECYCLE) == false)
{
- for (Entry<Object, Set<LifecycleCallbackDefinition>> states : lifecycleCallbacks.entrySet())
+ Map<Object, Set<LifecycleCallbackDefinition>> lifecycleCallbacks = binder.getLifecycleCallbacks();
+ if (lifecycleCallbacks != null && lifecycleCallbacks.size() > 0)
{
- for (LifecycleCallbackDefinition callback : states.getValue())
+ for (Entry<Object, Set<LifecycleCallbackDefinition>> states : lifecycleCallbacks.entrySet())
{
- depends.add(new LifecycleAspectDependencyBuilderListItem(
- callback.getBean(), (ControllerState)states.getKey(), callback.getInstallMethod(), callback.getUninstallMethod()));
+ for (LifecycleCallbackDefinition callback : states.getValue())
+ {
+ depends.add(new LifecycleAspectDependencyBuilderListItem(
+ callback.getBean(), (ControllerState)states.getKey(), callback.getInstallMethod(), callback.getUninstallMethod()));
+ }
}
}
}
-
+
HashSet<String> annotationDependencies = getAnnotationDependencies(classInfo, metaData);
for (String dependency : annotationDependencies)
{
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/DisableAOPHelper.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/DisableAOPHelper.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/integration/DisableAOPHelper.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -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;
+ }
}
Modified: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase.java 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/java/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase.java 2009-05-21 11:01:01 UTC (rev 89243)
@@ -27,6 +27,7 @@
import junit.framework.Test;
import org.jboss.aop.proxy.container.AspectManaged;
import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
import org.jboss.dependency.spi.DependencyItem;
import org.jboss.test.aop.junit.AOPMicrocontainerTest;
import org.jboss.test.microcontainer.beans.POJO;
@@ -57,26 +58,66 @@
// do nothing, so we ignore validate
}
- public void testBeanWithDependency() throws Exception
+ public void testAllAopTurnedOff() throws Exception
{
+ assertMoreDependencies("Intercepted", "NotIntercepted");
+
+ POJO pojoNotIntercepted = (POJO)getBean("NotIntercepted");
+ assertFalse(pojoNotIntercepted instanceof AspectManaged);
+
+ assertMoreDependencies("WithLifecycle", "WithLifecycleDisabled");
+ }
+
+ public void testPointcutsTurnedOff() throws Exception
+ {
+ assertMoreDependencies("Intercepted", "NotIntercepted");
+
+ POJO pojoNotIntercepted = (POJO)getBean("NotIntercepted");
+ assertFalse(pojoNotIntercepted instanceof AspectManaged);
+
+ assertNotInstalledContext("WithLifecycle");
+ assertNotInstalledContext("WithLifecycleDisabled");
+ }
+
+ public void testLifecycleTurnedOff() throws Exception
+ {
+ assertNotInstalledContext("Intercepted");
+ assertNotInstalledContext("NotIntercepted");
+
+ assertMoreDependencies("WithLifecycle", "WithLifecycleDisabled");
+ }
+
+ private void assertMoreDependencies(String aspectCtxName, String disabledCtxName)
+ {
+ ControllerContext aspectCtx = assertNotInstalledContext(aspectCtxName);
+ ControllerContext disabledCtx = assertInstalledContext(disabledCtxName);
+
+ Set<DependencyItem> interceptedDependencies = new HashSet<DependencyItem>(aspectCtx.getDependencyInfo().getIDependOn(null));
+ Set<DependencyItem> notInterceptedDependencies = new HashSet<DependencyItem>(disabledCtx.getDependencyInfo().getIDependOn(null));
+ assertTrue(interceptedDependencies.size() > notInterceptedDependencies.size());
+ }
+
+ private ControllerContext assertNotInstalledContext(String bean)
+ {
try
{
- getControllerContext("Intercepted");
- fail("'Intercepted' should not have been installed");
+ getControllerContext(bean);
+ fail("'" + bean + "' should not have been installed");
}
catch (Exception expected)
{
}
- ControllerContext ctxIntercepted = getControllerContext("Intercepted", null);
- ControllerContext ctxNotIntercepted = getControllerContext("NotIntercepted");
- assertNotNull(ctxIntercepted);
- assertNotNull(ctxNotIntercepted);
-
- Set<DependencyItem> interceptedDependencies = new HashSet<DependencyItem>(ctxIntercepted.getDependencyInfo().getIDependOn(null));
- Set<DependencyItem> notInterceptedDependencies = new HashSet<DependencyItem>(ctxNotIntercepted.getDependencyInfo().getIDependOn(null));
- assertTrue(interceptedDependencies.size() > notInterceptedDependencies.size());
-
- POJO pojoNotIntercepted = (POJO)getBean("NotIntercepted");
- assertFalse(pojoNotIntercepted instanceof AspectManaged);
+ ControllerContext ctx = getControllerContext(bean, null);
+ assertNotNull(ctx);
+ assertNotSame(ControllerState.INSTALLED, ctx.getState());
+ return ctx;
}
+
+ private ControllerContext assertInstalledContext(String bean)
+ {
+ ControllerContext ctx = getControllerContext(bean);
+ assertNotNull(ctx);
+ assertSame(ControllerState.INSTALLED, ctx.getState());
+ return ctx;
+ }
}
Copied: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testAllAopTurnedOff.xml (from rev 89242, projects/microcontainer/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testAllAopTurnedOff.xml)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testAllAopTurnedOff.xml (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testAllAopTurnedOff.xml 2009-05-21 11:01:01 UTC (rev 89243)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<aop xmlns="urn:jboss:aop-beans:1.0">
+
+ <bean name="AspectManager" class="org.jboss.aop.AspectManager">
+ <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+ </bean>
+
+ <aspect class="org.jboss.test.microcontainer.beans.TestAspectWithDependency">
+ <property name="dependency"><inject bean="Dependency"/></property>
+ </aspect>
+
+ <bind pointcut="execution(* org.jboss.test.microcontainer.beans.POJO->*(..))">
+ <advice aspect="org.jboss.test.microcontainer.beans.TestAspectWithDependency" name="advice"/>
+ </bind>
+
+ <lifecycle-configure
+ name="LifecycleCallback"
+ class="org.jboss.test.microcontainer.support.LifecycleCallbackWithBeanDependency"
+ expr="class(org.jboss.test.microcontainer.beans.POJO2)"
+ manager-bean="AspectManager">
+ <property name="dependency"><inject bean="Dependency"/></property>
+ </lifecycle-configure>
+
+ <bean name="Intercepted" class="org.jboss.test.microcontainer.beans.POJO"/>
+
+ <bean name="NotIntercepted" class="org.jboss.test.microcontainer.beans.POJO">
+ <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
+ </bean>
+
+ <bean name="WithLifecycle" class="org.jboss.test.microcontainer.beans.POJO2"/>
+
+ <bean name="WithLifecycleDisabled" class="org.jboss.test.microcontainer.beans.POJO2">
+ <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
+ </bean>
+</aop>
Copied: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testLifecycleTurnedOff.xml (from rev 89242, projects/microcontainer/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testLifecycleTurnedOff.xml)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testLifecycleTurnedOff.xml (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testLifecycleTurnedOff.xml 2009-05-21 11:01:01 UTC (rev 89243)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<aop xmlns="urn:jboss:aop-beans:1.0">
+
+ <bean name="AspectManager" class="org.jboss.aop.AspectManager">
+ <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+ </bean>
+
+ <aspect class="org.jboss.test.microcontainer.beans.TestAspectWithDependency">
+ <property name="dependency"><inject bean="Dependency"/></property>
+ </aspect>
+
+ <bind pointcut="execution(* org.jboss.test.microcontainer.beans.POJO->*(..))">
+ <advice aspect="org.jboss.test.microcontainer.beans.TestAspectWithDependency" name="advice"/>
+ </bind>
+
+ <lifecycle-configure
+ name="LifecycleCallback"
+ class="org.jboss.test.microcontainer.support.LifecycleCallbackWithBeanDependency"
+ expr="class(org.jboss.test.microcontainer.beans.POJO2)"
+ manager-bean="AspectManager">
+ <property name="dependency"><inject bean="Dependency"/></property>
+ </lifecycle-configure>
+
+ <bean name="Intercepted" class="org.jboss.test.microcontainer.beans.POJO"/>
+
+ <bean name="NotIntercepted" class="org.jboss.test.microcontainer.beans.POJO">
+ <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP({org.jboss.aop.microcontainer.annotations.DisabledType.LIFECYCLE})</annotation>
+ </bean>
+
+ <bean name="WithLifecycle" class="org.jboss.test.microcontainer.beans.POJO2"/>
+
+ <bean name="WithLifecycleDisabled" class="org.jboss.test.microcontainer.beans.POJO2">
+ <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP({org.jboss.aop.microcontainer.annotations.DisabledType.LIFECYCLE})</annotation>
+ </bean>
+</aop>
Copied: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testPointcutsTurnedOff.xml (from rev 89242, projects/microcontainer/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testPointcutsTurnedOff.xml)
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testPointcutsTurnedOff.xml (rev 0)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testPointcutsTurnedOff.xml 2009-05-21 11:01:01 UTC (rev 89243)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<aop xmlns="urn:jboss:aop-beans:1.0">
+
+ <bean name="AspectManager" class="org.jboss.aop.AspectManager">
+ <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+ </bean>
+
+ <aspect class="org.jboss.test.microcontainer.beans.TestAspectWithDependency">
+ <property name="dependency"><inject bean="Dependency"/></property>
+ </aspect>
+
+ <bind pointcut="execution(* org.jboss.test.microcontainer.beans.POJO->*(..))">
+ <advice aspect="org.jboss.test.microcontainer.beans.TestAspectWithDependency" name="advice"/>
+ </bind>
+
+ <lifecycle-configure
+ name="LifecycleCallback"
+ class="org.jboss.test.microcontainer.support.LifecycleCallbackWithBeanDependency"
+ expr="class(org.jboss.test.microcontainer.beans.POJO2)"
+ manager-bean="AspectManager">
+ <property name="dependency"><inject bean="Dependency"/></property>
+ </lifecycle-configure>
+
+ <bean name="Intercepted" class="org.jboss.test.microcontainer.beans.POJO"/>
+
+ <bean name="NotIntercepted" class="org.jboss.test.microcontainer.beans.POJO">
+ <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP({org.jboss.aop.microcontainer.annotations.DisabledType.POINTCUTS})</annotation>
+ </bean>
+
+ <bean name="WithLifecycle" class="org.jboss.test.microcontainer.beans.POJO2"/>
+
+ <bean name="WithLifecycleDisabled" class="org.jboss.test.microcontainer.beans.POJO2">
+ <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP({org.jboss.aop.microcontainer.annotations.DisabledType.POINTCUTS})</annotation>
+ </bean>
+</aop>
Deleted: projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase.xml
===================================================================
--- projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase.xml 2009-05-21 10:11:40 UTC (rev 89242)
+++ projects/microcontainer/branches/Branch_2_0/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase.xml 2009-05-21 11:01:01 UTC (rev 89243)
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<aop xmlns="urn:jboss:aop-beans:1.0">
-
- <bean name="AspectManager" class="org.jboss.aop.AspectManager">
- <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
- </bean>
-
- <aspect class="org.jboss.test.microcontainer.beans.TestAspectWithDependency">
- <property name="dependency"><inject bean="Dependency"/></property>
- </aspect>
-
- <bind pointcut="execution(* org.jboss.test.microcontainer.beans.POJO->*(..))">
- <advice aspect="org.jboss.test.microcontainer.beans.TestAspectWithDependency" name="advice"/>
- </bind>
-
- <bean name="Intercepted" class="org.jboss.test.microcontainer.beans.POJO"/>
-
- <bean name="NotIntercepted" class="org.jboss.test.microcontainer.beans.POJO">
- <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
- </bean>
-
-</aop>
More information about the jboss-cvs-commits
mailing list