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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Aug 7 06:16:55 EDT 2009


Author: whitingjr
Date: 2009-08-07 06:16:54 -0400 (Fri, 07 Aug 2009)
New Revision: 28866

Added:
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/resources/stmtransaction.xml
Removed:
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/field/STMRead.java
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/field/STMWrite.java
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/TransactionHelper.java
Modified:
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/factory/TransactionFactory.java
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/STM.java
Log:
Removed duplicated classes.
Added transaction factory.
Added first attempt at state machine for an stm transaction.

Deleted: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/field/STMRead.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/field/STMRead.java	2009-08-07 10:15:14 UTC (rev 28865)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/field/STMRead.java	2009-08-07 10:16:54 UTC (rev 28866)
@@ -1,21 +0,0 @@
-/*
- * JBoss, the OpenSource J2EE webOS
- * 
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-package uk.ac.ncl.sdia.a8905943.aspects.field;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-
-/**
- * A STMRead annotation is a method annotation so entities can be annotation aware.
- * 
- * @author <a href="whitingjr at hotmail.com">Jeremy Whiting</a>
- * @version $Revision: 1.1 $
- */
- at Target ({ElementType.METHOD})
-public @interface STMRead {
-
-}

Deleted: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/field/STMWrite.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/field/STMWrite.java	2009-08-07 10:15:14 UTC (rev 28865)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/aspects/field/STMWrite.java	2009-08-07 10:16:54 UTC (rev 28866)
@@ -1,23 +0,0 @@
-/*
- * JBoss, the OpenSource J2EE webOS
- * 
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-package uk.ac.ncl.sdia.a8905943.aspects.field;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-
-/**
- * 
- * A STMWrite annotation should be used for annotating setter methods on STM aware 
- * entities.
- * 
- * @author <a href="whitingjr at hotmail.com">Jeremy Whiting</a>
- * @version $Revision: 1.1 $
- */
- at Target({ElementType.METHOD})
-public @interface STMWrite {
- 
-}

Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/factory/TransactionFactory.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/factory/TransactionFactory.java	2009-08-07 10:15:14 UTC (rev 28865)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/factory/TransactionFactory.java	2009-08-07 10:16:54 UTC (rev 28866)
@@ -1,5 +1,6 @@
 package uk.ac.ncl.sdia.a8905943.factory;
 
+import uk.ac.ncl.sdia.a8905943.impl.TransactionImpl;
 import uk.ac.ncl.sdia.a8905943.spec.STMTransaction;
 
 /**
@@ -9,10 +10,23 @@
  */
 public class TransactionFactory
 {
+   private static final TransactionFactory factory = new TransactionFactory();
+   private final static ThreadLocal<STMTransaction> currentTransaction = new ThreadLocal<STMTransaction>();
+   public static STMTransaction getCurrentTransaction(boolean create)
+   {
+      if (null == currentTransaction.get() && create)
+      {
+         currentTransaction.set(new TransactionImpl());
+      }
+      return currentTransaction.get();
+   }
    
-   public static STMTransaction getCurrentTransaction()
+   public static TransactionFactory getFactory()
    {
-      //TODO: complete implementation
-      return null;
+      return factory;
    }
+   
+   private TransactionFactory()
+   {}
+   
 }

Deleted: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/TransactionHelper.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/TransactionHelper.java	2009-08-07 10:15:14 UTC (rev 28865)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/TransactionHelper.java	2009-08-07 10:16:54 UTC (rev 28866)
@@ -1,12 +0,0 @@
-/*
- * JBoss, the OpenSource J2EE webOS
- * 
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-package uk.ac.ncl.sdia.a8905943.impl;
-
-public class TransactionHelper
-{
-   
-}

Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/STM.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/STM.java	2009-08-07 10:15:14 UTC (rev 28865)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/STM.java	2009-08-07 10:16:54 UTC (rev 28866)
@@ -1,6 +1,7 @@
 package uk.ac.ncl.sdia.a8905943.stm;
 
 import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.log4j.Logger;
 
 /**
  * This object is a proxy to the transactional memory system. It provides a
@@ -12,16 +13,17 @@
 public class STM
 {
    private final String databaseName;
+   private static final Logger logger = Logger.getLogger(STM.class);
+   
 
-
-   public Object find(Class type, Object identity)
+   public void write(long hash, Object writtenObject)
    {
-      return null;
+      //TODO:jrw complete implementation.
    }
-
-   public void put(Object object)
+   public Object read( long hashIdentity)
    {
-
+      // TODO:jrw complete implementation
+      return null;
    }
 
    public STM(String name)
@@ -56,7 +58,7 @@
     */
    public void commit()
    {
-      
+      logger.debug("commit invoked on stm");
    }
    /**
     * The changes stored in this transaction are not going to persistent store
@@ -80,7 +82,7 @@
     */
    public void begin()
    {
-      
+      logger.debug("begin invoked on stm system.");
    }
    /**
     * A problem occured in the system and transactional changes should be discarded. 

Added: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/resources/stmtransaction.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/resources/stmtransaction.xml	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/resources/stmtransaction.xml	2009-08-07 10:16:54 UTC (rev 28866)
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<scxml xmlns="http://www.w3.org/2005/07/scxml"
+       version="1.0"
+       initialstate="initialised">
+
+    <state id="initialised">
+        <transition event="transaction.running"   target="running"/>
+    </state>
+    
+    <state id="running">
+        <transition event="transaction.completed"   target="completed"/>
+        <transition event="transaction.suspended"    target="suspended"/>
+    </state>
+
+    <state id="completed">
+        <transition event="transaction.aborting" target="aborting"/>
+        <transition event="transaction.preparing"    target="prepared"/>
+    </state>
+
+    <state id="suspended">
+        <transition event="transaction.running"   target="running"/>
+    </state>
+    
+    <state id="prepared">
+        <transition event="transaction.committed"   target="committed"/>
+    </state>
+    
+    <state id="committed" final="true">
+        
+    </state>
+
+</scxml>
+



More information about the jboss-svn-commits mailing list