[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