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" />
-->