[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