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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Aug 4 17:26:04 EDT 2009


Author: whitingjr
Date: 2009-08-04 17:26:04 -0400 (Tue, 04 Aug 2009)
New Revision: 28802

Added:
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMInjectionAspect.java
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMReadAspect.java
   labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMWriteAspect.java
Log:
Added annotations for entity classes

Added: labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMInjectionAspect.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMInjectionAspect.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMInjectionAspect.java	2009-08-04 21:26:04 UTC (rev 28802)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.aspects;
+
+import org.jboss.aop.joinpoint.FieldReadInvocation;
+import org.jboss.aop.joinpoint.FieldWriteInvocation;
+
+import uk.ac.ncl.sdia.a8905943.factory.STMFactory;
+
+/**
+ * This object injects a reference to the STM system.
+ * 
+ * @author <a href="whitingjr at hotmail.com">Jeremy Whiting</a>
+ * @version $Revision: 1.1 $
+ */
+public class STMInjectionAspect
+{
+   public Object access(FieldReadInvocation invocation)
+      throws Throwable
+   {
+      return STMFactory.getFactoryInstance().getCurrent();
+   }
+   
+   public Object access(FieldWriteInvocation invocation)
+      throws Throwable
+   {
+      throw new RuntimeException( "Setting an @Injected variable is not allowed.");
+   }
+
+
+}

Added: labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMReadAspect.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMReadAspect.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMReadAspect.java	2009-08-04 21:26:04 UTC (rev 28802)
@@ -0,0 +1,24 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.aspects;
+
+import org.apache.log4j.Logger;
+import org.jboss.aop.joinpoint.MethodInvocation;
+
+public class STMReadAspect
+{
+   private static Logger logger = Logger.getLogger(STMReadAspect.class);
+   public Object stmread(MethodInvocation invocation) 
+      throws Throwable
+   {
+      if (logger.isDebugEnabled())
+      {
+         logger.debug("STMReadAspect has been invoked.");
+      }
+      return invocation.invokeNext();
+   }
+}

Added: labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMWriteAspect.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMWriteAspect.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/STMAnnotationsJAR/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/STMWriteAspect.java	2009-08-04 21:26:04 UTC (rev 28802)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.aspects;
+
+import org.apache.log4j.Logger;
+import org.jboss.aop.joinpoint.MethodInvocation;
+
+public class STMWriteAspect
+{
+   private static final Logger logger = Logger.getLogger(STMWriteAspect.class);
+   
+   public Object stmwrite(MethodInvocation invocation) 
+      throws Throwable
+   {
+      logger.info("Write of aspected field ["+invocation.getActualMethod().getName()+"]");
+      
+      Object[] arguments = invocation.getArguments();
+      arguments[0] = "Choppa";
+      invocation.setArguments(arguments);
+      
+      return invocation.invokeNext();
+   }
+}



More information about the jboss-svn-commits mailing list