summaryrefslogtreecommitdiffstats
path: root/tests/java5/ataspectj
diff options
context:
space:
mode:
Diffstat (limited to 'tests/java5/ataspectj')
-rw-r--r--tests/java5/ataspectj/Aspect.aj5
-rw-r--r--tests/java5/ataspectj/HelloWorld.java7
-rw-r--r--tests/java5/ataspectj/MessageHandler.java27
-rw-r--r--tests/java5/ataspectj/ajc-ant.xml19
-rw-r--r--tests/java5/ataspectj/aop-messagehandler.xml3
5 files changed, 61 insertions, 0 deletions
diff --git a/tests/java5/ataspectj/Aspect.aj b/tests/java5/ataspectj/Aspect.aj
new file mode 100644
index 000000000..03a4403a3
--- /dev/null
+++ b/tests/java5/ataspectj/Aspect.aj
@@ -0,0 +1,5 @@
+public aspect Aspect {
+ before () : execution(public static void main(String[])) {
+ System.out.println(thisJoinPoint);
+ }
+} \ No newline at end of file
diff --git a/tests/java5/ataspectj/HelloWorld.java b/tests/java5/ataspectj/HelloWorld.java
new file mode 100644
index 000000000..58cd14253
--- /dev/null
+++ b/tests/java5/ataspectj/HelloWorld.java
@@ -0,0 +1,7 @@
+public class HelloWorld {
+
+ public static void main (String[] args) {
+ System.out.println("Hello World!");
+ }
+
+} \ No newline at end of file
diff --git a/tests/java5/ataspectj/MessageHandler.java b/tests/java5/ataspectj/MessageHandler.java
new file mode 100644
index 000000000..111b32fc0
--- /dev/null
+++ b/tests/java5/ataspectj/MessageHandler.java
@@ -0,0 +1,27 @@
+import org.aspectj.bridge.AbortException;
+import org.aspectj.bridge.IMessage;
+import org.aspectj.bridge.IMessageHandler;
+import org.aspectj.bridge.IMessage.Kind;
+
+public class MessageHandler implements IMessageHandler {
+
+ public boolean handleMessage(IMessage message) throws AbortException {
+ System.out.println(message);
+ if (message.getKind() == IMessage.ERROR) {
+ System.exit(-1);
+ }
+ else if (message.getKind() == IMessage.ABORT) {
+ throw new AbortException(message.toString());
+ }
+ return true;
+ }
+
+ public boolean isIgnoring(IMessage.Kind kind) {
+ return false;
+ }
+
+ public void dontIgnore(IMessage.Kind kind) {
+
+ }
+
+} \ No newline at end of file
diff --git a/tests/java5/ataspectj/ajc-ant.xml b/tests/java5/ataspectj/ajc-ant.xml
index 695e8ac07..8dccebac7 100644
--- a/tests/java5/ataspectj/ajc-ant.xml
+++ b/tests/java5/ataspectj/ajc-ant.xml
@@ -221,4 +221,23 @@
</java>
</target>
+ <target name="Duplicate JVMTI agents">
+ <copy file="${aj.root}/tests/java5/ataspectj/aop-messagehandler.xml"
+ tofile="${aj.sandbox}/META-INF/aop.xml"/>
+ <java fork="yes" classname="HelloWorld" failonerror="yes">
+ <classpath refid="aj.path"/>
+ <!-- use META-INF/aop.xml style -->
+ <classpath>
+ <pathelement path="${aj.sandbox}/aspects.jar"/>
+ </classpath>
+ <jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/>
+<!--
+-->
+ <jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/>
+ <jvmarg value="-Daj.weaving.verbose=true"/>
+ <jvmarg value="-Djava.util.logging.config.file=${aj.root}/weaver5/testdata/logging.properties"/>
+<!-- <jvmarg line="${jdwp}"/>-->
+ </java>
+ </target>
+
</project> \ No newline at end of file
diff --git a/tests/java5/ataspectj/aop-messagehandler.xml b/tests/java5/ataspectj/aop-messagehandler.xml
new file mode 100644
index 000000000..9d7c34be0
--- /dev/null
+++ b/tests/java5/ataspectj/aop-messagehandler.xml
@@ -0,0 +1,3 @@
+<aspectj>
+ <weaver options="-XmessageHandlerClass:MessageHandler"/>
+</aspectj> \ No newline at end of file