[jboss-cvs] JBossAS SVN: r59919 - in projects/aop/trunk/aop/src: main/org/jboss/aop/proxy/container and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jan 22 12:50:41 EST 2007


Author: kabir.khan at jboss.com
Date: 2007-01-22 12:50:41 -0500 (Mon, 22 Jan 2007)
New Revision: 59919

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedInstanceAdvisorMixin.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/InstanceAdvisor.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/InstanceProxyContainer.java
   projects/aop/trunk/aop/src/test/org/jboss/test/aop/basic/AOPTester.java
Log:
[JBAOP-338] Expose getInstance() on InstanceAdvisor

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java	2007-01-22 15:19:27 UTC (rev 59918)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java	2007-01-22 17:50:41 UTC (rev 59919)
@@ -368,11 +368,11 @@
       return null;
    }
 
-   private Object getInstance()
+   public Object getInstance()
    {
       if (instanceRef != null)
       {
-         return (Advisor)instanceRef.get();
+         return instanceRef.get();
       }
       return null;
    }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedInstanceAdvisorMixin.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedInstanceAdvisorMixin.java	2007-01-22 15:19:27 UTC (rev 59918)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedInstanceAdvisorMixin.java	2007-01-22 17:50:41 UTC (rev 59919)
@@ -387,6 +387,11 @@
    {
       return new GeneratedAdvisorInterceptor(new InstanceInterceptorFactory(interceptor), null, null);
    }
+   
+   public Object getInstance()
+   {
+      return instance;
+   }
 
    public class InstanceInterceptorFactory implements InterceptorFactory
    {
@@ -426,7 +431,5 @@
       {
          return true;
       }
-      
-      
    }
 }
\ No newline at end of file

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/InstanceAdvisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/InstanceAdvisor.java	2007-01-22 15:19:27 UTC (rev 59918)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/InstanceAdvisor.java	2007-01-22 17:50:41 UTC (rev 59919)
@@ -74,4 +74,6 @@
    public Object getPerInstanceJoinpointAspect(Joinpoint joinpoint, AspectDefinition def);
    
    public Domain getDomain();
+   
+   public Object getInstance();
 }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/InstanceProxyContainer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/InstanceProxyContainer.java	2007-01-22 15:19:27 UTC (rev 59918)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/InstanceProxyContainer.java	2007-01-22 17:50:41 UTC (rev 59919)
@@ -195,6 +195,11 @@
       domain.removeAdvisor(this);
    }
 
+   public Object getInstance()
+   {
+      throw new RuntimeException("Not implemented");
+   }
+
    /**
     * If the target instance is advised, make sure that we set the unadvised method to the one stored by the class advisor
     * so that we don't get double invocations.
@@ -218,4 +223,5 @@
    {
       return classAdvisor;
    }
+
 }

Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/basic/AOPTester.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/basic/AOPTester.java	2007-01-22 15:19:27 UTC (rev 59918)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/basic/AOPTester.java	2007-01-22 17:50:41 UTC (rev 59919)
@@ -26,6 +26,7 @@
 import java.util.Arrays;
 
 import org.jboss.aop.Advised;
+import org.jboss.aop.InstanceAdvised;
 import org.jboss.aop.InstanceAdvisor;
 import org.jboss.test.aop.AOPTestWithSetup;
 
@@ -821,7 +822,25 @@
       assertTrue("Found A", NamedInterceptor.invoked.contains("G"));
       assertTrue("Found A", NamedInterceptor.invoked.contains("H"));
       assertFalse("Didn't find NotBound", NamedInterceptor.invoked.contains("NotBound"));
-   }   
+   }
+   
+   public void testInstanceAdvisorGetInstance()
+   {
+      POJO pojo1 = new POJO();
+      POJO pojo2 = new POJO();
+      
+      InstanceAdvisor ia1 = ((InstanceAdvised)pojo1)._getInstanceAdvisor();
+      assertNotNull(ia1);
+      InstanceAdvisor ia2 = ((InstanceAdvised)pojo2)._getInstanceAdvisor();
+      assertNotNull(ia2);
+      
+      Object instance1 = ia1.getInstance();
+      assertNotNull(instance1);
+      assertSame(pojo1, instance1);
+      Object instance2 = ia2.getInstance();
+      assertNotNull(instance2);
+      assertSame(pojo2, instance2);
+   }
    // Inner classes -------------------------------------------------
 }
 




More information about the jboss-cvs-commits mailing list