[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