[jboss-svn-commits] JBL Code SVN: r28804 - in labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR: src/main/java/uk/ac/ncl/sdia/a8905943 and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Aug 4 17:27:25 EDT 2009


Author: whitingjr
Date: 2009-08-04 17:27:25 -0400 (Tue, 04 Aug 2009)
New Revision: 28804

Added:
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/model/
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/model/Bike.java
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/model/LeccyCar.java
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/stm/annotation/STM.java
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/resources/log4j.xml
Modified:
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/build.xml
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/pom.xml
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/stm/annotation/STMEntity.java
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/resources/META-INF/jboss-aop.xml
Log:
Fixed major headache bugs with annotations.

Modified: labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/build.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/build.xml	2009-08-04 21:26:34 UTC (rev 28803)
+++ labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/build.xml	2009-08-04 21:27:25 UTC (rev 28804)
@@ -4,19 +4,26 @@
 	<target name="build" >
 		<echo>Java module build task was executed.</echo>
 		
-		<!--delete dir="${build.dir}/classes"/>
-		<mkdir dir="${build.dir}/classes"/-->
-		
+		<copy  file="${basedir}/target/STMAnnotationsJAR-0.0.1-SNAPSHOT.jar" tofile="${artifact-target}/STMAnnotationsJAR.aop"/>
+		<copy todir="${build.dir}/classes">
+         <fileset dir="${basedir}/target/classes">
+            <include name="**/*.class"/>
+         </fileset>
+      </copy>
 		<!--javac destdir="${build.dir}/classes" classpathref="COMPILE_DEPENDENCIES" debug="true" target="1.6">
 			<src path="${basedir}/src/main/java"/>
 		</javac-->
 		
-		<antcall target="aopc">
+		<!--antcall target="aopc">
 			<reference refid="COMPILE_DEPENDENCIES"/>
 		</antcall>
+		<antcall target="aopc">
+         <reference refid="COMPILE_DEPENDENCIES"/>
+      </antcall-->
 		
+		
 		<!-- hack attack, this relies on eclipse m2 having compile the aopc, the Ant Aoc task doesn't work -->
-	    <copy todir="${basedir}/classes">
+	    <!--copy todir="${basedir}/classes">
          <fileset dir="${basedir}/target/classes">
             <include name="uk/ac/ncl/sdia/a8905943/model/*.class"/>
          </fileset>
@@ -51,8 +58,10 @@
          <fileset dir="${basedir}/target/classes">
             <include name="uk/ac/ncl/sdia/a8905943/model/*.class"/>
          </fileset>
-      </copy>
+      </copy-->
 		
+		
+		
 
 	</target>
 	
@@ -70,7 +79,8 @@
 
 	      <path id="classpath">
 	         <path refid="jboss.aop.classpath"/>
-	         <pathelement path="classes"/>
+	         <pathelement path="${build.dir}/classes"/>
+	      	<pathelement path="${basedir}/src/main/resources"/>
 	      	
 	      	<path refid="COMPILE_DEPENDENCIES"> </path>
 	      </path>
@@ -79,17 +89,19 @@
 	   </target>
 
 	   <target name="compile" depends="prepare">
-	   	<delete dir="classes"/>
-	      <mkdir dir="classes"/>
+	   	<!--delete dir="${basedir}/classes"/>
+	      <mkdir dir="${basedir}/classes"/-->
+	   	
 	      <javac srcdir="src/main/java"
-	         destdir="${basedir}/classes"
+	         destdir="${build.dir}/classes"
 	         debug="on"
 	         deprecation="on"
 	         optimize="off"
 	         includes="**">
 	         <classpath refid="classpath"/>
 	      </javac>
-   		<javac srcdir="src/test/java"
+	   	
+   		<!--javac srcdir="src/test/java"
 	         destdir="${basedir}/classes"
 	         debug="on"
 	         deprecation="on"
@@ -102,29 +114,30 @@
 	         <fileset dir="src">
 	            <include name="**/*.properties"/>
 	         </fileset>
-	      </copy>
+	      </copy-->
 	   </target>
 		
 		<target name="aopc" depends="compile">
-			<!-- this target precompiles the classes overwriting the originals -->
-			<copy todir="${basedir}/classes" file="${basedir}/src/main/java/log4j.xml" />
-	      <aopc compilerclasspathref="classpath" classpathref="classpath" verbose="true" report="true">
-	      	
-	      	
-	         <classpath path="${basedir}/classes">
-	         	<filelist>
-	         	 <file name="src/main/java/log4j.xml"/>
-	         	</filelist>
+			<aopc compilerclasspathref="classpath" verbose="true" report="true">
+	         <classpath path="${build.dir}/classes"/>
+	         <src path="${build.dir}/classes"/>
+	         <include name="uk/ac/ncl/sdia/a8905943/model/Bike.class"/>
+	         <aoppath path="src/main/resources/META-INF/jboss-aop.xml"/>
+	      </aopc>
+
+			
+	      <!--aopc compilerclasspathref="classpath" classpathref="classpath" verbose="true" report="true">
+	      	<classpath >
+	      		<pathelement path="${build.dir}/classes"/>
+	      		<pathelement path="${basedir}/classes"/>
+	      		<pathelement path="src/main/resources"/>
 	      	</classpath>
 	      	
-	      	<include name="**/LeccyCar.class"/>
-	      	<include name="**/Bike.class"/>
-	         <src path="src/main/java"/>
-	         <aoppath path="src/main/resources/META-INF/jboss-aop.xml">
-	      	</aoppath>
-	      	<aopclasspath path="${basedir}/src/main/resources"/>
-
-	      </aopc>
+	      	<include name="uk/ac/ncl/sdia/a8905943/model/*.class"/>
+	         <src path="${build.dir}/classes"/>
+	         <aoppath path="src/main/resources/META-INF/jboss-aop.xml"/>
+	      </aopc-->
+			
 	   </target>
 
 	   <!-- unused target name="run-compile-time" depends="aopc">

Modified: labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/pom.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/pom.xml	2009-08-04 21:26:34 UTC (rev 28803)
+++ labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/pom.xml	2009-08-04 21:27:25 UTC (rev 28804)
@@ -19,54 +19,59 @@
 			<scope>provided</scope>
 		</dependency>
 		<dependency>
-         <groupId>javassist</groupId>
-         <artifactId>javassist</artifactId>
-         <version>3.9.0.GA</version>
-         <scope>test</scope>
-      </dependency>
+			<groupId>javassist</groupId>
+			<artifactId>javassist</artifactId>
+			<version>3.9.0.GA</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>uk.ac.ncl.sdia.a8905943</groupId>
+			<artifactId>MVCCSampleSTM</artifactId>
+			<version>0.0.1-SNAPSHOT</version>
+			<scope>compile</scope>
+		</dependency>
 
+
 	</dependencies>
-	
+
 	<build>
-      <plugins>
-         <plugin>
-            <groupId>org.jboss.maven.plugins</groupId>
-            <artifactId>maven-jbossaop-plugin</artifactId>
-            <version>1.0.0.GA</version>
-            <executions>
-               <execution>
-                  <id>compile</id>
-                  <configuration>
-                     <includeProjectDependency>true</includeProjectDependency>
-                     <aoppaths>
-                        <aoppath>/home/whitingjr/eclipse/workspaces/red-hat/STMAnnotationsJAR/src/main/resources/META-INF/jboss-aop.xml</aoppath>
-                     </aoppaths>
-                     <verbose>true</verbose>
-                     <includes>
-                        <include>uk/ac/ncl/sdia/a8905943/model/Bike.class</include>
-                        <include>uk/ac/ncl/sdia/a8905943/model/LeccyCar.class</include>
-                     </includes>
-                     <report>/tmp/stmannotations.txt</report>
-                  </configuration>
-                  <goals>
-                     <goal>compile</goal>
-                  </goals>
-               </execution>
-            </executions>
-         </plugin>
-         <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <version>2.4.3</version>
-            <configuration>
-               <forkMode>always</forkMode>
-               <useSystemClassLoader>false</useSystemClassLoader>
-               <argLine>-Djboss.aop.path=src/test/resources/jboss-test-aop.xml</argLine>
-               <additionalClasspathElement>src/test/resources</additionalClasspathElement>
-            </configuration>
-         </plugin>
-      </plugins>
-   </build>
-	
-	
+		<plugins>
+			<plugin>
+				<groupId>org.jboss.maven.plugins</groupId>
+				<artifactId>maven-jbossaop-plugin</artifactId>
+				<version>1.0.0.GA</version>
+				<executions>
+					<execution>
+						<id>compile</id>
+						<configuration>
+							<includeProjectDependency>true</includeProjectDependency>
+							<aoppaths>
+								<aoppath>src/main/resources/META-INF/jboss-aop.xml</aoppath>
+							</aoppaths>
+							<verbose>true</verbose>
+							<includes>
+								<include>uk/ac/ncl/sdia/a8905943/model/Bike.class</include>
+								<include>uk/ac/ncl/sdia/a8905943/model/LeccyCar.class</include>
+							</includes>
+						</configuration>
+						<goals>
+							<goal>compile</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<version>2.4.3</version>
+				<configuration>
+					<forkMode>always</forkMode>
+					<useSystemClassLoader>false</useSystemClassLoader>
+					<argLine>-Djboss.aop.path=src/test/resources/jboss-test-aop.xml</argLine>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+
 </project>

Added: labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/model/Bike.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/model/Bike.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/model/Bike.java	2009-08-04 21:27:25 UTC (rev 28804)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.model;
+
+import javax.persistence.Id;
+
+import uk.ac.ncl.sdia.a8905943.aspects.annotation.STMReadable;
+import uk.ac.ncl.sdia.a8905943.stm.annotation.STMEntity;
+
+ at STMEntity
+public class Bike
+{
+
+   @Id
+   private Long id;
+   private String name;
+   
+   public Bike(Long identity)
+   {
+      this.id = identity;
+   }
+   
+   public String getName()
+   {
+      return name;
+   }
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+   
+   public Long getId()
+   {
+      return id;
+   }
+   
+}

Added: labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/model/LeccyCar.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/model/LeccyCar.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/model/LeccyCar.java	2009-08-04 21:27:25 UTC (rev 28804)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.model;
+
+import javax.persistence.Id;
+
+import uk.ac.ncl.sdia.a8905943.aspects.annotation.STMReadable;
+import uk.ac.ncl.sdia.a8905943.aspects.annotation.STMWriteable;
+import uk.ac.ncl.sdia.a8905943.stm.annotation.STMEntity;
+
+ at STMEntity
+public class LeccyCar
+{
+   @Id
+   private Long id;
+   private String name;
+   
+   /**
+    * Constructor that fulfils contract with STMEntity annotation
+    * 
+    * @param identity
+    */
+   public LeccyCar(Long identity)
+   {
+      this.id = identity;
+   }
+   public Long getId()
+   {
+      return id;
+   }
+   @STMWriteable
+   public void setId(Long id)
+   {
+      this.id = id;
+   }
+   public String getName()
+   {
+      return name;
+   }
+   @STMWriteable
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+}
+
+

Added: labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/stm/annotation/STM.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/stm/annotation/STM.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/stm/annotation/STM.java	2009-08-04 21:27:25 UTC (rev 28804)
@@ -0,0 +1,21 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.stm.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Target;
+
+/**
+ * Fields annotated with this are injected with an STM reference.
+ * 
+ * @author <a href="whitingjr at hotmail.com">Jeremy Whiting</a>
+ * @version $Revision: 1.1 $
+ */
+ at Target ({ElementType.FIELD})
+public @interface STM {
+
+}

Modified: labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/stm/annotation/STMEntity.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/stm/annotation/STMEntity.java	2009-08-04 21:26:34 UTC (rev 28803)
+++ labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/stm/annotation/STMEntity.java	2009-08-04 21:27:25 UTC (rev 28804)
@@ -11,6 +11,12 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
+/**
+ * Indicates the entity annotated is part of the STM system.
+ * 
+ * @author <a href="whitingjr at hotmail.com">Jeremy Whiting</a>
+ * @version $Revision: 1.1 $
+ */
 @Target(ElementType.TYPE)
 @Retention(RetentionPolicy.RUNTIME)
 public @interface STMEntity 

Modified: labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/resources/META-INF/jboss-aop.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/resources/META-INF/jboss-aop.xml	2009-08-04 21:26:34 UTC (rev 28803)
+++ labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/resources/META-INF/jboss-aop.xml	2009-08-04 21:27:25 UTC (rev 28804)
@@ -2,6 +2,7 @@
 <aop xmlns="urn:jboss:aop-beans:1.0">
    <aspect name="stmreadaspect" class="uk.ac.ncl.sdia.a8905943.aspects.STMReadAspect"/>
    <aspect name="stmwriteaspect" class="uk.ac.ncl.sdia.a8905943.aspects.STMWriteAspect"/>
+   <aspect name="stminjectionaspect" class="uk.ac.ncl.sdia.a8905943.aspects.STMInjectionAspect"/>
 
    <!-- method pointcut -->
    <bind pointcut="execution(* uk.ac.ncl.sdia.a8905943.model.Bike->get*())">
@@ -16,9 +17,21 @@
    <bind pointcut="execution(* uk.ac.ncl.sdia.a8905943.model.Bike->set*(java.lang.String))">
       <advice name="stmwrite" aspect="stmwriteaspect" />
    </bind>
+    
    <bind pointcut="execution(* uk.ac.ncl.sdia.a8905943.model.LeccyCar->set*(java.lang.String))">
       <advice name="stmwrite" aspect="stmwriteaspect" />
    </bind>
    
+   <bind pointcut="field(uk.ac.ncl.sdia.a8905943.stm.STM *->@uk.ac.ncl.sdia.a8905943.stm.annotation.STM)">
+     <advice name="access" aspect="stminjectionaspect"/>
+  </bind>
    
+   <!--
+    this does not work and never will, leave it
+   <bind pointcut="execution(* *->@uk.ac.ncl.sdia.a8905943.aspects.field.STMWrite(..))">
+      <advice name="stmwrite" aspect="stmwriteaspect" />
+   </bind>
+    -->
+    
+    
 </aop>

Added: labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/resources/log4j.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/resources/log4j.xml	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/resources/log4j.xml	2009-08-04 21:27:25 UTC (rev 28804)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+	<!--
+		=====================================================================
+	-->
+	<!--
+	-->
+	<!--
+		Log4j Configuration
+	-->
+	<!--
+	-->
+	<!--
+		=====================================================================
+	-->
+
+	<!--
+		$Id: log4j.xml 64096 2007-07-17 14:36:23Z stan.silvert at jboss.com $
+	-->
+
+	<!--
+		| For more configuration information and examples see the Jakarta
+		Log4j | owebsite: http://jakarta.apache.org/log4j
+	-->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
+	debug="false">
+
+	<!-- ================================= -->
+	<!-- Preserve messages in a local file -->
+	<!-- ================================= -->
+
+	<!-- ============================== -->
+	<!-- Append messages to the console -->
+	<!-- ============================== -->
+
+	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+		<param name="Target" value="System.out" />
+		<param name="Threshold" value="INFO" />
+
+		<layout class="org.apache.log4j.PatternLayout">
+			<!-- The default pattern: Date Priority [Category] Message\n -->
+			<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
+		</layout>
+	</appender>
+
+	<appender name="FILE" class="org.apache.log4j.FileAppender">
+		<param name="File" value="test.log" />
+		<param name="Append" value="true" />
+		<layout class="org.apache.log4j.PatternLayout">
+			<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
+		</layout>
+	</appender>
+
+	<category name="org.jboss.aop.instrument">
+      <priority value="DEBUG" />
+   </category>
+
+
+	<root>
+		<priority value="DEBUG" />
+		<appender-ref ref="CONSOLE" />
+	</root>
+
+</log4j:configuration>



More information about the jboss-svn-commits mailing list