[jboss-svn-commits] JBL Code SVN: r26778 - in labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943: impl and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri May 29 12:33:08 EDT 2009
Author: whitingjr
Date: 2009-05-29 12:33:08 -0400 (Fri, 29 May 2009)
New Revision: 26778
Added:
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/ResourceManagerImpl.java
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/ContentionArbitrator.java
Removed:
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/Transaction.java
Modified:
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/factory/Configuration.java
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/impl/MVCCStore.java
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/TransactionImpl.java
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/isolation/RepeatableReadIsolationImpl.java
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/isolation/SerializableIsolationImpl.java
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/TransactionManager.java
Log:
Added comments. Fleshed out interfaces
Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/factory/Configuration.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/factory/Configuration.java 2009-05-29 16:28:34 UTC (rev 26777)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/factory/Configuration.java 2009-05-29 16:33:08 UTC (rev 26778)
@@ -1,5 +1,18 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
package uk.ac.ncl.sdia.a8905943.factory;
+/**
+ *
+ * A Configuration object to represent configuration information.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
public class Configuration {
public static final boolean SUPPORT_WRITE_SKEW = false;
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-05-29 16:28:34 UTC (rev 26777)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/factory/TransactionFactory.java 2009-05-29 16:33:08 UTC (rev 26778)
@@ -1,12 +1,18 @@
package uk.ac.ncl.sdia.a8905943.factory;
-import uk.ac.ncl.sdia.a8905943.impl.TransactionImpl;
-import uk.ac.ncl.sdia.a8905943.spec.Transaction;
+import javax.transaction.Transaction;
-public class TransactionFactory {
+/**
+ * The purpose of this object is to get a transaction object.
+ * Based on MVCC stm.
+ * @author whitingjr
+ */
+public class TransactionFactory
+{
- public static Transaction createTransaction()
- {
- return new TransactionImpl();
- }
+ public static Transaction getCurrentTransaction()
+ {
+ //TODO: complete implementation
+ return null;
+ }
}
Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/MVCCStore.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/MVCCStore.java 2009-05-29 16:28:34 UTC (rev 26777)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/MVCCStore.java 2009-05-29 16:33:08 UTC (rev 26778)
@@ -10,35 +10,16 @@
private Map<String, Map<Long, Object>> store = new HashMap<String, Map<Long,Object>>();
@Override
- public Object find(Class type, Object identity) {
- Object returnValue = null;
- if (store.containsKey(type.getName()))
- {
- Map<Long, Object> byType = store.get(type.getName());
- if (byType.containsKey(identity))
- {
- returnValue = byType.get(identity);
- }
- }
+ public Object find(Class type, Object identity)
+ {
- return returnValue;
+ return null;
}
@Override
public void put(Object object)
{
- // put object into the store, using the fqcn to lock serialized access while updating references
- if (store.containsKey(object.getClass().getName()))
- {
- Map<Long>
- }
- else
- {
-
- }
- Map<String, Map<String>>
- store.put(key, value)
-
+
}
}
Added: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/ResourceManagerImpl.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/ResourceManagerImpl.java (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/ResourceManagerImpl.java 2009-05-29 16:33:08 UTC (rev 26778)
@@ -0,0 +1,12 @@
+/*
+ * 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 ResourceManagerImpl
+{
+
+}
Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/TransactionImpl.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/TransactionImpl.java 2009-05-29 16:28:34 UTC (rev 26777)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/impl/TransactionImpl.java 2009-05-29 16:33:08 UTC (rev 26778)
@@ -1,3 +1,9 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
package uk.ac.ncl.sdia.a8905943.impl;
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;
@@ -2,24 +8,21 @@
+import javax.transaction.RollbackException;
+import javax.transaction.Synchronization;
+import javax.transaction.SystemException;
+import javax.transaction.Transaction;
+import javax.transaction.xa.XAResource;
+
import uk.ac.ncl.sdia.a8905943.model.TransactionStatus;
-import uk.ac.ncl.sdia.a8905943.spec.Transaction;
-
+/**
+ * The purpose of this object is to perform the transaction functionality.
+ *
+ * @author <a href="whitingjr at hotmail.com">Jeremy Whiting</a>
+ * @version $Revision: 1.1 $
+ */
public class TransactionImpl implements Transaction {
private volatile TransactionStatus status;
private final AtomicReferenceFieldUpdater<Transaction, TransactionStatus> statusModifier = AtomicReferenceFieldUpdater.newUpdater(Transaction.class, TransactionStatus.class, "statusModifier");
-
- @Override
- public void abort() {
- // TODO see comments
- // discard all versioned fields associated with this transaction
- // set the status of this transaction
- // notify all transactions (transaction manager) transaction has been aborted, cleanup the read or write traces
- }
@Override
- public void beginTransaction() {
- // record the time in milli seconds transaction started
- }
-
- @Override
public void commit() {
@@ -32,5 +35,44 @@
// notify all transactions committed, cleanup reader and writer traces.
}
+ @Override
+ public boolean delistResource(XAResource arg0, int arg1)
+ throws IllegalStateException, SystemException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean enlistResource(XAResource arg0) throws RollbackException,
+ IllegalStateException, SystemException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public int getStatus() throws SystemException {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public void registerSynchronization(Synchronization arg0)
+ throws RollbackException, IllegalStateException, SystemException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void rollback() throws IllegalStateException, SystemException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setRollbackOnly() throws IllegalStateException, SystemException {
+ // TODO Auto-generated method stub
+
+ }
+
}
Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/isolation/RepeatableReadIsolationImpl.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/isolation/RepeatableReadIsolationImpl.java 2009-05-29 16:28:34 UTC (rev 26777)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/isolation/RepeatableReadIsolationImpl.java 2009-05-29 16:33:08 UTC (rev 26778)
@@ -22,10 +22,26 @@
return false;
}
- @Override
- public boolean supportsWriteSqueue() {
- // TODO Auto-generated method stub
- return false;
- }
+ @Override
+ public History getWriteHistory()
+ {
+ // FIXME getWriteHistory
+ return null;
+ }
+
+ @Override
+ public void setWriteHistory(History history)
+ {
+ // FIXME setWriteHistory
+
+ }
+
+ @Override
+ public boolean supportsWriteSkew()
+ {
+ // FIXME supportsWriteSkew
+ return false;
+ }
+
}
Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/isolation/SerializableIsolationImpl.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/isolation/SerializableIsolationImpl.java 2009-05-29 16:28:34 UTC (rev 26777)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/isolation/SerializableIsolationImpl.java 2009-05-29 16:33:08 UTC (rev 26778)
@@ -22,10 +22,25 @@
return false;
}
- @Override
- public boolean supportsWriteSqueue() {
- // TODO Auto-generated method stub
- return false;
- }
+ @Override
+ public History getWriteHistory()
+ {
+ // FIXME getWriteHistory
+ return null;
+ }
+ @Override
+ public void setWriteHistory(History history)
+ {
+ // FIXME setWriteHistory
+
+ }
+
+ @Override
+ public boolean supportsWriteSkew()
+ {
+ // FIXME supportsWriteSkew
+ return false;
+ }
+
}
Added: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/ContentionArbitrator.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/ContentionArbitrator.java (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/ContentionArbitrator.java 2009-05-29 16:33:08 UTC (rev 26778)
@@ -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.spec;
+
+import javax.transaction.Transaction;
+/**
+ * A ContentionArbitrator for resolving conflicting transactions. Transactions that
+ * have readers or writers
+ *
+ * @author <a href="whitingjr at hotmail.com">Jeremy Whiting</a>
+ * @version $Revision: 1.1 $
+ */
+public interface ContentionArbitrator
+{
+ /**
+ * Use this method to resolve conflicts between these transactions where the conflicting transactions
+ * reader history do not allow the transaction to progress.
+ *
+ * @param transaction
+ * @return
+ */
+ public boolean arbitrateReaders(Transaction transaction, Transaction conflicting);
+}
Deleted: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/Transaction.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/Transaction.java 2009-05-29 16:28:34 UTC (rev 26777)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/Transaction.java 2009-05-29 16:33:08 UTC (rev 26778)
@@ -1,15 +0,0 @@
-package uk.ac.ncl.sdia.a8905943.spec;
-
-/**
- * The purpose of this object is to define the behaviour of a transaction.
- * @author whitingjr
- *
- */
-public interface Transaction {
-
- public void beginTransaction();
- public void commit();
- public void abort();
-
-
-}
Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/TransactionManager.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/TransactionManager.java 2009-05-29 16:28:34 UTC (rev 26777)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/spec/TransactionManager.java 2009-05-29 16:33:08 UTC (rev 26778)
@@ -2,4 +2,6 @@
public interface TransactionManager {
+
+
}
More information about the jboss-svn-commits
mailing list