[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