[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