[jboss-cvs] JBossCache/src/org/jboss/cache/optimistic ...
Manik Surtani
msurtani at jboss.com
Thu Jan 25 09:12:07 EST 2007
User: msurtani
Date: 07/01/25 09:12:07
Modified: src/org/jboss/cache/optimistic WorkspaceNodeImpl.java
Log:
JBCACHE-948
Revision Changes Path
1.47 +12 -15 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.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- WorkspaceNodeImpl.java 19 Jan 2007 10:50:42 -0000 1.46
+++ WorkspaceNodeImpl.java 25 Jan 2007 14:12:07 -0000 1.47
@@ -24,7 +24,7 @@
import java.util.concurrent.ConcurrentHashMap;
/**
- * Wraps a DataNode and adds versioning and other meta data to it.
+ * Wraps an ordinary {@link Node} and adds versioning and other meta data to it.
*
* @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
* @author Steve Woodcock (<a href="mailto:stevew at jofti.com">stevew at jofti.com</a>)
@@ -56,14 +56,7 @@
this.workspace = workspace;
optimisticDataMap = new HashMap<Object, Object>(node.getDataDirect());
Map<Object, Node> childrenMap = node.getChildrenMapDirect();
- if (childrenMap == null)
- {
- optimisticChildNodeMap = new ConcurrentHashMap<Object, NodeSPI>();
- }
- else
- {
- optimisticChildNodeMap = new ConcurrentHashMap(childrenMap);
- }
+ this.optimisticChildNodeMap = new ConcurrentHashMap(childrenMap);
this.version = node.getVersion();
if (version == null)
{
@@ -153,7 +146,6 @@
// if not we need to create it
if (child == null)
{
- Fqn childFqn = new Fqn(parent.getFqn(), child_name);
child = (NodeSPI) cache.getConfiguration().getRuntimeConfig().getNodeFactory().createNodeOfType(parent, child_name, parent, null);
optimisticChildNodeMap.put(child_name, child);
}
@@ -324,19 +316,24 @@
throw new UnsupportedOperationException();
}
- public void removeChild(Fqn f)
+ public boolean removeChild(Fqn f)
{
if (f.size() > 1) throw new UnsupportedOperationException("Workspace nodes can only remove direct children!");
Object key = f.getLastElement();
- removeChild(key);
+ return removeChild(key);
}
- public void removeChild(Object childName)
+ public boolean removeChild(Object childName)
{
- if (optimisticChildNodeMap.containsKey(childName))
+ Node n = optimisticChildNodeMap.remove(childName);
+ if (n != null)
{
dirty = true;
- optimisticChildNodeMap.remove(childName);
+ return true;
+ }
+ else
+ {
+ return false;
}
}
More information about the jboss-cvs-commits
mailing list