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:&quot;${settings.localRepository}/aspectj/aspectjweaver/1.6.1/aspectjweaver-1.6.1.jar&quot;</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:&quot;${settings.localRepository}/org/aspectj/aspectjweaver/1.6.1/aspectjweaver-1.6.1.jar&quot;</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:&quot;${settings.localRepository}/aspectj/aspectjweaver/1.6.1/aspectjweaver-1.6.1.jar&quot;</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:&quot;${settings.localRepository}/org/aspectj/aspectjweaver/1.6.1/aspectjweaver-1.6.1.jar&quot;</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" />
>          -->
>
>