[jboss-cvs] JBossCache/src/org/jboss/cache/optimistic ...
Manik Surtani
msurtani at jboss.com
Tue Dec 12 09:51:44 EST 2006
User: msurtani
Date: 06/12/12 09:51:44
Modified: src/org/jboss/cache/optimistic WorkspaceNode.java
TransactionWorkspaceImpl.java
TransactionWorkspace.java WorkspaceNodeImpl.java
DefaultDataVersion.java
Log:
JBCACHE-894
Revision Changes Path
1.16 +21 -18 JBossCache/src/org/jboss/cache/optimistic/WorkspaceNode.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: WorkspaceNode.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/optimistic/WorkspaceNode.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- WorkspaceNode.java 20 Nov 2006 03:53:55 -0000 1.15
+++ WorkspaceNode.java 12 Dec 2006 14:51:44 -0000 1.16
@@ -7,10 +7,9 @@
package org.jboss.cache.optimistic;
import org.jboss.cache.CacheSPI;
-import org.jboss.cache.TreeNode;
-import org.jboss.cache.Node;
import org.jboss.cache.Fqn;
-import org.jboss.cache.Cache;
+import org.jboss.cache.Node;
+import org.jboss.cache.TreeNode;
import java.util.Map;
import java.util.Set;
@@ -51,4 +50,8 @@
public void markAsCreated();
public Node createChild(Object child_name, Fqn fqn, Node parent, CacheSPI cache, DataVersion version);
+
+ boolean isVersioningImplicit();
+
+ void setVersioningImplicit(boolean b);
}
1.15 +7 -7 JBossCache/src/org/jboss/cache/optimistic/TransactionWorkspaceImpl.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: TransactionWorkspaceImpl.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/optimistic/TransactionWorkspaceImpl.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- TransactionWorkspaceImpl.java 8 Dec 2006 18:49:18 -0000 1.14
+++ TransactionWorkspaceImpl.java 12 Dec 2006 14:51:44 -0000 1.15
@@ -23,18 +23,18 @@
public class TransactionWorkspaceImpl implements TransactionWorkspace
{
- private Map nodes;
+ private Map<Fqn, WorkspaceNode> nodes;
private boolean versioningImplicit = true;
public TransactionWorkspaceImpl()
{
- nodes = new ConcurrentHashMap();
+ nodes = new ConcurrentHashMap<Fqn, WorkspaceNode>();
}
/**
* Returns the nodes.
*/
- public Map getNodes()
+ public Map<Fqn, WorkspaceNode> getNodes()
{
return nodes;
}
@@ -42,14 +42,14 @@
/**
* Sets the nodes.
*/
- public void setNodes(Map nodes)
+ public void setNodes(Map<Fqn, WorkspaceNode> nodes)
{
this.nodes = nodes;
}
public WorkspaceNode getNode(Fqn fqn)
{
- return (WorkspaceNode) nodes.get(fqn);
+ return nodes.get(fqn);
}
public void addNode(WorkspaceNode node)
@@ -62,9 +62,9 @@
return nodes.remove(fqn);
}
- public SortedMap getNodesAfter(Fqn fqn)
+ public SortedMap<Fqn, WorkspaceNode> getNodesAfter(Fqn fqn)
{
- SortedMap sm = new TreeMap();
+ SortedMap<Fqn, WorkspaceNode> sm = new TreeMap<Fqn, WorkspaceNode>();
sm.putAll(nodes);
return sm.tailMap(fqn);
}
1.12 +2 -2 JBossCache/src/org/jboss/cache/optimistic/TransactionWorkspace.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: TransactionWorkspace.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/optimistic/TransactionWorkspace.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- TransactionWorkspace.java 20 Sep 2006 16:28:58 -0000 1.11
+++ TransactionWorkspace.java 12 Dec 2006 14:51:44 -0000 1.12
@@ -25,12 +25,12 @@
/**
* @return Returns a map of {@link WorkspaceNode}s, keyed on {@link Fqn}
*/
- public Map getNodes();
+ public Map<Fqn, WorkspaceNode> getNodes();
/**
* @param nodes The nodes to set. Takes {@link WorkspaceNode}s.
*/
- public void setNodes(Map nodes);
+ public void setNodes(Map<Fqn, WorkspaceNode> nodes);
public WorkspaceNode getNode(Fqn fqn);
1.30 +24 -14 JBossCache/src/org/jboss/cache/optimistic/WorkspaceNodeImpl.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: WorkspaceNodeImpl.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/optimistic/WorkspaceNodeImpl.java,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- WorkspaceNodeImpl.java 29 Nov 2006 22:10:22 -0000 1.29
+++ WorkspaceNodeImpl.java 12 Dec 2006 14:51:44 -0000 1.30
@@ -8,7 +8,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Cache;
import org.jboss.cache.CacheSPI;
import org.jboss.cache.DataNode;
import org.jboss.cache.Fqn;
@@ -21,8 +20,8 @@
import org.jboss.cache.TreeNode;
import org.jboss.cache.factories.NodeFactory;
import org.jboss.cache.lock.IdentityLock;
-import org.jboss.cache.lock.NodeLock;
import org.jboss.cache.lock.LockingException;
+import org.jboss.cache.lock.NodeLock;
import org.jboss.cache.lock.TimeoutException;
import java.util.Collections;
@@ -51,6 +50,7 @@
private boolean created;
private Map<Object, Node> optimisticChildNodeMap;
private Map optimisticDataMap;
+ private boolean versioningImplicit;
/**
* Constructs with a node and workspace.
@@ -192,7 +192,7 @@
// if not we need to create it
if (child == null)
{
- child = NodeFactory.getInstance().createNodeOfType(parent, child_name, fqn, parent, (Map)null, cache, version);
+ child = NodeFactory.getInstance().createNodeOfType(parent, child_name, fqn, parent, (Map) null, cache, version);
optimisticChildNodeMap.put(child_name, child);
}
if (log.isTraceEnabled())
@@ -205,6 +205,16 @@
}
+ public boolean isVersioningImplicit()
+ {
+ return versioningImplicit;
+ }
+
+ public void setVersioningImplicit(boolean b)
+ {
+ versioningImplicit = b;
+ }
+
//this needs to be changed to return wrapped node
public Node getChild(Object childName)
{
1.6 +20 -9 JBossCache/src/org/jboss/cache/optimistic/DefaultDataVersion.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: DefaultDataVersion.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/optimistic/DefaultDataVersion.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- DefaultDataVersion.java 11 Dec 2006 21:14:35 -0000 1.5
+++ DefaultDataVersion.java 12 Dec 2006 14:51:44 -0000 1.6
@@ -6,21 +6,25 @@
*/
package org.jboss.cache.optimistic;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
/**
* The default implementation of a DataVersion, uses a <code>long</code> to
* compare versions.
* This class is immutable.
+ * <p/>
+ * Also note that this is meant to control implicit, internal versioning. Do not attempt to instantiate or use instances
+ * of this class explicitly, via the {@link org.jboss.cache.config.Option#setDataVersion(DataVersion)} API, as it WILL
+ * break things.
*
* @author <a href="mailto:manik at jboss.org">Manik Surtani (manik at jboss.org)</a>
*/
-public class DefaultDataVersion implements DataVersion
+public class DefaultDataVersion implements DataVersion, Externalizable
{
-
- /**
- * Since it's serializable...
- */
- private static final long serialVersionUID = 6556186205712692626L;
-
+ private static final long serialVersionUID = -6896315742831861046L;
/**
* Version zero.
* Assign this as the first version to your data.
@@ -41,8 +45,6 @@
/**
* Constructs with version 0.
- *
- * @deprecated use {@link #ZERO} constant
*/
public DefaultDataVersion()
{
@@ -106,4 +108,13 @@
return version;
}
+ public void writeExternal(ObjectOutput objectOutput) throws IOException
+ {
+ objectOutput.writeLong(version);
+ }
+
+ public void readExternal(ObjectInput objectInput) throws IOException, ClassNotFoundException
+ {
+ version = objectInput.readLong();
+ }
}
More information about the jboss-cvs-commits
mailing list