[jboss-cvs] JBossAS SVN: r58259 - in trunk: aspects/src/resources/META-INF testsuite testsuite/src/main/org/jboss/test/aop/mcjmx testsuite/src/resources/aop/mcjmx/META-INF

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Nov 11 09:55:01 EST 2006


Author: kabir.khan at jboss.com
Date: 2006-11-11 09:54:55 -0500 (Sat, 11 Nov 2006)
New Revision: 58259

Modified:
   trunk/aspects/src/resources/META-INF/aop-mc-int-aspect-beans.xml
   trunk/testsuite/build.xml
   trunk/testsuite/src/main/org/jboss/test/aop/mcjmx/BeanWithDependency.java
   trunk/testsuite/src/main/org/jboss/test/aop/mcjmx/InterceptorWithDependency.java
   trunk/testsuite/src/resources/aop/mcjmx/META-INF/has-dependency-beans.xml
Log:
[JBAOP-271] Get rid of hardcoded aspect manager in ASpectBeanMetaDataFactory. By default we will depend on a bean called "AspectManager", this is overridable in the aspect using the manager-bean and manager-property attributes of <aop:aspect/>

Modified: trunk/aspects/src/resources/META-INF/aop-mc-int-aspect-beans.xml
===================================================================
--- trunk/aspects/src/resources/META-INF/aop-mc-int-aspect-beans.xml	2006-11-11 14:23:25 UTC (rev 58258)
+++ trunk/aspects/src/resources/META-INF/aop-mc-int-aspect-beans.xml	2006-11-11 14:54:55 UTC (rev 58259)
@@ -13,28 +13,12 @@
       <property name="manager"><inject bean="AspectManager" property="aspectManager"/></property>
    </bean>
 
-   <!--
    <aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
                name="JMXAdvice"
                class="org.jboss.aop.microcontainer.aspects.jmx.JMXIntroduction"
+               manager-bean="AspectManager"
+               manager-property="aspectManager"
                pointcut="execution(* @org.jboss.aop.microcontainer.aspects.jmx.JMX->$implements{org.jboss.kernel.spi.dependency.KernelControllerContextAware}(..))">
       <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
    </aop:aspect>
-   -->
-   
-   <!-- TODO use aop:aspect instead of these. -->
-   <beanfactory name="JMXAdvice" class="org.jboss.aop.microcontainer.aspects.jmx.JMXIntroduction">
-      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
-   </beanfactory>
-
-   <bean name="JMXAspect" class="org.jboss.aop.microcontainer.beans.Aspect">
-      <property name="advice"><inject bean="JMXAdvice"/></property>
-      <property name="manager"><inject bean="AspectManager" property="aspectManager"/></property>
-   </bean>
-
-   <bean name="JMXBinding" class="org.jboss.aop.microcontainer.beans.AspectBinding">
-      <property name="pointcut">execution(* @org.jboss.aop.microcontainer.aspects.jmx.JMX->$implements{org.jboss.kernel.spi.dependency.KernelControllerContextAware}(..))</property>
-      <property name="aspect"><inject bean="JMXAspect" property="definition"/></property>
-      <property name="manager"><inject bean="AspectManager" property="aspectManager"/></property>
-   </bean>
 </deployment>

Modified: trunk/testsuite/build.xml
===================================================================
--- trunk/testsuite/build.xml	2006-11-11 14:23:25 UTC (rev 58258)
+++ trunk/testsuite/build.xml	2006-11-11 14:54:55 UTC (rev 58259)
@@ -3155,9 +3155,9 @@
 
        <run-junit junit.patternset="aop-with-classloader.includes"/>
 
-      <!--server:stop name="scoped-aop-jdk50"/-->
+      <!--server:stop name="scoped-aop-jdk50"/>
 
-      <delete file="${jboss.dist}/bin/pluggable-instrumentor.jar"/>
+      <delete file="${jboss.dist}/bin/pluggable-instrumentor.jar"/-->
    </target>
    <target name="tests-aop-scoped-generated-advisor"
       description="AOP tests requiring a native classloader hook for JDK 5.0"

Modified: trunk/testsuite/src/main/org/jboss/test/aop/mcjmx/BeanWithDependency.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/aop/mcjmx/BeanWithDependency.java	2006-11-11 14:23:25 UTC (rev 58258)
+++ trunk/testsuite/src/main/org/jboss/test/aop/mcjmx/BeanWithDependency.java	2006-11-11 14:54:55 UTC (rev 58259)
@@ -32,6 +32,7 @@
 public class BeanWithDependency implements BeanInterface
 {
    int property;
+   String invoked;
    
    public int getProperty()
    {
@@ -45,8 +46,7 @@
 
    public String someAction()
    {
-      System.out.println("someAction");
-      return InterceptorWithDependency.invoked;
+      return invoked;
    }
 
 }

Modified: trunk/testsuite/src/main/org/jboss/test/aop/mcjmx/InterceptorWithDependency.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/aop/mcjmx/InterceptorWithDependency.java	2006-11-11 14:23:25 UTC (rev 58258)
+++ trunk/testsuite/src/main/org/jboss/test/aop/mcjmx/InterceptorWithDependency.java	2006-11-11 14:54:55 UTC (rev 58259)
@@ -31,7 +31,6 @@
  */
 public class InterceptorWithDependency implements Interceptor
 {
-   static String invoked;
    Dependency dependency;
 
    public Dependency getDependency()
@@ -51,7 +50,11 @@
 
    public Object invoke(Invocation invocation) throws Throwable
    {
-      invoked = "true";
+      Object target = invocation.getTargetObject();
+      if (target instanceof BeanWithDependency)
+      {
+         ((BeanWithDependency)target).invoked = "true";
+      }
       return invocation.invokeNext();
    }
 }

Modified: trunk/testsuite/src/resources/aop/mcjmx/META-INF/has-dependency-beans.xml
===================================================================
--- trunk/testsuite/src/resources/aop/mcjmx/META-INF/has-dependency-beans.xml	2006-11-11 14:23:25 UTC (rev 58258)
+++ trunk/testsuite/src/resources/aop/mcjmx/META-INF/has-dependency-beans.xml	2006-11-11 14:54:55 UTC (rev 58259)
@@ -1,27 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-   <!-- TODO This is horrible and a pain to enter, replace with aop:aspect once that is working in jboss 5 -->
-   <beanfactory name="DependencyAdvice" class="org.jboss.test.aop.mcjmx.InterceptorWithDependency">
+
+   <aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
+               name="DependencyAdvice"
+               class="org.jboss.test.aop.mcjmx.InterceptorWithDependency"
+               manager-bean="AspectManager"
+               manager-property="aspectManager"
+               pointcut="execution(* org.jboss.test.aop.mcjmx.BeanWithDependency->someAction(..))">
       <property name="dependency"><inject bean="Dependency"/></property>
-      <install bean="DependencyAdvice$Aspect" method="install">
-      	<parameter><this/></parameter>
-      </install>
-      <uninstall bean="DependencyAdvice$Aspect" method="uninstall"/>
-      <install bean="DependencyAdvice$AspectBinding" method="rebind">
-      	<parameter><inject bean="DependencyAdvice$Aspect" property="definition"/></parameter>
-      </install>
-   </beanfactory>
-   <bean name="DependencyAdvice$Aspect" class="org.jboss.aop.microcontainer.beans.Aspect">
-      <property name="adviceBean">DependencyAdvice</property>
-      <property name="manager"><inject bean="AspectManager" property="aspectManager"/></property>
-   </bean>
-   <bean name="DependencyAdvice$AspectBinding" class="org.jboss.aop.microcontainer.beans.AspectBinding">
-      <property name="pointcut">execution(* org.jboss.test.aop.mcjmx.BeanWithDependency->someAction(..))</property>
-      <property name="aspect"><inject bean="DependencyAdvice$Aspect" property="definition"/></property>
-      <property name="manager"><inject bean="AspectManager" property="aspectManager"/></property>
-   </bean>
-   
+   </aop:aspect>
+
    <bean name="BeanWithDependency" class="org.jboss.test.aop.mcjmx.BeanWithDependency"/>
    
 </deployment>




More information about the jboss-cvs-commits mailing list