You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2008/08/06 20:55:39 UTC
svn commit: r683368 - in /tuscany/java/sca/modules/tracing-aspectj: ./
src/main/java/org/apache/tuscany/sca/aspectj/ src/main/resources/
src/main/resources/META-INF/ src/test/java/org/apache/tuscany/sca/aspectj/
src/test/resources/META-INF/
Author: rfeng
Date: Wed Aug 6 11:55:38 2008
New Revision: 683368
URL: http://svn.apache.org/viewvc?rev=683368&view=rev
Log:
Add an aspectj-based tracing capability to trace tuscany code
Added:
tuscany/java/sca/modules/tracing-aspectj/ (props changed)
- copied from r670759, tuscany/sandbox/rfeng/aop-logging/
tuscany/java/sca/modules/tracing-aspectj/launcher.bat (contents, props changed)
- copied, changed from r670759, tuscany/sandbox/rfeng/aop-logging/test.bat
tuscany/java/sca/modules/tracing-aspectj/pom.xml
- copied, changed from r683127, tuscany/sandbox/rfeng/aop-logging/pom.xml
tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java (contents, props changed)
- copied, changed from r670759, tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java
tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java
- copied unchanged from r683317, tuscany/sandbox/rfeng/aop-logging/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java
tuscany/java/sca/modules/tracing-aspectj/src/main/resources/
tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/ (props changed)
- copied from r670759, tuscany/sandbox/rfeng/aop-logging/src/test/resources/META-INF/
tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/aop.xml
- copied, changed from r683143, tuscany/sandbox/rfeng/aop-logging/src/test/resources/META-INF/aop.xml
tuscany/java/sca/modules/tracing-aspectj/src/test/java/org/apache/tuscany/sca/aspectj/TracingTestCase.java
- copied unchanged from r683131, tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/TracingTestCase.java
Removed:
tuscany/java/sca/modules/tracing-aspectj/.checkstyle
tuscany/java/sca/modules/tracing-aspectj/.pmd
tuscany/java/sca/modules/tracing-aspectj/.ruleset
tuscany/java/sca/modules/tracing-aspectj/LICENSE.txt
tuscany/java/sca/modules/tracing-aspectj/NOTICE.txt
tuscany/java/sca/modules/tracing-aspectj/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java
tuscany/java/sca/modules/tracing-aspectj/src/test/resources/META-INF/
tuscany/java/sca/modules/tracing-aspectj/test.bat
Propchange: tuscany/java/sca/modules/tracing-aspectj/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Aug 6 11:55:38 2008
@@ -0,0 +1,11 @@
+target
+*.iws
+*.ipr
+*.iml
+*.log*
+.project
+.classpath
+junit*.properties
+.settings
+.deployables
+.wtpmodules
Propchange: tuscany/java/sca/modules/tracing-aspectj/
------------------------------------------------------------------------------
svn:mergeinfo =
Copied: tuscany/java/sca/modules/tracing-aspectj/launcher.bat (from r670759, tuscany/sandbox/rfeng/aop-logging/test.bat)
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/tracing-aspectj/launcher.bat?p2=tuscany/java/sca/modules/tracing-aspectj/launcher.bat&p1=tuscany/sandbox/rfeng/aop-logging/test.bat&r1=670759&r2=683368&rev=683368&view=diff
==============================================================================
--- tuscany/sandbox/rfeng/aop-logging/test.bat (original)
+++ tuscany/java/sca/modules/tracing-aspectj/launcher.bat Wed Aug 6 11:55:38 2008
@@ -1,3 +1,5 @@
@echo off
-set ASPECTJ_HOME=c:\aspectj1.5
-call %ASPECTJ_HOME%\bin\aj5.bat -cp target\classes;target\test-classes org.apache.tuscany.sca.aspectj.TracingTestCase
\ No newline at end of file
+set TUSCANY_HOME=C:\Apache\tuscany-sca-1.3
+set ASPECTJ_WEAVER=%HOMEPATH%\.m2\repository\org\aspectj\aspectjweaver\1.6.1\aspectjweaver-1.6.1.jar
+set CP=%ASPECTJ_WEAVER%;%TUSCANY_HOME%\lib\tuscany-sca-manifest.jar;%TUSCANY_HOME%\samples\calculator\target\sample-calculator.jar
+java -javaagent:"%ASPECTJ_WEAVER%" -cp "%CP%;target\classes" calculator.CalculatorClient
\ No newline at end of file
Propchange: tuscany/java/sca/modules/tracing-aspectj/launcher.bat
------------------------------------------------------------------------------
svn:mergeinfo =
Copied: tuscany/java/sca/modules/tracing-aspectj/pom.xml (from r683127, tuscany/sandbox/rfeng/aop-logging/pom.xml)
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/tracing-aspectj/pom.xml?p2=tuscany/java/sca/modules/tracing-aspectj/pom.xml&p1=tuscany/sandbox/rfeng/aop-logging/pom.xml&r1=683127&r2=683368&rev=683368&view=diff
==============================================================================
--- tuscany/sandbox/rfeng/aop-logging/pom.xml (original)
+++ tuscany/java/sca/modules/tracing-aspectj/pom.xml Wed Aug 6 11:55:38 2008
@@ -23,13 +23,10 @@
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-modules</artifactId>
<version>1.4-SNAPSHOT</version>
-<!--
<relativePath>../pom.xml</relativePath>
--->
</parent>
- <artifactId>tuscany-aop-logging</artifactId>
+ <artifactId>tuscany-tracing-aspectj</artifactId>
<name>Apache Tuscany AOP-based Logging and Tracing</name>
-
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
@@ -37,8 +34,8 @@
<version>1.6.1</version>
</dependency>
<dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>aspectjlib</artifactId>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjlib</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
@@ -48,51 +45,24 @@
<scope>test</scope>
</dependency>
</dependencies>
-
<build>
<plugins>
- <!-- surefire plugin configuration -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>LATEST</version>
- <configuration>
- <includes>
- <include>**/*TestCase.java</include>
- </includes>
- <reportFormat>brief</reportFormat>
- <useFile>false</useFile>
- <forkMode>once</forkMode>
- <!-- I hit a bug in maven-surefire-plugin
- http://jira.codehaus.org/browse/SUREFIRE-128 -->
- <!--
- <argLine>-ea -Xmx128m -javaagent:"${settings.localRepository}/aspectj/aspectjweaver/1.6.1/aspectjweaver-1.6.1.jar"</argLine>
- -->
- </configuration>
- </plugin>
+ <!-- surefire plugin configuration -->
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>aspectj-maven-plugin</artifactId>
- <version>1.0</version>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>LATEST</version>
<configuration>
- <complianceLevel>1.5</complianceLevel>
- <!--
<includes>
- <include>**/*Aspect.java</include>
+ <include>**/*TestCase.java</include>
</includes>
- -->
+ <reportFormat>brief</reportFormat>
+ <useFile>false</useFile>
+ <forkMode>once</forkMode>
+ <!-- I hit a bug in maven-surefire-plugin
+ http://jira.codehaus.org/browse/SUREFIRE-128 -->
+ <argLine>-ea -Xmx128m -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/1.6.1/aspectjweaver-1.6.1.jar"</argLine>
</configuration>
-
- <executions>
- <execution>
- <goals>
- <!-- use this goal to weave all your main classes -->
- <goal>compile</goal>
- <!-- use this goal to weave all your test classes -->
- <goal>test-compile</goal>
- </goals>
- </execution>
- </executions>
</plugin>
</plugins>
</build>
Copied: tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java (from r670759, tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java)
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java?p2=tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java&p1=tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java&r1=670759&r2=683368&rev=683368&view=diff
==============================================================================
--- tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java (original)
+++ tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java Wed Aug 6 11:55:38 2008
@@ -19,7 +19,9 @@
package org.apache.tuscany.sca.aspectj;
-import org.aspectj.lang.JoinPoint.StaticPart;
+import java.util.Arrays;
+
+import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
@@ -27,9 +29,9 @@
* @version $Rev$ $Date$
*/
@Aspect
-public class MyTracingAspect extends TracingAspect {
+public class SimpleTracingAspect extends TracingAspect {
- public MyTracingAspect() {
+ public SimpleTracingAspect() {
super();
}
@@ -38,18 +40,38 @@
System.out.println("completeLog()");
}
- @Pointcut("execution(* org.apache.tuscany.sca.aspectj.TracingTestCase.testAOP(..))")
+ @Pointcut("execution(public * org.apache.tuscany.sca..*.*(..)) &&!within(java..*)")
protected void entry() {
}
+ @Pointcut("within(org.apache.tuscany.sca..*) && !within(org.apache.tuscany.sca.aspectj.*Aspect)")
+ protected void withinScope() {
+ }
+
@Override
- protected void logEnter(StaticPart jp) {
+ protected void logEnter(JoinPoint jp) {
System.out.println("> " + jp.getSignature());
+ if (jp.getArgs().length != 0) {
+ System.out.println("Input: " + Arrays.asList(jp.getArgs()));
+ }
+ }
+
+ @Override
+ protected void logExit(JoinPoint jp) {
+ // System.out.println("> " + jp.getSignature());
+ }
+
+ @Override
+ protected void logException(JoinPoint jp, Throwable throwable) {
+ System.out.println("! " + jp.getSignature() + " " + throwable.getMessage());
}
@Override
- protected void logExit(StaticPart jp) {
+ protected void logExit(JoinPoint jp, Object result) {
System.out.println("< " + jp.getSignature());
+ if (!jp.getSignature().toString().startsWith("void ")) {
+ System.out.println("Output: " + result);
+ }
}
@Override
Propchange: tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/
------------------------------------------------------------------------------
svn:mergeinfo =
Copied: tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/aop.xml (from r683143, tuscany/sandbox/rfeng/aop-logging/src/test/resources/META-INF/aop.xml)
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/aop.xml?p2=tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/aop.xml&p1=tuscany/sandbox/rfeng/aop-logging/src/test/resources/META-INF/aop.xml&r1=683143&r2=683368&rev=683368&view=diff
==============================================================================
--- tuscany/sandbox/rfeng/aop-logging/src/test/resources/META-INF/aop.xml (original)
+++ tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/aop.xml Wed Aug 6 11:55:38 2008
@@ -2,7 +2,7 @@
<aspects>
<!-- declare two existing aspects to the weaver -->
- <aspect name="org.apache.tuscany.sca.aspectj.MyTracingAspect" />
+ <aspect name="org.apache.tuscany.sca.aspectj.SimpleTracingAspect" />
<!--
<aspect name="org.apache.tuscany.sca.aspectj.LoggingAspect" />
-->
Aspectj-based tracing for Tuscany, was: Re: svn commit: r683368
Posted by Raymond Feng <en...@gmail.com>.
Hi,
I added a module "tuscany-tracing-aspectj" in trunk to demonstrate a
non-invasive tracing method for tuscany code based on AspectJ. Basically,
there is a tracing aspect developed as a regular java class with AspectJ
annotations to describe the AOP pointcuts and advices. The aspect can be
weaved at compile time (maven apsectj plugin) or load time (using JSE 1.5's
javaagent mechanism).
The maven-surefire-plugin is configured to enable the load-time weaving. And
there is also a launcher.bat to show to how invoke the Calulator sample with
tracing enabled.
There are a few issues to be figured out, for example, how to exclude the
methods call to java.* classes. For those who are interested in AOP, please
jump in to help.
Thanks,
Raymond
--------------------------------------------------
From: <rf...@apache.org>
Sent: Wednesday, August 06, 2008 11:55 AM
To: <co...@tuscany.apache.org>
Subject: svn commit: r683368 - in /tuscany/java/sca/modules/tracing-aspectj:
./ src/main/java/org/apache/tuscany/sca/aspectj/ src/main/resources/
src/main/resources/META-INF/ src/test/java/org/apache/tuscany/sca/aspectj/
src/test/resources/META-INF/
> Author: rfeng
> Date: Wed Aug 6 11:55:38 2008
> New Revision: 683368
>
> URL: http://svn.apache.org/viewvc?rev=683368&view=rev
> Log:
> Add an aspectj-based tracing capability to trace tuscany code
>
> Added:
> tuscany/java/sca/modules/tracing-aspectj/ (props changed)
> - copied from r670759, tuscany/sandbox/rfeng/aop-logging/
> tuscany/java/sca/modules/tracing-aspectj/launcher.bat (contents,
> props changed)
> - copied, changed from r670759,
> tuscany/sandbox/rfeng/aop-logging/test.bat
> tuscany/java/sca/modules/tracing-aspectj/pom.xml
> - copied, changed from r683127,
> tuscany/sandbox/rfeng/aop-logging/pom.xml
>
> tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java
> (contents, props changed)
> - copied, changed from r670759,
> tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java
>
> tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java
> - copied unchanged from r683317,
> tuscany/sandbox/rfeng/aop-logging/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java
> tuscany/java/sca/modules/tracing-aspectj/src/main/resources/
> tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/
> (props changed)
> - copied from r670759,
> tuscany/sandbox/rfeng/aop-logging/src/test/resources/META-INF/
>
> tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/aop.xml
> - copied, changed from r683143,
> tuscany/sandbox/rfeng/aop-logging/src/test/resources/META-INF/aop.xml
>
> tuscany/java/sca/modules/tracing-aspectj/src/test/java/org/apache/tuscany/sca/aspectj/TracingTestCase.java
> - copied unchanged from r683131,
> tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/TracingTestCase.java
> Removed:
> tuscany/java/sca/modules/tracing-aspectj/.checkstyle
> tuscany/java/sca/modules/tracing-aspectj/.pmd
> tuscany/java/sca/modules/tracing-aspectj/.ruleset
> tuscany/java/sca/modules/tracing-aspectj/LICENSE.txt
> tuscany/java/sca/modules/tracing-aspectj/NOTICE.txt
>
> tuscany/java/sca/modules/tracing-aspectj/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java
> tuscany/java/sca/modules/tracing-aspectj/src/test/resources/META-INF/
> tuscany/java/sca/modules/tracing-aspectj/test.bat
>
> Propchange: tuscany/java/sca/modules/tracing-aspectj/
> ------------------------------------------------------------------------------
> --- svn:ignore (added)
> +++ svn:ignore Wed Aug 6 11:55:38 2008
> @@ -0,0 +1,11 @@
> +target
> +*.iws
> +*.ipr
> +*.iml
> +*.log*
> +.project
> +.classpath
> +junit*.properties
> +.settings
> +.deployables
> +.wtpmodules
>
> Propchange: tuscany/java/sca/modules/tracing-aspectj/
> ------------------------------------------------------------------------------
> svn:mergeinfo =
>
> Copied: tuscany/java/sca/modules/tracing-aspectj/launcher.bat (from
> r670759, tuscany/sandbox/rfeng/aop-logging/test.bat)
> URL:
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/tracing-aspectj/launcher.bat?p2=tuscany/java/sca/modules/tracing-aspectj/launcher.bat&p1=tuscany/sandbox/rfeng/aop-logging/test.bat&r1=670759&r2=683368&rev=683368&view=diff
> ==============================================================================
> --- tuscany/sandbox/rfeng/aop-logging/test.bat (original)
> +++ tuscany/java/sca/modules/tracing-aspectj/launcher.bat Wed Aug 6
> 11:55:38 2008
> @@ -1,3 +1,5 @@
> @echo off
> -set ASPECTJ_HOME=c:\aspectj1.5
> -call %ASPECTJ_HOME%\bin\aj5.bat -cp target\classes;target\test-classes
> org.apache.tuscany.sca.aspectj.TracingTestCase
> \ No newline at end of file
> +set TUSCANY_HOME=C:\Apache\tuscany-sca-1.3
> +set
> ASPECTJ_WEAVER=%HOMEPATH%\.m2\repository\org\aspectj\aspectjweaver\1.6.1\aspectjweaver-1.6.1.jar
> +set
> CP=%ASPECTJ_WEAVER%;%TUSCANY_HOME%\lib\tuscany-sca-manifest.jar;%TUSCANY_HOME%\samples\calculator\target\sample-calculator.jar
> +java -javaagent:"%ASPECTJ_WEAVER%" -cp "%CP%;target\classes"
> calculator.CalculatorClient
> \ No newline at end of file
>
> Propchange: tuscany/java/sca/modules/tracing-aspectj/launcher.bat
> ------------------------------------------------------------------------------
> svn:mergeinfo =
>
> Copied: tuscany/java/sca/modules/tracing-aspectj/pom.xml (from r683127,
> tuscany/sandbox/rfeng/aop-logging/pom.xml)
> URL:
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/tracing-aspectj/pom.xml?p2=tuscany/java/sca/modules/tracing-aspectj/pom.xml&p1=tuscany/sandbox/rfeng/aop-logging/pom.xml&r1=683127&r2=683368&rev=683368&view=diff
> ==============================================================================
> --- tuscany/sandbox/rfeng/aop-logging/pom.xml (original)
> +++ tuscany/java/sca/modules/tracing-aspectj/pom.xml Wed Aug 6 11:55:38
> 2008
> @@ -23,13 +23,10 @@
> <groupId>org.apache.tuscany.sca</groupId>
> <artifactId>tuscany-modules</artifactId>
> <version>1.4-SNAPSHOT</version>
> -<!--
> <relativePath>../pom.xml</relativePath>
> --->
> </parent>
> - <artifactId>tuscany-aop-logging</artifactId>
> + <artifactId>tuscany-tracing-aspectj</artifactId>
> <name>Apache Tuscany AOP-based Logging and Tracing</name>
> -
> <dependencies>
> <dependency>
> <groupId>org.aspectj</groupId>
> @@ -37,8 +34,8 @@
> <version>1.6.1</version>
> </dependency>
> <dependency>
> - <groupId>org.aspectj</groupId>
> - <artifactId>aspectjlib</artifactId>
> + <groupId>org.aspectj</groupId>
> + <artifactId>aspectjlib</artifactId>
> <version>1.6.1</version>
> </dependency>
> <dependency>
> @@ -48,51 +45,24 @@
> <scope>test</scope>
> </dependency>
> </dependencies>
> -
> <build>
> <plugins>
> - <!-- surefire plugin configuration -->
> - <plugin>
> - <groupId>org.apache.maven.plugins</groupId>
> - <artifactId>maven-surefire-plugin</artifactId>
> - <version>LATEST</version>
> - <configuration>
> - <includes>
> - <include>**/*TestCase.java</include>
> - </includes>
> - <reportFormat>brief</reportFormat>
> - <useFile>false</useFile>
> - <forkMode>once</forkMode>
> - <!-- I hit a bug in maven-surefire-plugin
> - http://jira.codehaus.org/browse/SUREFIRE-128 -->
> - <!--
> -
> <argLine>-ea -Xmx128m -javaagent:"${settings.localRepository}/aspectj/aspectjweaver/1.6.1/aspectjweaver-1.6.1.jar"</argLine>
> - -->
> - </configuration>
> - </plugin>
> + <!-- surefire plugin configuration -->
> <plugin>
> - <groupId>org.codehaus.mojo</groupId>
> - <artifactId>aspectj-maven-plugin</artifactId>
> - <version>1.0</version>
> + <groupId>org.apache.maven.plugins</groupId>
> + <artifactId>maven-surefire-plugin</artifactId>
> + <version>LATEST</version>
> <configuration>
> - <complianceLevel>1.5</complianceLevel>
> - <!--
> <includes>
> - <include>**/*Aspect.java</include>
> + <include>**/*TestCase.java</include>
> </includes>
> - -->
> + <reportFormat>brief</reportFormat>
> + <useFile>false</useFile>
> + <forkMode>once</forkMode>
> + <!-- I hit a bug in maven-surefire-plugin
> + http://jira.codehaus.org/browse/SUREFIRE-128 -->
> +
> <argLine>-ea -Xmx128m -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/1.6.1/aspectjweaver-1.6.1.jar"</argLine>
> </configuration>
> -
> - <executions>
> - <execution>
> - <goals>
> - <!-- use this goal to weave all your main
> classes -->
> - <goal>compile</goal>
> - <!-- use this goal to weave all your test
> classes -->
> - <goal>test-compile</goal>
> - </goals>
> - </execution>
> - </executions>
> </plugin>
> </plugins>
> </build>
>
> Copied:
> tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java
> (from r670759,
> tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java)
> URL:
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java?p2=tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java&p1=tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java&r1=670759&r2=683368&rev=683368&view=diff
> ==============================================================================
> ---
> tuscany/sandbox/rfeng/aop-logging/src/test/java/org/apache/tuscany/sca/aspectj/MyTracingAspect.java
> (original)
> +++
> tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java
> Wed Aug 6 11:55:38 2008
> @@ -19,7 +19,9 @@
>
> package org.apache.tuscany.sca.aspectj;
>
> -import org.aspectj.lang.JoinPoint.StaticPart;
> +import java.util.Arrays;
> +
> +import org.aspectj.lang.JoinPoint;
> import org.aspectj.lang.annotation.Aspect;
> import org.aspectj.lang.annotation.Pointcut;
>
> @@ -27,9 +29,9 @@
> * @version $Rev$ $Date$
> */
> @Aspect
> -public class MyTracingAspect extends TracingAspect {
> +public class SimpleTracingAspect extends TracingAspect {
>
> - public MyTracingAspect() {
> + public SimpleTracingAspect() {
> super();
> }
>
> @@ -38,18 +40,38 @@
> System.out.println("completeLog()");
> }
>
> - @Pointcut("execution(*
> org.apache.tuscany.sca.aspectj.TracingTestCase.testAOP(..))")
> + @Pointcut("execution(public * org.apache.tuscany.sca..*.*(..))
> &&!within(java..*)")
> protected void entry() {
> }
>
> + @Pointcut("within(org.apache.tuscany.sca..*) &&
> !within(org.apache.tuscany.sca.aspectj.*Aspect)")
> + protected void withinScope() {
> + }
> +
> @Override
> - protected void logEnter(StaticPart jp) {
> + protected void logEnter(JoinPoint jp) {
> System.out.println("> " + jp.getSignature());
> + if (jp.getArgs().length != 0) {
> + System.out.println("Input: " + Arrays.asList(jp.getArgs()));
> + }
> + }
> +
> + @Override
> + protected void logExit(JoinPoint jp) {
> + // System.out.println("> " + jp.getSignature());
> + }
> +
> + @Override
> + protected void logException(JoinPoint jp, Throwable throwable) {
> + System.out.println("! " + jp.getSignature() + " " +
> throwable.getMessage());
> }
>
> @Override
> - protected void logExit(StaticPart jp) {
> + protected void logExit(JoinPoint jp, Object result) {
> System.out.println("< " + jp.getSignature());
> + if (!jp.getSignature().toString().startsWith("void ")) {
> + System.out.println("Output: " + result);
> + }
> }
>
> @Override
>
> Propchange:
> tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange:
> tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Propchange:
> tuscany/java/sca/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java
> ------------------------------------------------------------------------------
> svn:mergeinfo =
>
> Propchange:
> tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/
> ------------------------------------------------------------------------------
> svn:mergeinfo =
>
> Copied:
> tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/aop.xml
> (from r683143,
> tuscany/sandbox/rfeng/aop-logging/src/test/resources/META-INF/aop.xml)
> URL:
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/aop.xml?p2=tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/aop.xml&p1=tuscany/sandbox/rfeng/aop-logging/src/test/resources/META-INF/aop.xml&r1=683143&r2=683368&rev=683368&view=diff
> ==============================================================================
> --- tuscany/sandbox/rfeng/aop-logging/src/test/resources/META-INF/aop.xml
> (original)
> +++
> tuscany/java/sca/modules/tracing-aspectj/src/main/resources/META-INF/aop.xml
> Wed Aug 6 11:55:38 2008
> @@ -2,7 +2,7 @@
>
> <aspects>
> <!-- declare two existing aspects to the weaver -->
> - <aspect name="org.apache.tuscany.sca.aspectj.MyTracingAspect" />
> + <aspect name="org.apache.tuscany.sca.aspectj.SimpleTracingAspect"
> />
> <!--
> <aspect name="org.apache.tuscany.sca.aspectj.LoggingAspect" />
> -->
>
>