[jboss-cvs] JBossAS SVN: r99066 - in projects/kernel/trunk/aop-mc-int/src: main/java/org/jboss/aop/microcontainer/beans and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jan 6 10:49:30 EST 2010


Author: kabir.khan at jboss.com
Date: 2010-01-06 10:49:30 -0500 (Wed, 06 Jan 2010)
New Revision: 99066

Removed:
   projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/LifecycleBinding.java
Modified:
   projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/annotations/DisableAOP.java
   projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LifecycleBeanMetaDataFactory.java
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testAllAopTurnedOff.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testPointcutsTurnedOff.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/CreatedBeansLifecycleCallbackTestCaseNotAutomatic.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/CreatedBeansLifecycleCallbackWithDependencyTestCaseNotAutomatic1.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackTestCaseNotAutomatic.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackWithDependencyAopTestCaseNotAutomatic1.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackWithDependencyDeploymentTestCaseNotAutomatic1.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/JMXLifecycleTestCase.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/JndiLifeCycleTestCase.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/LifecycleAopTestCaseNotAutomatic.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/LifecycleDeploymentTestCaseNotAutomatic.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/MultipleLifecycleTestCase.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/NonDefaultMethodsLifecycleCallbackTestCaseNotAutomatic.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/UndeployLifecycleCallbackDependencyTestCaseNotAutomatic0.xml
   projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/UnwindLifeCycleTestCaseNotAutomatic.xml
Log:
[JBKERNEL-75] Get rid of the LifecycleBinding bean. Register the BeanAnnotationAdapter as a bean, and have the LifecycleAnnotationPlugin installed as a bean which gets registered with BeanAnnotationAdpater using in/uncallbacks

Modified: projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/annotations/DisableAOP.java
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/annotations/DisableAOP.java	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/annotations/DisableAOP.java	2010-01-06 15:49:30 UTC (rev 99066)
@@ -32,9 +32,9 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @author <a href="ales.justin at jboss.com">Ales Justin</a>
  * @version $Revision: 1.1 $
- * @deprecated By default aop proxies are disabled, and aop lifecycle callbacks enabled. To enable aop proxies use @EnableAopProxy 
- * and to disable aop lifecycle callbacks use @DisableAopLifecycle. If for some reason this annotation is used in conjunction with 
- * @EnableAopProxy or @DisableAopLifecycle, @EnableAopProxy and @DisableAopLifecycle will take precedence. 
+ * @deprecated By default aop proxies are disabled, and aop lifecycle callbacks enabled. To enable aop proxies use @EnableAopProxy.
+ * AOP lifecycle callbacks are no longer handled by AOP, so they can't be turned off. If for some reason this annotation is used in 
+ * conjunction with @EnableAopProxy @EnableAopProxy will take precedence. 
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD})

Deleted: projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/LifecycleBinding.java
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/LifecycleBinding.java	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/LifecycleBinding.java	2010-01-06 15:49:30 UTC (rev 99066)
@@ -1,145 +0,0 @@
-/*
-* 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;
-
-import java.lang.annotation.Annotation;
-
-import org.apache.log4j.Logger;
-import org.jboss.annotation.factory.AnnotationCreator;
-import org.jboss.aop.AspectManager;
-import org.jboss.aop.microcontainer.integration.LifecycleAspectDependencyBuilderListItem;
-import org.jboss.beans.metadata.spi.MetaDataVisitor;
-import org.jboss.dependency.spi.ControllerState;
-import org.jboss.kernel.plugins.annotations.AnnotationPlugin;
-import org.jboss.kernel.plugins.annotations.BeanAnnotationAdapter;
-import org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory;
-import org.jboss.kernel.plugins.annotations.CommonAnnotationAdapter;
-import org.jboss.kernel.plugins.annotations.LifecycleAnnotationPlugin;
-import org.jboss.util.id.GUID;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class LifecycleBinding
-{
-   private final static Logger log = Logger.getLogger(LifecycleBinding.class);
-   protected String name;
-   protected AspectManager manager;   
-   private String classes;
-   private String expr;
-   private String callbackBean;
-   private ControllerState state;
-   private String installMethod = "install";
-   private String uninstallMethod = "uninstall";
-   LifecycleAnnotationPlugin<?> plugin;
-
-   public void setClasses(String classes)
-   {
-      this.classes = classes;
-   }
-   
-   public String getExpr()
-   {
-      return expr;
-   }
-
-   public void setExpr(String classes)
-   {
-      this.expr = classes;
-   }
-   
-   public void setCallbackBean(String name)
-   {
-      callbackBean = name;
-   }
-   
-   public void setManager(AspectManager manager)
-   {
-      this.manager = manager;
-   }
-   
-   public void setState(ControllerState state)
-   {
-      this.state = state;
-   }
-   
-   public void setInstallMethod(String installMethod)
-   {
-      this.installMethod = installMethod;
-   }
-
-   public void setUninstallMethod(String uninstallMethod)
-   {
-      this.uninstallMethod = uninstallMethod;
-   }
-
-   public void start() throws Exception
-   {
-      if (expr != null)
-         throw new IllegalArgumentException("The 'expr' attribute has been deprecated. Only the name of an annotation in the 'classes' attribute work now.");
-      if (classes == null)
-         throw new IllegalArgumentException("Null 'classes' attribute.");
-      if (manager != null)
-         log.warn("The use of manager has been deprecated and is unnecessary");
-      if (callbackBean == null)
-         throw new IllegalArgumentException("Null callback bean");
-      if (state == null)
-         throw new IllegalArgumentException("Null controller state");
-      if (name == null)
-         name = GUID.asString();
-      
-      if (!classes.startsWith("@"))
-         throw new IllegalArgumentException("Could not parse '" + classes + " into an annotation. (It must start with '@')");
-      String annotationName = classes.substring(1);
-      Class<Annotation> clazz = null;
-      try
-      {
-         clazz = (Class<Annotation>)SecurityActions.getContextClassLoader().loadClass(annotationName);
-      }
-      catch (Exception e)
-      {
-         throw new IllegalArgumentException("An error occurred loading '" + classes + "'", e);
-      }
-
-      LifecycleAspectDependencyBuilderListItem item = new LifecycleAspectDependencyBuilderListItem(callbackBean, state, installMethod, uninstallMethod);
-      plugin = new LifecycleAnnotationPlugin<Annotation>(clazz, item);
-      getBeanAnnotationAdapter().addAnnotationPlugin(plugin);
-   }
-
-   
-   public void stop() throws Exception
-   {
-      if (plugin != null)
-         getBeanAnnotationAdapter().removeAnnotationPlugin(plugin);
-   }
-
-   @SuppressWarnings("unchecked")
-   private CommonAnnotationAdapter<AnnotationPlugin<?, ?>, MetaDataVisitor> getBeanAnnotationAdapter()
-   {
-      BeanAnnotationAdapter adapter = BeanAnnotationAdapterFactory.getInstance().getBeanAnnotationAdapter();
-      if (adapter instanceof CommonAnnotationAdapter == false)
-         throw new IllegalArgumentException("Adapter is not an instance of CommonAnnotationAdapter");
-      return (CommonAnnotationAdapter<AnnotationPlugin<?,?>, MetaDataVisitor>)adapter;
-   }
-}

Modified: projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LifecycleBeanMetaDataFactory.java
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LifecycleBeanMetaDataFactory.java	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/main/java/org/jboss/aop/microcontainer/beans/metadata/LifecycleBeanMetaDataFactory.java	2010-01-06 15:49:30 UTC (rev 99066)
@@ -27,12 +27,14 @@
 
 import javax.xml.bind.annotation.XmlAttribute;
 
-import org.jboss.aop.microcontainer.beans.LifecycleBinding;
+import org.jboss.aop.microcontainer.integration.LifecycleAspectDependencyBuilderListItem;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.DependencyMetaData;
 import org.jboss.beans.metadata.spi.PropertyMetaData;
 import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
 import org.jboss.dependency.spi.ControllerState;
+import org.jboss.kernel.plugins.annotations.LifecycleAnnotationPlugin;
+import org.jboss.kernel.spi.dependency.DependencyBuilderListItem;
 
 /**
  * 
@@ -45,8 +47,8 @@
 
    private String classes;
    private String expr;
-   private String installMethod;
-   private String uninstallMethod;
+   private String installMethod = "install";
+   private String uninstallMethod = "uninstall";
 
    @XmlAttribute
    public void setClasses(String classes)
@@ -76,6 +78,20 @@
 
    public List<BeanMetaData> getBeans()
    {
+      if (expr != null)
+         throw new IllegalArgumentException("The 'expr' attribute has been deprecated. Only the name of an annotation in the 'classes' attribute work now.");
+      if (classes == null)
+         throw new IllegalArgumentException("Null 'classes' attribute.");
+      if (getManagerBean() != null || getManagerProperty() != null)
+         log.warn("The use of manager has been deprecated and is unnecessary");
+      if (name == null)
+         throw new IllegalArgumentException("Null callback bean");
+      if (getState() == null)
+         throw new IllegalArgumentException("Null controller state");
+      if (!classes.startsWith("@"))
+         throw new IllegalArgumentException("Could not parse '" + classes + " into an annotation. (It must start with '@')");
+      String annotationName = classes.substring(1);
+      
       ArrayList<BeanMetaData> result = new ArrayList<BeanMetaData>();
 
       //Do not include the bean factory here, just install the bean directly and the binding
@@ -95,33 +111,14 @@
             lifecycleBuilder.addDependency(depend.getDependency());
          }
       }
-      
       result.add(lifecycleBuilder.getBeanMetaData());
+
+      LifecycleAspectDependencyBuilderListItem item = new LifecycleAspectDependencyBuilderListItem(name, getState(), installMethod, uninstallMethod);
+      BeanMetaDataBuilder annotationPluginBuilder = BeanMetaDataBuilder.createBuilder(name + "$AnnotationPlugin", LifecycleAnnotationPlugin.class.getName());
+      annotationPluginBuilder.addConstructorParameter(Class.class.getName(), annotationName);
+      annotationPluginBuilder.addConstructorParameter(DependencyBuilderListItem.class.getName(), item);
+      result.add(annotationPluginBuilder.getBeanMetaData());
       
-      
-      String aspectBindingName = name + "$AspectBinding";
-      BeanMetaDataBuilder bindingBuilder = BeanMetaDataBuilder.createBuilder(aspectBindingName, LifecycleBinding.class.getName());
-      bindingBuilder.addPropertyMetaData("callbackBean", name);
-      setAspectManagerProperty(bindingBuilder);
-      if (expr != null)
-      {
-         bindingBuilder.addPropertyMetaData("expr", expr);
-      }
-      else if (classes != null) 
-      {
-         bindingBuilder.addPropertyMetaData("classes", classes);         
-      }
-      bindingBuilder.addPropertyMetaData("state", getState());
-      if (installMethod != null)
-      {
-         bindingBuilder.addPropertyMetaData("installMethod", installMethod);
-      }
-      if (uninstallMethod != null)
-      {
-         bindingBuilder.addPropertyMetaData("uninstallMethod", uninstallMethod);
-      }
-      result.add(bindingBuilder.getBeanMetaData());
-      
       return result;
    }
 }

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testAllAopTurnedOff.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testAllAopTurnedOff.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testAllAopTurnedOff.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -6,6 +6,18 @@
       <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
    </bean>
 
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
+   </bean>
+
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <aspect class="org.jboss.test.microcontainer.beans.TestAspectWithDependency">
       <property name="dependency"><inject bean="Dependency"/></property>
    </aspect>
@@ -17,8 +29,7 @@
    <lifecycle-configure
                name="LifecycleCallback"
                class="org.jboss.test.microcontainer.support.LifecycleCallbackWithBeanDependency"
-               classes="@org.jboss.test.microcontainer.support.Lifecycle"
-               manager-bean="AspectManager">
+               classes="@org.jboss.test.microcontainer.support.Lifecycle">
       <property name="dependency"><inject bean="Dependency"/></property>
    </lifecycle-configure>
 

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testPointcutsTurnedOff.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testPointcutsTurnedOff.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/beans/test/AspectWithDependencyTurnedOffAopTestCase#testPointcutsTurnedOff.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -6,6 +6,18 @@
       <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
    </bean>
 
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
+   </bean>
+
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <aspect class="org.jboss.test.microcontainer.beans.TestAspectWithDependency">
       <property name="dependency"><inject bean="Dependency"/></property>
    </aspect>
@@ -17,8 +29,7 @@
    <lifecycle-configure
                name="LifecycleCallback"
                class="org.jboss.test.microcontainer.support.LifecycleCallbackWithBeanDependency"
-               classes="@org.jboss.test.microcontainer.support.Lifecycle"
-               manager-bean="AspectManager">
+               classes="@org.jboss.test.microcontainer.support.Lifecycle">
       <property name="dependency"><inject bean="Dependency"/></property>
    </lifecycle-configure>
 

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/CreatedBeansLifecycleCallbackTestCaseNotAutomatic.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/CreatedBeansLifecycleCallbackTestCaseNotAutomatic.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/CreatedBeansLifecycleCallbackTestCaseNotAutomatic.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -1,18 +1,35 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
-   
+
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <bean name="LifecycleCallback" class="org.jboss.test.microcontainer.support.SimpleLifecycleCallback"/>
    
-   <bean name="LifecycleCallback$Binding" class="org.jboss.aop.microcontainer.beans.LifecycleBinding">
-      <property name="callbackBean">LifecycleCallback</property>
-      <property name="manager"><inject bean="AspectManager"/></property>
-      <property name="classes">@org.jboss.test.microcontainer.support.Lifecycle</property>
-      <property name="state">Configured</property>
-   </bean>
+   <bean name="LifecycleCallback$AnnotationPlugin" class="org.jboss.kernel.plugins.annotations.LifecycleAnnotationPlugin">
+      <constructor>
+         <parameter class="java.lang.Class">org.jboss.test.microcontainer.support.Lifecycle</parameter>
+         <parameter>
+            <javabean xmlns="urn:jboss:javabean:2.0" class="org.jboss.aop.microcontainer.integration.LifecycleAspectDependencyBuilderListItem">
+               <constructor>
+                  <parameter>LifecycleCallback</parameter>
+                  <parameter>Configured</parameter>
+                  <parameter>install</parameter>
+                  <parameter>uninstall</parameter>
+               </constructor>
+            </javabean>
+         </parameter>
+      </constructor>
+   </bean>            
             
    <bean name="Intercepted" class="org.jboss.test.microcontainer.support.SimpleBeanImpl">
       <annotation>@org.jboss.test.microcontainer.support.Lifecycle</annotation>

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/CreatedBeansLifecycleCallbackWithDependencyTestCaseNotAutomatic1.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/CreatedBeansLifecycleCallbackWithDependencyTestCaseNotAutomatic1.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/CreatedBeansLifecycleCallbackWithDependencyTestCaseNotAutomatic1.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -1,20 +1,37 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
-   
+
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <bean name="LifecycleCallback" class="org.jboss.test.microcontainer.support.LifecycleCallbackWithBeanDependency">
       <property name="dependency"><inject bean="Dependency"/></property>
    </bean>
    
-   <bean name="LifecycleCallback$Binding" class="org.jboss.aop.microcontainer.beans.LifecycleBinding">
-      <property name="callbackBean">LifecycleCallback</property>
-      <property name="manager"><inject bean="AspectManager"/></property>
-      <property name="classes">@org.jboss.test.microcontainer.support.Lifecycle</property>
-      <property name="state">Configured</property>
-   </bean>
+   <bean name="LifecycleCallback$AnnotationPlugin" class="org.jboss.kernel.plugins.annotations.LifecycleAnnotationPlugin">
+      <constructor>
+         <parameter class="java.lang.Class">org.jboss.test.microcontainer.support.Lifecycle</parameter>
+         <parameter>
+            <javabean xmlns="urn:jboss:javabean:2.0" class="org.jboss.aop.microcontainer.integration.LifecycleAspectDependencyBuilderListItem">
+               <constructor>
+                  <parameter>LifecycleCallback</parameter>
+                  <parameter>Configured</parameter>
+                  <parameter>install</parameter>
+                  <parameter>uninstall</parameter>
+               </constructor>
+            </javabean>
+         </parameter>
+      </constructor>
+   </bean>            
             
    <bean name="Intercepted" class="org.jboss.test.microcontainer.support.SimpleBeanImpl">
       <annotation>@org.jboss.test.microcontainer.support.Lifecycle</annotation>

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackTestCaseNotAutomatic.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackTestCaseNotAutomatic.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackTestCaseNotAutomatic.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -1,10 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
 
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <lifecycle-configure xmlns="urn:jboss:aop-beans:1.0"
                name="LifecycleCallback"
                class="org.jboss.test.microcontainer.support.SimpleLifecycleCallback"

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackWithDependencyAopTestCaseNotAutomatic1.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackWithDependencyAopTestCaseNotAutomatic1.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackWithDependencyAopTestCaseNotAutomatic1.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -1,15 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <aop xmlns="urn:jboss:aop-beans:1.0">
 
-   <bean name="TheAspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
 
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <lifecycle-configure
                name="LifecycleCallback"
                class="org.jboss.test.microcontainer.support.LifecycleCallbackWithBeanDependency"
-               classes="@org.jboss.test.microcontainer.support.Lifecycle"
-               manager-bean="TheAspectManager">
+               classes="@org.jboss.test.microcontainer.support.Lifecycle">
       <property name="dependency"><inject bean="Dependency"/></property>
    </lifecycle-configure>
 

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackWithDependencyDeploymentTestCaseNotAutomatic1.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackWithDependencyDeploymentTestCaseNotAutomatic1.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/InitialLifecycleCallbackWithDependencyDeploymentTestCaseNotAutomatic1.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -1,15 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-   <bean name="TheAspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
 
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <lifecycle-configure xmlns="urn:jboss:aop-beans:1.0"
                name="LifecycleCallback"
                class="org.jboss.test.microcontainer.support.LifecycleCallbackWithBeanDependency"
-               classes="@org.jboss.test.microcontainer.support.Lifecycle"
-               manager-bean="TheAspectManager">
+               classes="@org.jboss.test.microcontainer.support.Lifecycle">
       <property name="dependency"><inject bean="Dependency"/></property>
    </lifecycle-configure>
 

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/JMXLifecycleTestCase.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/JMXLifecycleTestCase.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/JMXLifecycleTestCase.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -6,10 +6,18 @@
       <constructor factoryClass="javax.management.MBeanServerFactory" factoryMethod="createMBeanServer"/>
    </bean>
 
-   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
 
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <lifecycle-configure xmlns="urn:jboss:aop-beans:1.0"
                name="DependencyAdvice"
                class="org.jboss.aop.microcontainer.aspects.jmx.JMXLifecycleCallback"

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/JndiLifeCycleTestCase.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/JndiLifeCycleTestCase.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/JndiLifeCycleTestCase.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -2,10 +2,18 @@
 
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
 
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <lifecycle-configure xmlns="urn:jboss:aop-beans:1.0"
       name="DependencyAdvice"
       class="org.jboss.aop.microcontainer.aspects.jndi.JndiLifecycleCallback"

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/LifecycleAopTestCaseNotAutomatic.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/LifecycleAopTestCaseNotAutomatic.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/LifecycleAopTestCaseNotAutomatic.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -2,12 +2,16 @@
 
 <aop xmlns="urn:jboss:aop-beans:1.0">
 
-   <bean name="MBeanServer" class="java.lang.Object">
-      <constructor factoryClass="javax.management.MBeanServerFactory" factoryMethod="createMBeanServer"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
 
-   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
    </bean>
 
    <lifecycle-configure

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/LifecycleDeploymentTestCaseNotAutomatic.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/LifecycleDeploymentTestCaseNotAutomatic.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/LifecycleDeploymentTestCaseNotAutomatic.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -2,12 +2,16 @@
 
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-   <bean name="MBeanServer" class="java.lang.Object">
-      <constructor factoryClass="javax.management.MBeanServerFactory" factoryMethod="createMBeanServer"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
 
-   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
    </bean>
 
    <aop:lifecycle-configure xmlns:aop="urn:jboss:aop-beans:1.0"

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/MultipleLifecycleTestCase.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/MultipleLifecycleTestCase.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/MultipleLifecycleTestCase.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -6,10 +6,18 @@
       <constructor factoryClass="javax.management.MBeanServerFactory" factoryMethod="createMBeanServer"/>
    </bean>
 
-   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
 
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <lifecycle-configure xmlns="urn:jboss:aop-beans:1.0"
                name="JMXAdvice"
                class="org.jboss.aop.microcontainer.aspects.jmx.JMXLifecycleCallback"

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/NonDefaultMethodsLifecycleCallbackTestCaseNotAutomatic.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/NonDefaultMethodsLifecycleCallbackTestCaseNotAutomatic.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/NonDefaultMethodsLifecycleCallbackTestCaseNotAutomatic.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -1,17 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-   <bean name="TheAspectManager" class="org.jboss.test.microcontainer.support.AspectManagerBean">
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
 
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <lifecycle-configure xmlns="urn:jboss:aop-beans:1.0"
                name="LifecycleCallback"
                class="org.jboss.test.microcontainer.support.NonDefaultMethodsLifecycleCallback"
                classes="@org.jboss.test.microcontainer.support.Lifecycle"
                install="init"
-               uninstall="uninit"
-               manager-bean="TheAspectManager"
-               manager-property="manager">
+               uninstall="uninit">
    </lifecycle-configure>
    
 

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/UndeployLifecycleCallbackDependencyTestCaseNotAutomatic0.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/UndeployLifecycleCallbackDependencyTestCaseNotAutomatic0.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/UndeployLifecycleCallbackDependencyTestCaseNotAutomatic0.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -2,10 +2,18 @@
 
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
 
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <aop:lifecycle-configure xmlns:aop="urn:jboss:aop-beans:1.0"
                name="LifecycleCallbackConfigure"
                class="org.jboss.test.microcontainer.support.SimpleLifecycleCallback"

Modified: projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/UnwindLifeCycleTestCaseNotAutomatic.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/UnwindLifeCycleTestCaseNotAutomatic.xml	2010-01-06 14:49:51 UTC (rev 99065)
+++ projects/kernel/trunk/aop-mc-int/src/test/resources/org/jboss/test/microcontainer/test/UnwindLifeCycleTestCaseNotAutomatic.xml	2010-01-06 15:49:30 UTC (rev 99066)
@@ -6,10 +6,18 @@
       <constructor factoryClass="javax.management.MBeanServerFactory" factoryMethod="createMBeanServer"/>
    </bean>
 
-   <bean name="AspectManager" class="org.jboss.aop.AspectManager">
-      <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <constructor factoryMethod="getInstance"/>
    </bean>
 
+   <bean name="BeanAnnotationAdapter">
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+
    <aop:lifecycle-describe xmlns:aop="urn:jboss:aop-beans:1.0"
                name="DescribeAdvice1"
                class="org.jboss.test.microcontainer.support.InstallUninstallLifecycleCallback"




More information about the jboss-cvs-commits mailing list