[jboss-cvs] JBossAS SVN: r63578 - in projects/aop/trunk/aop/src: resources/test/beforeafterthrowingscoped and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jun 20 07:53:48 EDT 2007
Author: kabir.khan at jboss.com
Date: 2007-06-20 07:53:47 -0400 (Wed, 20 Jun 2007)
New Revision: 63578
Added:
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOA.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOB.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerClassAndPerVmAspects.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerClassJoinpointAspects.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerInstanceAspects.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerJoinpointAspects.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerClassAspect.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerClassJoinpointAspect.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerJoinpointAspect.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerVmAspect.java
Removed:
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJO.java
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java
projects/aop/trunk/aop/src/resources/test/beforeafterthrowingscoped/jboss-aop.xml
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/BeforeAfterThrowingScopedTestCase.java
Log:
[JBAOP-424] More tests of scoped lightweight aspects
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java 2007-06-20 07:29:47 UTC (rev 63577)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -684,7 +684,6 @@
code.append(" try");
code.append(" {");
-// code.append("System.out.println(\"invokeJP - \" + java.lang.System.identityHashCode(this));");
boolean argsFoundBefore = defaultCall.
addInvokeCode(this, setups.getByType(AdviceType.BEFORE), code, info);
Modified: projects/aop/trunk/aop/src/resources/test/beforeafterthrowingscoped/jboss-aop.xml
===================================================================
--- projects/aop/trunk/aop/src/resources/test/beforeafterthrowingscoped/jboss-aop.xml 2007-06-20 07:29:47 UTC (rev 63577)
+++ projects/aop/trunk/aop/src/resources/test/beforeafterthrowingscoped/jboss-aop.xml 2007-06-20 11:53:47 UTC (rev 63578)
@@ -1,10 +1,54 @@
<aop>
<aspect class="org.jboss.test.aop.beforeafterthrowingscoped.PerInstanceAspect" scope="PER_INSTANCE"/>
+ <aspect class="org.jboss.test.aop.beforeafterthrowingscoped.PerJoinpointAspect" scope="PER_JOINPOINT"/>
+ <aspect class="org.jboss.test.aop.beforeafterthrowingscoped.PerClassJoinpointAspect" scope="PER_CLASS_JOINPOINT"/>
+ <aspect class="org.jboss.test.aop.beforeafterthrowingscoped.PerClassAspect" scope="PER_CLASS"/>
+ <aspect class="org.jboss.test.aop.beforeafterthrowingscoped.PerVmAspect" scope="PER_VM"/>
- <bind pointcut="execution(* org.jboss.test.aop.beforeafterthrowingscoped.POJO->methodWithPerInstanceAspects(..))">
+ <bind pointcut="execution(* org.jboss.test.aop.beforeafterthrowingscoped.POJOWithPerInstanceAspects->methodWithPerInstanceAspects(..))">
<before aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerInstanceAspect" name="before"/>
<after aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerInstanceAspect" name="after"/>
<throwing aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerInstanceAspect" name="throwing"/>
<finally aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerInstanceAspect" name="finaly"/>
</bind>
+
+ <bind pointcut="field(* org.jboss.test.aop.beforeafterthrowingscoped.POJOWithPerInstanceAspects->field)">
+ <before aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerInstanceAspect" name="before"/>
+ <after aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerInstanceAspect" name="after"/>
+ <throwing aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerInstanceAspect" name="throwing"/>
+ <finally aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerInstanceAspect" name="finaly"/>
+ </bind>
+
+ <bind pointcut="execution(* org.jboss.test.aop.beforeafterthrowingscoped.POJOWithPerJoinpointAspects->method*(..))">
+ <before aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerJoinpointAspect" name="before"/>
+ <after aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerJoinpointAspect" name="after"/>
+ <throwing aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerJoinpointAspect" name="throwing"/>
+ <finally aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerJoinpointAspect" name="finaly"/>
+ </bind>
+
+ <bind pointcut="field(* org.jboss.test.aop.beforeafterthrowingscoped.POJOWithPerJoinpointAspects->field*)">
+ <before aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerJoinpointAspect" name="before"/>
+ <after aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerJoinpointAspect" name="after"/>
+ <throwing aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerJoinpointAspect" name="throwing"/>
+ <finally aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerJoinpointAspect" name="finaly"/>
+ </bind>
+
+ <bind pointcut="all(org.jboss.test.aop.beforeafterthrowingscoped.POJOWithPerClassJoinpointAspects)">
+ <before aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerClassJoinpointAspect" name="before"/>
+ <after aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerClassJoinpointAspect" name="after"/>
+ <throwing aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerClassJoinpointAspect" name="throwing"/>
+ <finally aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerClassJoinpointAspect" name="finaly"/>
+ </bind>
+
+ <bind pointcut="all(org.jboss.test.aop.beforeafterthrowingscoped.POJOWithPerClassAndPerVmAspects)">
+ <before aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerVmAspect" name="before"/>
+ <after aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerVmAspect" name="after"/>
+ <throwing aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerVmAspect" name="throwing"/>
+ <finally aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerVmAspect" name="finaly"/>
+ <before aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerClassAspect" name="before"/>
+ <after aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerClassAspect" name="after"/>
+ <throwing aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerClassAspect" name="throwing"/>
+ <finally aspect="org.jboss.test.aop.beforeafterthrowingscoped.PerClassAspect" name="finaly"/>
+ </bind>
+
</aop>
\ No newline at end of file
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/BeforeAfterThrowingScopedTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/BeforeAfterThrowingScopedTestCase.java 2007-06-20 07:29:47 UTC (rev 63577)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/BeforeAfterThrowingScopedTestCase.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -51,12 +51,12 @@
return suite;
}
- public void testPerInstanceAspects()
+ public void testPerInstanceVoidMethodAspects()
{
- System.out.println("===== testPerInstanceAspects()");
+ System.out.println("===== testPerInstanceVoidMethodAspects()");
System.out.println("Calling POJO 1");
PerInstanceAspect.reset();
- POJO pojo1 = new POJO();
+ POJOWithPerInstanceAspects pojo1 = new POJOWithPerInstanceAspects();
try
{
pojo1.methodWithPerInstanceAspects(false);
@@ -76,7 +76,7 @@
System.out.println("Calling POJO 2");
PerInstanceAspect.reset();
- POJO pojo2 = new POJO();
+ POJOWithPerInstanceAspects pojo2 = new POJOWithPerInstanceAspects();
try
{
pojo2.methodWithPerInstanceAspects(true);
@@ -112,4 +112,634 @@
assertSame(aspect1, aspect1a);
System.out.println("DONE");
}
+
+ public void testPerInstanceReturnMethodAspects()
+ {
+ System.out.println("===== testPerInstanceReturnMethodAspects()");
+ System.out.println("Calling POJO 1");
+ PerInstanceAspect.reset();
+ POJOWithPerInstanceAspects pojo1 = new POJOWithPerInstanceAspects();
+ assertEquals(10, pojo1.methodWithPerInstanceAspects());
+
+ assertNotNull(PerInstanceAspect.before);
+ assertNotNull(PerInstanceAspect.after);
+ assertNull(PerInstanceAspect.throwing);
+ assertNotNull(PerInstanceAspect.finaly);
+ assertSame(PerInstanceAspect.before, PerInstanceAspect.after);
+ assertSame(PerInstanceAspect.after, PerInstanceAspect.finaly);
+ PerInstanceAspect aspect1 = PerInstanceAspect.before;
+
+ System.out.println("Calling POJO 2");
+ PerInstanceAspect.reset();
+ POJOWithPerInstanceAspects pojo2 = new POJOWithPerInstanceAspects();
+ assertEquals(10, pojo2.methodWithPerInstanceAspects());
+
+ assertNotNull(PerInstanceAspect.before);
+ assertNotNull(PerInstanceAspect.after);
+ assertNull(PerInstanceAspect.throwing);
+ assertNotNull(PerInstanceAspect.finaly);
+ assertSame(PerInstanceAspect.before, PerInstanceAspect.after);
+ assertSame(PerInstanceAspect.after, PerInstanceAspect.finaly);
+ PerInstanceAspect aspect2 = PerInstanceAspect.before;
+
+ assertNotSame(aspect1, aspect2);
+
+
+ System.out.println("Calling POJO 1 again");
+ assertEquals(10, pojo1.methodWithPerInstanceAspects());
+
+ PerInstanceAspect aspect1a = PerInstanceAspect.before;
+
+ assertSame(aspect1, aspect1a);
+ System.out.println("DONE");
+ }
+
+ public void testPerInstanceFieldAspects()
+ {
+ System.out.println("===== testPerInstanceReturnMethodAspects()");
+ System.out.println("Calling POJO 1");
+ PerInstanceAspect.reset();
+ POJOWithPerInstanceAspects pojo1 = new POJOWithPerInstanceAspects();
+
+ pojo1.field = 10;
+ assertNotNull(PerInstanceAspect.before);
+ assertNotNull(PerInstanceAspect.after);
+ assertNull(PerInstanceAspect.throwing);
+ assertNotNull(PerInstanceAspect.finaly);
+ assertSame(PerInstanceAspect.before, PerInstanceAspect.after);
+ assertSame(PerInstanceAspect.after, PerInstanceAspect.finaly);
+ PerInstanceAspect aspect1w = PerInstanceAspect.before;
+
+ PerInstanceAspect.reset();
+ assertEquals(10, pojo1.field);
+ assertNotNull(PerInstanceAspect.before);
+ assertNotNull(PerInstanceAspect.after);
+ assertNull(PerInstanceAspect.throwing);
+ assertNotNull(PerInstanceAspect.finaly);
+ assertSame(PerInstanceAspect.before, PerInstanceAspect.after);
+ assertSame(PerInstanceAspect.after, PerInstanceAspect.finaly);
+ PerInstanceAspect aspect1r = PerInstanceAspect.before;
+
+ assertSame(aspect1w, aspect1r);
+
+ PerInstanceAspect.reset();
+ POJOWithPerInstanceAspects pojo2 = new POJOWithPerInstanceAspects();
+
+ pojo2.field = 10;
+ assertNotNull(PerInstanceAspect.before);
+ assertNotNull(PerInstanceAspect.after);
+ assertNull(PerInstanceAspect.throwing);
+ assertNotNull(PerInstanceAspect.finaly);
+ assertSame(PerInstanceAspect.before, PerInstanceAspect.after);
+ assertSame(PerInstanceAspect.after, PerInstanceAspect.finaly);
+ PerInstanceAspect aspect2w = PerInstanceAspect.before;
+
+ PerInstanceAspect.reset();
+ assertEquals(10, pojo2.field);
+ assertNotNull(PerInstanceAspect.before);
+ assertNotNull(PerInstanceAspect.after);
+ assertNull(PerInstanceAspect.throwing);
+ assertNotNull(PerInstanceAspect.finaly);
+ assertSame(PerInstanceAspect.before, PerInstanceAspect.after);
+ assertSame(PerInstanceAspect.after, PerInstanceAspect.finaly);
+ PerInstanceAspect aspect2r = PerInstanceAspect.before;
+
+ assertSame(aspect2w, aspect2r);
+ assertNotSame(aspect1w, aspect2w);
+
+ PerInstanceAspect.reset();
+ pojo1.field = 10;
+ assertSame(aspect1w, PerInstanceAspect.before);
+ }
+
+ public void testAllPerInstanceAspectsSame()
+ {
+ POJOWithPerInstanceAspects pojo = new POJOWithPerInstanceAspects();
+
+ PerInstanceAspect.reset();
+ pojo.methodWithPerInstanceAspects();
+ assertNotNull(PerInstanceAspect.before);
+ PerInstanceAspect aspect1 = PerInstanceAspect.before;
+
+ PerInstanceAspect.reset();
+ pojo.field = 10;
+ assertNotNull(PerInstanceAspect.before);
+ PerInstanceAspect aspect2 = PerInstanceAspect.before;
+
+ assertSame(aspect1, aspect2);
+
+ PerInstanceAspect.reset();
+ try
+ {
+ pojo.methodWithPerInstanceAspects(false);
+ }
+ catch (ThrownByTestException e)
+ {
+ fail("unexpected exception");
+ }
+ assertNotNull(PerInstanceAspect.before);
+ PerInstanceAspect aspect3 = PerInstanceAspect.before;
+
+ assertSame(aspect1, aspect3);
+ }
+
+ public void testPerJoinpointMethodAspects()
+ {
+ POJOWithPerJoinpointAspects pojo1 = new POJOWithPerJoinpointAspects();
+
+ PerJoinpointAspect.reset();
+ assertEquals(10, pojo1.methodA(10));
+
+ assertNotNull(PerJoinpointAspect.before);
+ assertNotNull(PerJoinpointAspect.after);
+ assertNull(PerJoinpointAspect.throwing);
+ assertNotNull(PerJoinpointAspect.finaly);
+ assertSame(PerJoinpointAspect.before, PerJoinpointAspect.after);
+ assertSame(PerJoinpointAspect.finaly, PerJoinpointAspect.after);
+ PerJoinpointAspect aspect1a = PerJoinpointAspect.before;
+
+ POJOWithPerJoinpointAspects pojo2 = new POJOWithPerJoinpointAspects();
+
+ PerJoinpointAspect.reset();
+ assertEquals(10, pojo2.methodA(10));
+
+ assertNotNull(PerJoinpointAspect.before);
+ assertNotNull(PerJoinpointAspect.after);
+ assertNull(PerJoinpointAspect.throwing);
+ assertNotNull(PerJoinpointAspect.finaly);
+ assertSame(PerJoinpointAspect.before, PerJoinpointAspect.after);
+ assertSame(PerJoinpointAspect.finaly, PerJoinpointAspect.after);
+ PerJoinpointAspect aspect2a = PerJoinpointAspect.before;
+ assertNotSame(aspect1a, aspect2a);
+
+
+ PerJoinpointAspect.reset();
+ pojo1.methodB();
+
+ assertNotNull(PerJoinpointAspect.before);
+ assertNotNull(PerJoinpointAspect.after);
+ assertNull(PerJoinpointAspect.throwing);
+ assertNotNull(PerJoinpointAspect.finaly);
+ assertSame(PerJoinpointAspect.before, PerJoinpointAspect.after);
+ assertSame(PerJoinpointAspect.finaly, PerJoinpointAspect.after);
+ PerJoinpointAspect aspect1b = PerJoinpointAspect.before;
+ assertNotSame(aspect1b, aspect1a);
+
+ PerJoinpointAspect.reset();
+ pojo2.methodB();
+
+ assertNotNull(PerJoinpointAspect.before);
+ assertNotNull(PerJoinpointAspect.after);
+ assertNull(PerJoinpointAspect.throwing);
+ assertNotNull(PerJoinpointAspect.finaly);
+ assertSame(PerJoinpointAspect.before, PerJoinpointAspect.after);
+ assertSame(PerJoinpointAspect.finaly, PerJoinpointAspect.after);
+ PerJoinpointAspect aspect2b = PerJoinpointAspect.before;
+ assertNotSame(aspect2a, aspect2b);
+ assertNotSame(aspect1b, aspect2b);
+
+ PerJoinpointAspect.reset();
+ assertEquals(100, pojo1.methodA(100));
+
+ assertNotNull(PerJoinpointAspect.before);
+ assertEquals(aspect1a, PerJoinpointAspect.before);
+
+ }
+
+ public void testPerClassjoinpointConstructorAspects()
+ {
+ PerClassJoinpointAspect.reset();
+ POJOWithPerClassJoinpointAspects pojo1 = new POJOWithPerClassJoinpointAspects();
+
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertNotNull(PerClassJoinpointAspect.after);
+ assertNull(PerClassJoinpointAspect.throwing);
+ assertNotNull(PerClassJoinpointAspect.finaly);
+ assertSame(PerClassJoinpointAspect.before, PerClassJoinpointAspect.after);
+ assertSame(PerClassJoinpointAspect.finaly, PerClassJoinpointAspect.after);
+ PerClassJoinpointAspect aspect1c = PerClassJoinpointAspect.before;
+
+ PerClassJoinpointAspect.reset();
+ POJOWithPerClassJoinpointAspects pojo2 = new POJOWithPerClassJoinpointAspects();
+
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertNotNull(PerClassJoinpointAspect.after);
+ assertNull(PerClassJoinpointAspect.throwing);
+ assertNotNull(PerClassJoinpointAspect.finaly);
+ assertSame(PerClassJoinpointAspect.before, PerClassJoinpointAspect.after);
+ assertSame(PerClassJoinpointAspect.finaly, PerClassJoinpointAspect.after);
+ PerClassJoinpointAspect aspect2c = PerClassJoinpointAspect.before;
+ assertSame(aspect1c, aspect2c);
+ }
+
+ public void testPerClassJoinpointFieldAspects()
+ {
+ PerClassJoinpointAspect.reset();
+ POJOWithPerClassJoinpointAspects pojo1 = new POJOWithPerClassJoinpointAspects();
+ PerClassJoinpointAspect ctorAspect = PerClassJoinpointAspect.before;
+ assertNotNull(ctorAspect);
+ POJOWithPerClassJoinpointAspects pojo2 = new POJOWithPerClassJoinpointAspects();
+
+ PerClassJoinpointAspect.reset();
+ pojo1.field = 10;
+
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertNotNull(PerClassJoinpointAspect.after);
+ assertNull(PerClassJoinpointAspect.throwing);
+ assertNotNull(PerClassJoinpointAspect.finaly);
+ assertSame(PerClassJoinpointAspect.before, PerClassJoinpointAspect.after);
+ assertSame(PerClassJoinpointAspect.finaly, PerClassJoinpointAspect.after);
+ PerClassJoinpointAspect aspect1fw = PerClassJoinpointAspect.before;
+
+ PerClassJoinpointAspect.reset();
+ assertEquals(10, pojo1.field );
+
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertNotNull(PerClassJoinpointAspect.after);
+ assertNull(PerClassJoinpointAspect.throwing);
+ assertNotNull(PerClassJoinpointAspect.finaly);
+ assertSame(PerClassJoinpointAspect.before, PerClassJoinpointAspect.after);
+ assertSame(PerClassJoinpointAspect.finaly, PerClassJoinpointAspect.after);
+ PerClassJoinpointAspect aspect1fr = PerClassJoinpointAspect.before;
+ assertSame(aspect1fw, aspect1fr);
+ assertNotSame(ctorAspect, aspect1fr);
+
+ PerClassJoinpointAspect.reset();
+ pojo2.field = 100;
+
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertNotNull(PerClassJoinpointAspect.after);
+ assertNull(PerClassJoinpointAspect.throwing);
+ assertNotNull(PerClassJoinpointAspect.finaly);
+ assertSame(PerClassJoinpointAspect.before, PerClassJoinpointAspect.after);
+ assertSame(PerClassJoinpointAspect.finaly, PerClassJoinpointAspect.after);
+ PerClassJoinpointAspect aspect2fw = PerClassJoinpointAspect.before;
+ assertSame(aspect1fw, aspect1fr);
+
+ PerClassJoinpointAspect.reset();
+ assertEquals(100, pojo2.field );
+
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertNotNull(PerClassJoinpointAspect.after);
+ assertNull(PerClassJoinpointAspect.throwing);
+ assertNotNull(PerClassJoinpointAspect.finaly);
+ assertSame(PerClassJoinpointAspect.before, PerClassJoinpointAspect.after);
+ assertSame(PerClassJoinpointAspect.finaly, PerClassJoinpointAspect.after);
+ PerClassJoinpointAspect aspect2fr = PerClassJoinpointAspect.before;
+ assertSame(aspect2fr, aspect2fw);
+
+ PerClassJoinpointAspect.reset();
+ pojo1.field = 1000;
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertSame(aspect1fw, PerClassJoinpointAspect.before);
+ }
+
+
+ public void testPerClassJoinpointMethodAspects()
+ {
+ PerClassJoinpointAspect.reset();
+ POJOWithPerClassJoinpointAspects pojo1 = new POJOWithPerClassJoinpointAspects();
+ PerClassJoinpointAspect ctorAspect = PerClassJoinpointAspect.before;
+ assertNotNull(ctorAspect);
+ POJOWithPerClassJoinpointAspects pojo2 = new POJOWithPerClassJoinpointAspects();
+
+ PerClassJoinpointAspect.reset();
+ pojo1.method();
+
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertNotNull(PerClassJoinpointAspect.after);
+ assertNull(PerClassJoinpointAspect.throwing);
+ assertNotNull(PerClassJoinpointAspect.finaly);
+ assertSame(PerClassJoinpointAspect.before, PerClassJoinpointAspect.after);
+ assertSame(PerClassJoinpointAspect.finaly, PerClassJoinpointAspect.after);
+ PerClassJoinpointAspect aspect1 = PerClassJoinpointAspect.before;
+
+ PerClassJoinpointAspect.reset();
+ pojo2.method();
+
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertNotNull(PerClassJoinpointAspect.after);
+ assertNull(PerClassJoinpointAspect.throwing);
+ assertNotNull(PerClassJoinpointAspect.finaly);
+ assertSame(PerClassJoinpointAspect.before, PerClassJoinpointAspect.after);
+ assertSame(PerClassJoinpointAspect.finaly, PerClassJoinpointAspect.after);
+ PerClassJoinpointAspect aspect2 = PerClassJoinpointAspect.before;
+ assertSame(aspect2, aspect1);
+
+ PerClassJoinpointAspect.reset();
+ pojo1.method();
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertEquals(aspect1, PerClassJoinpointAspect.before);
+ }
+
+ public void testPerClassJoinpointStaticMethodAndFieldAspects()
+ {
+ PerClassJoinpointAspect.reset();
+ POJOWithPerClassJoinpointAspects.staticField = 1000;
+
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertNotNull(PerClassJoinpointAspect.after);
+ assertNull(PerClassJoinpointAspect.throwing);
+ assertNotNull(PerClassJoinpointAspect.finaly);
+ assertSame(PerClassJoinpointAspect.before, PerClassJoinpointAspect.after);
+ assertSame(PerClassJoinpointAspect.finaly, PerClassJoinpointAspect.after);
+ PerClassJoinpointAspect fieldW = PerClassJoinpointAspect.after;
+
+ PerClassJoinpointAspect.reset();
+ assertEquals(1000, POJOWithPerClassJoinpointAspects.staticField);
+
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertNotNull(PerClassJoinpointAspect.after);
+ assertNull(PerClassJoinpointAspect.throwing);
+ assertNotNull(PerClassJoinpointAspect.finaly);
+ assertSame(PerClassJoinpointAspect.before, PerClassJoinpointAspect.after);
+ assertSame(PerClassJoinpointAspect.finaly, PerClassJoinpointAspect.after);
+ assertSame(fieldW, PerClassJoinpointAspect.after);
+
+ PerClassJoinpointAspect.reset();
+ POJOWithPerClassJoinpointAspects.staticMethod();
+
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertNotNull(PerClassJoinpointAspect.after);
+ assertNull(PerClassJoinpointAspect.throwing);
+ assertNotNull(PerClassJoinpointAspect.finaly);
+ assertSame(PerClassJoinpointAspect.before, PerClassJoinpointAspect.after);
+ assertSame(PerClassJoinpointAspect.finaly, PerClassJoinpointAspect.after);
+ PerClassJoinpointAspect method = PerClassJoinpointAspect.after;
+ assertNotSame(method, fieldW);
+
+ PerClassJoinpointAspect.reset();
+ POJOWithPerClassJoinpointAspects.staticMethod();
+ assertNotNull(PerClassJoinpointAspect.before);
+ assertSame(method, PerClassJoinpointAspect.before);
+ }
+
+ public void testPerClassAndPerVmConstructorAspects()
+ {
+ //Call constructors
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ POJOWithPerClassAndPerVmAspects pojo1 = new POJOWithPerClassAndPerVmAspects();
+
+ assertNotNull(PerClassAspect.before);
+ assertNotNull(PerClassAspect.after);
+ assertNull(PerClassAspect.throwing);
+ assertNotNull(PerClassAspect.finaly);
+ assertSame(PerClassAspect.before, PerClassAspect.after);
+ assertSame(PerClassAspect.finaly, PerClassAspect.after);
+ PerClassAspect pc1 = PerClassAspect.before;
+
+ assertNotNull(PerVmAspect.before);
+ assertNotNull(PerVmAspect.after);
+ assertNull(PerVmAspect.throwing);
+ assertNotNull(PerVmAspect.finaly);
+ assertSame(PerVmAspect.before, PerVmAspect.after);
+ assertSame(PerVmAspect.finaly, PerVmAspect.after);
+ PerVmAspect pv1 = PerVmAspect.before;
+
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+
+ POJOWithPerClassAndPerVmAspects pojo2 = new POJOWithPerClassAndPerVmAspects();
+
+ assertNotNull(PerClassAspect.before);
+ assertNotNull(PerClassAspect.after);
+ assertNull(PerClassAspect.throwing);
+ assertNotNull(PerClassAspect.finaly);
+ assertSame(PerClassAspect.before, PerClassAspect.after);
+ assertSame(PerClassAspect.finaly, PerClassAspect.after);
+ assertEquals(pc1, PerClassAspect.before);
+
+ assertNotNull(PerVmAspect.before);
+ assertNotNull(PerVmAspect.after);
+ assertNull(PerVmAspect.throwing);
+ assertNotNull(PerVmAspect.finaly);
+ assertSame(PerVmAspect.before, PerVmAspect.after);
+ assertSame(PerVmAspect.finaly, PerVmAspect.after);
+ assertEquals(pv1, PerVmAspect.before);
+ }
+
+ public void testPerClassAndPerVmFieldAspects()
+ {
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ POJOWithPerClassAndPerVmAspects pojo1 = new POJOWithPerClassAndPerVmAspects();
+ assertNotNull(PerClassAspect.before);
+ PerClassAspect pc1 = PerClassAspect.before;
+
+ assertNotNull(PerVmAspect.before);
+ PerVmAspect pv1 = PerVmAspect.before;
+
+ POJOWithPerClassAndPerVmAspects pojo2 = new POJOWithPerClassAndPerVmAspects();
+
+ //Call fields
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ pojo1.field = 10;
+
+ assertNotNull(PerClassAspect.before);
+ assertNotNull(PerClassAspect.after);
+ assertNull(PerClassAspect.throwing);
+ assertNotNull(PerClassAspect.finaly);
+ assertSame(PerClassAspect.before, PerClassAspect.after);
+ assertSame(PerClassAspect.finaly, PerClassAspect.after);
+ assertEquals(pc1, PerClassAspect.before);
+
+ assertNotNull(PerVmAspect.before);
+ assertNotNull(PerVmAspect.after);
+ assertNull(PerVmAspect.throwing);
+ assertNotNull(PerVmAspect.finaly);
+ assertSame(PerVmAspect.before, PerVmAspect.after);
+ assertSame(PerVmAspect.finaly, PerVmAspect.after);
+ assertEquals(pv1, PerVmAspect.before);
+
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ assertEquals(10, pojo1.field);
+
+ assertNotNull(PerClassAspect.before);
+ assertNotNull(PerClassAspect.after);
+ assertNull(PerClassAspect.throwing);
+ assertNotNull(PerClassAspect.finaly);
+ assertSame(PerClassAspect.before, PerClassAspect.after);
+ assertSame(PerClassAspect.finaly, PerClassAspect.after);
+ assertEquals(pc1, PerClassAspect.before);
+
+ assertNotNull(PerVmAspect.before);
+ assertNotNull(PerVmAspect.after);
+ assertNull(PerVmAspect.throwing);
+ assertNotNull(PerVmAspect.finaly);
+ assertSame(PerVmAspect.before, PerVmAspect.after);
+ assertSame(PerVmAspect.finaly, PerVmAspect.after);
+ assertEquals(pv1, PerVmAspect.before);
+
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ pojo2.field = 100;
+
+ assertNotNull(PerClassAspect.before);
+ assertNotNull(PerClassAspect.after);
+ assertNull(PerClassAspect.throwing);
+ assertNotNull(PerClassAspect.finaly);
+ assertSame(PerClassAspect.before, PerClassAspect.after);
+ assertSame(PerClassAspect.finaly, PerClassAspect.after);
+ assertEquals(pc1, PerClassAspect.before);
+
+ assertNotNull(PerVmAspect.before);
+ assertNotNull(PerVmAspect.after);
+ assertNull(PerVmAspect.throwing);
+ assertNotNull(PerVmAspect.finaly);
+ assertSame(PerVmAspect.before, PerVmAspect.after);
+ assertSame(PerVmAspect.finaly, PerVmAspect.after);
+ assertEquals(pv1, PerVmAspect.before);
+
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ assertEquals(100, pojo2.field);
+
+ assertNotNull(PerClassAspect.before);
+ assertNotNull(PerClassAspect.after);
+ assertNull(PerClassAspect.throwing);
+ assertNotNull(PerClassAspect.finaly);
+ assertSame(PerClassAspect.before, PerClassAspect.after);
+ assertSame(PerClassAspect.finaly, PerClassAspect.after);
+ assertEquals(pc1, PerClassAspect.before);
+
+ assertNotNull(PerVmAspect.before);
+ assertNotNull(PerVmAspect.after);
+ assertNull(PerVmAspect.throwing);
+ assertNotNull(PerVmAspect.finaly);
+ assertSame(PerVmAspect.before, PerVmAspect.after);
+ assertSame(PerVmAspect.finaly, PerVmAspect.after);
+ assertEquals(pv1, PerVmAspect.before);
+ }
+
+ public void testPerClassAndPerVmMethodAspects()
+ {
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ POJOWithPerClassAndPerVmAspects pojo1 = new POJOWithPerClassAndPerVmAspects();
+ assertNotNull(PerClassAspect.before);
+ PerClassAspect pc1 = PerClassAspect.before;
+
+ assertNotNull(PerVmAspect.before);
+ PerVmAspect pv1 = PerVmAspect.before;
+
+ POJOWithPerClassAndPerVmAspects pojo2 = new POJOWithPerClassAndPerVmAspects();
+
+ //Call fields
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ assertEquals(10, pojo1.method(10));
+
+ assertNotNull(PerClassAspect.before);
+ assertNotNull(PerClassAspect.after);
+ assertNull(PerClassAspect.throwing);
+ assertNotNull(PerClassAspect.finaly);
+ assertSame(PerClassAspect.before, PerClassAspect.after);
+ assertSame(PerClassAspect.finaly, PerClassAspect.after);
+ assertEquals(pc1, PerClassAspect.before);
+
+ assertNotNull(PerVmAspect.before);
+ assertNotNull(PerVmAspect.after);
+ assertNull(PerVmAspect.throwing);
+ assertNotNull(PerVmAspect.finaly);
+ assertSame(PerVmAspect.before, PerVmAspect.after);
+ assertSame(PerVmAspect.finaly, PerVmAspect.after);
+ assertEquals(pv1, PerVmAspect.before);
+
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ assertEquals(100, pojo2.method(100));
+
+ assertNotNull(PerClassAspect.before);
+ assertNotNull(PerClassAspect.after);
+ assertNull(PerClassAspect.throwing);
+ assertNotNull(PerClassAspect.finaly);
+ assertSame(PerClassAspect.before, PerClassAspect.after);
+ assertSame(PerClassAspect.finaly, PerClassAspect.after);
+ assertEquals(pc1, PerClassAspect.before);
+
+ assertNotNull(PerVmAspect.before);
+ assertNotNull(PerVmAspect.after);
+ assertNull(PerVmAspect.throwing);
+ assertNotNull(PerVmAspect.finaly);
+ assertSame(PerVmAspect.before, PerVmAspect.after);
+ assertSame(PerVmAspect.finaly, PerVmAspect.after);
+ assertEquals(pv1, PerVmAspect.before);
+
+ }
+
+
+ public void testPerClassAndPerVmStaticFieldAspects()
+ {
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+
+ //Call fields
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ POJOWithPerClassAndPerVmAspects.staticField = 10;
+
+ assertNotNull(PerClassAspect.before);
+ assertNotNull(PerClassAspect.after);
+ assertNull(PerClassAspect.throwing);
+ assertNotNull(PerClassAspect.finaly);
+ assertSame(PerClassAspect.before, PerClassAspect.after);
+ assertSame(PerClassAspect.finaly, PerClassAspect.after);
+ PerClassAspect pc1 = PerClassAspect.before;
+
+ assertNotNull(PerVmAspect.before);
+ assertNotNull(PerVmAspect.after);
+ assertNull(PerVmAspect.throwing);
+ assertNotNull(PerVmAspect.finaly);
+ assertSame(PerVmAspect.before, PerVmAspect.after);
+ assertSame(PerVmAspect.finaly, PerVmAspect.after);
+ PerVmAspect pv1 = PerVmAspect.before;
+
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ assertEquals(10, POJOWithPerClassAndPerVmAspects.staticField);
+
+ assertNotNull(PerClassAspect.before);
+ assertNotNull(PerClassAspect.after);
+ assertNull(PerClassAspect.throwing);
+ assertNotNull(PerClassAspect.finaly);
+ assertSame(PerClassAspect.before, PerClassAspect.after);
+ assertSame(PerClassAspect.finaly, PerClassAspect.after);
+ assertEquals(pc1, PerClassAspect.before);
+
+ assertNotNull(PerVmAspect.before);
+ assertNotNull(PerVmAspect.after);
+ assertNull(PerVmAspect.throwing);
+ assertNotNull(PerVmAspect.finaly);
+ assertSame(PerVmAspect.before, PerVmAspect.after);
+ assertSame(PerVmAspect.finaly, PerVmAspect.after);
+ assertEquals(pv1, PerVmAspect.before);
+
+ //Call fields
+ PerVmAspect.reset();
+ PerClassAspect.reset();
+ assertEquals(10, POJOWithPerClassAndPerVmAspects.staticMethod(10));
+
+ assertNotNull(PerClassAspect.before);
+ assertNotNull(PerClassAspect.after);
+ assertNull(PerClassAspect.throwing);
+ assertNotNull(PerClassAspect.finaly);
+ assertSame(PerClassAspect.before, PerClassAspect.after);
+ assertSame(PerClassAspect.finaly, PerClassAspect.after);
+ assertEquals(pc1, PerClassAspect.before);
+
+ assertNotNull(PerVmAspect.before);
+ assertNotNull(PerVmAspect.after);
+ assertNull(PerVmAspect.throwing);
+ assertNotNull(PerVmAspect.finaly);
+ assertSame(PerVmAspect.before, PerVmAspect.after);
+ assertSame(PerVmAspect.finaly, PerVmAspect.after);
+ assertEquals(pv1, PerVmAspect.before);
+ }
+
+
+ //PER_INSTANCE with contructors, static fields and methods should be ignored
+ //PER_JOINPOINT should be ignored for ctors, and act like PER_CLASS_JOINPOINT for static fields and methods
}
Deleted: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJO.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJO.java 2007-06-20 07:29:47 UTC (rev 63577)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJO.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -1,39 +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.test.aop.beforeafterthrowingscoped;
-
-/**
- *
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class POJO
-{
- public void methodWithPerInstanceAspects(boolean error) throws ThrownByTestException
- {
- if (error)
- {
- throw new ThrownByTestException();
- }
- }
-
-}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOA.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOA.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOA.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -0,0 +1,32 @@
+/*
+* 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.test.aop.beforeafterthrowingscoped;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class POJOA
+{
+
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOB.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOB.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOB.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -0,0 +1,32 @@
+/*
+* 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.test.aop.beforeafterthrowingscoped;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class POJOB
+{
+
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerClassAndPerVmAspects.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerClassAndPerVmAspects.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerClassAndPerVmAspects.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -0,0 +1,43 @@
+/*
+* 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.test.aop.beforeafterthrowingscoped;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class POJOWithPerClassAndPerVmAspects
+{
+ public int field;
+ public static int staticField;
+
+ public int method(int i)
+ {
+ return i;
+ }
+
+ public static int staticMethod(int i)
+ {
+ return i;
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerClassJoinpointAspects.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerClassJoinpointAspects.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerClassJoinpointAspects.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -0,0 +1,43 @@
+/*
+* 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.test.aop.beforeafterthrowingscoped;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class POJOWithPerClassJoinpointAspects
+{
+ public int field;
+ public static int staticField;
+
+ public void method()
+ {
+
+ }
+
+ public static void staticMethod()
+ {
+
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerInstanceAspects.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerInstanceAspects.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerInstanceAspects.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -0,0 +1,45 @@
+/*
+* 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.test.aop.beforeafterthrowingscoped;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class POJOWithPerInstanceAspects
+{
+ public int field;
+
+ public void methodWithPerInstanceAspects(boolean error) throws ThrownByTestException
+ {
+ if (error)
+ {
+ throw new ThrownByTestException();
+ }
+ }
+
+ public int methodWithPerInstanceAspects()
+ {
+ return 10;
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerJoinpointAspects.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerJoinpointAspects.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/POJOWithPerJoinpointAspects.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -0,0 +1,41 @@
+/*
+* 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.test.aop.beforeafterthrowingscoped;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class POJOWithPerJoinpointAspects
+{
+ public int fieldA;
+ public int fieldB;
+
+ public int methodA(int i)
+ {
+ return i;
+ }
+ public void methodB()
+ {
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerClassAspect.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerClassAspect.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerClassAspect.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -0,0 +1,65 @@
+/*
+* 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.test.aop.beforeafterthrowingscoped;
+
+import org.jboss.aop.advice.annotation.Thrown;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class PerClassAspect
+{
+ public static PerClassAspect before;
+ public static PerClassAspect after;
+ public static PerClassAspect throwing;
+ public static PerClassAspect finaly;
+
+ public void before()
+ {
+ before = this;
+ }
+
+ public void after()
+ {
+ after = this;
+ }
+
+ public void throwing(@Thrown Throwable e)
+ {
+ throwing = this;
+ }
+
+ public void finaly()
+ {
+ finaly = this;
+ }
+
+ public static void reset()
+ {
+ before = null;
+ after = null;
+ throwing = null;
+ finaly = null;
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerClassJoinpointAspect.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerClassJoinpointAspect.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerClassJoinpointAspect.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -0,0 +1,65 @@
+/*
+* 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.test.aop.beforeafterthrowingscoped;
+
+import org.jboss.aop.advice.annotation.Thrown;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class PerClassJoinpointAspect
+{
+ public static PerClassJoinpointAspect before;
+ public static PerClassJoinpointAspect after;
+ public static PerClassJoinpointAspect throwing;
+ public static PerClassJoinpointAspect finaly;
+
+ public void before()
+ {
+ before = this;
+ }
+
+ public void after()
+ {
+ after = this;
+ }
+
+ public void throwing(@Thrown Throwable e)
+ {
+ throwing = this;
+ }
+
+ public void finaly()
+ {
+ finaly = this;
+ }
+
+ public static void reset()
+ {
+ before = null;
+ after = null;
+ throwing = null;
+ finaly = null;
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerJoinpointAspect.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerJoinpointAspect.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerJoinpointAspect.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -0,0 +1,65 @@
+/*
+* 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.test.aop.beforeafterthrowingscoped;
+
+import org.jboss.aop.advice.annotation.Thrown;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class PerJoinpointAspect
+{
+ public static PerJoinpointAspect before;
+ public static PerJoinpointAspect after;
+ public static PerJoinpointAspect throwing;
+ public static PerJoinpointAspect finaly;
+
+ public void before()
+ {
+ before = this;
+ }
+
+ public void after()
+ {
+ after = this;
+ }
+
+ public void throwing(@Thrown Throwable e)
+ {
+ throwing = this;
+ }
+
+ public void finaly()
+ {
+ finaly = this;
+ }
+
+ public static void reset()
+ {
+ before = null;
+ after = null;
+ throwing = null;
+ finaly = null;
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerVmAspect.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerVmAspect.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterthrowingscoped/PerVmAspect.java 2007-06-20 11:53:47 UTC (rev 63578)
@@ -0,0 +1,65 @@
+/*
+* 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.test.aop.beforeafterthrowingscoped;
+
+import org.jboss.aop.advice.annotation.Thrown;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class PerVmAspect
+{
+ public static PerVmAspect before;
+ public static PerVmAspect after;
+ public static PerVmAspect throwing;
+ public static PerVmAspect finaly;
+
+ public void before()
+ {
+ before = this;
+ }
+
+ public void after()
+ {
+ after = this;
+ }
+
+ public void throwing(@Thrown Throwable e)
+ {
+ throwing = this;
+ }
+
+ public void finaly()
+ {
+ finaly = this;
+ }
+
+ public static void reset()
+ {
+ before = null;
+ after = null;
+ throwing = null;
+ finaly = null;
+ }
+}
More information about the jboss-cvs-commits
mailing list