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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Aug 23 15:03:38 EDT 2009


Author: whitingjr
Date: 2009-08-23 15:03:38 -0400 (Sun, 23 Aug 2009)
New Revision: 29034

Added:
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/TransactedObjectReference.java
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/AbstractCollectionFactory.java
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/AbstractTransactedCollectionReference.java
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/CollectionFactory.java
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/TransactedSetReference.java
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/transactional/
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/transactional/TransactionalSet.java
Log:
Transactional collection class infrastructure.

Copied: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/TransactedObjectReference.java (from rev 28969, labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/handle/TransactedObjectReference.java)
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/TransactedObjectReference.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/TransactedObjectReference.java	2009-08-23 19:03:38 UTC (rev 29034)
@@ -0,0 +1,88 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.stm.object;
+
+import java.io.Serializable;
+import java.util.concurrent.locks.ReentrantLock;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+
+public class TransactedObjectReference implements Serializable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 2497531722707627406L;
+   final Long lookupIdentity;
+   protected Object value;
+   protected Long nextIdentity;
+   protected Long version;
+   transient final ReentrantLock prepared = new ReentrantLock(true);
+   
+   public TransactedObjectReference(Long identity, Object value, long version)
+   {
+      lookupIdentity = identity;
+      this.value = value; 
+      this.version = version;
+   }
+
+   public Object getValue()
+   {
+      return value;
+   }
+
+   public Long getLookupIdentity()
+   {
+      return lookupIdentity;
+   }
+
+   public Long getNextIdentity()
+   {
+      return nextIdentity;
+   }
+
+   public void setNextIdentity(Long nextIdentity)
+   {
+      this.nextIdentity = nextIdentity;
+   }
+   public long getVersion()
+   {
+      return version;
+   }
+   public void setVersion(long version)
+   {
+      this.version = version;
+   }
+   public void setValue(Object value)
+   {
+      this.value = value;
+   }
+   @Override
+   public boolean equals(Object other)
+   {
+      boolean returnValue = false;
+      if (null != other)
+      {
+         if (other == this)
+         {
+            returnValue = true;
+         }
+         else
+         {
+            if (other.getClass() == getClass())
+            {
+               TransactedObjectReference otherReference = (TransactedObjectReference)other;
+               returnValue = new EqualsBuilder().append(this.getLookupIdentity(), otherReference.getLookupIdentity()).append(this.getVersion(), otherReference.getVersion()).isEquals();
+            }
+         }
+      }
+      return returnValue;
+   }
+
+   public ReentrantLock getPrepared()
+   {
+      return prepared;
+   }
+}

Added: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/AbstractCollectionFactory.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/AbstractCollectionFactory.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/AbstractCollectionFactory.java	2009-08-23 19:03:38 UTC (rev 29034)
@@ -0,0 +1,13 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.stm.object.collection;
+
+public abstract class AbstractCollectionFactory implements CollectionFactory
+{
+
+   
+}

Added: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/AbstractTransactedCollectionReference.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/AbstractTransactedCollectionReference.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/AbstractTransactedCollectionReference.java	2009-08-23 19:03:38 UTC (rev 29034)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.stm.object.collection;
+
+import java.util.Map;
+
+import uk.ac.ncl.sdia.a8905943.stm.object.TransactedObjectReference;
+
+public abstract class AbstractTransactedCollectionReference extends TransactedObjectReference
+{
+   final Map<Long, TransactedObjectReference> transactionalFieldStore;
+   
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -8692532420551821737L;
+
+   public AbstractTransactedCollectionReference(Long identity, Object value, long version, Map<Long, TransactedObjectReference> transactionalFieldStore)
+   {
+      super( identity,value,  version);
+      this.transactionalFieldStore = transactionalFieldStore;
+   }
+   
+   protected abstract CollectionFactory getBuilder();
+   
+   @Override
+   public Object getValue()
+   {
+      return getBuilder().construct(this);
+   }
+}

Added: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/CollectionFactory.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/CollectionFactory.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/CollectionFactory.java	2009-08-23 19:03:38 UTC (rev 29034)
@@ -0,0 +1,14 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.stm.object.collection;
+
+import java.util.Collection;
+
+public interface CollectionFactory
+{
+   public Collection construct(AbstractTransactedCollectionReference reference);
+}

Added: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/TransactedSetReference.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/TransactedSetReference.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/TransactedSetReference.java	2009-08-23 19:03:38 UTC (rev 29034)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.stm.object.collection;
+
+import java.util.Collection;
+import java.util.Map;
+
+import uk.ac.ncl.sdia.a8905943.stm.object.TransactedObjectReference;
+
+public class TransactedSetReference extends AbstractTransactedCollectionReference
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -5257300707527371365L;
+
+   public TransactedSetReference(Long identity, Object value, long version, Map<Long, TransactedObjectReference> transactionalFieldStore)
+   {
+      super(identity, value, version, transactionalFieldStore);
+   }
+
+   @Override
+   protected CollectionFactory getBuilder()
+   {
+      return new TransactedSetFactory();
+   }
+   
+   public class TransactedSetFactory extends AbstractCollectionFactory{
+
+      @Override
+      public Collection construct(AbstractTransactedCollectionReference reference)
+      {
+         // TODO:jrw complete implementation of transactional set factory object
+         return null;
+      }
+      
+   }
+}

Added: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/transactional/TransactionalSet.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/transactional/TransactionalSet.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/collection/transactional/TransactionalSet.java	2009-08-23 19:03:38 UTC (rev 29034)
@@ -0,0 +1,107 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.a8905943.stm.object.collection.transactional;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Set;
+
+public class TransactionalSet implements Set
+{
+
+   @Override
+   public boolean add(Object e)
+   {
+      // FIXME add
+      return false;
+   }
+
+   @Override
+   public boolean addAll(Collection c)
+   {
+      // FIXME addAll
+      return false;
+   }
+
+   @Override
+   public void clear()
+   {
+      // FIXME clear
+      
+   }
+
+   @Override
+   public boolean contains(Object o)
+   {
+      // FIXME contains
+      return false;
+   }
+
+   @Override
+   public boolean containsAll(Collection c)
+   {
+      // FIXME containsAll
+      return false;
+   }
+
+   @Override
+   public boolean isEmpty()
+   {
+      // FIXME isEmpty
+      return false;
+   }
+
+   @Override
+   public Iterator iterator()
+   {
+      // FIXME iterator
+      return null;
+   }
+
+   @Override
+   public boolean remove(Object o)
+   {
+      // FIXME remove
+      return false;
+   }
+
+   @Override
+   public boolean removeAll(Collection c)
+   {
+      // FIXME removeAll
+      return false;
+   }
+
+   @Override
+   public boolean retainAll(Collection c)
+   {
+      // FIXME retainAll
+      return false;
+   }
+
+   @Override
+   public int size()
+   {
+      // FIXME size
+      return 0;
+   }
+
+   @Override
+   public Object[] toArray()
+   {
+      // FIXME toArray
+      return null;
+   }
+
+   @Override
+   public Object[] toArray(Object[] a)
+   {
+      // FIXME toArray
+      return null;
+   }
+
+}



More information about the jboss-svn-commits mailing list