[jbosscache-commits] JBoss Cache SVN: r6153 - in core/trunk/src: main/java/org/jboss/cache/buddyreplication and 6 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Wed Jul 2 09:39:16 EDT 2008


Author: manik.surtani at jboss.com
Date: 2008-07-02 09:39:16 -0400 (Wed, 02 Jul 2008)
New Revision: 6153

Modified:
   core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java
   core/trunk/src/main/java/org/jboss/cache/NodeSPI.java
   core/trunk/src/main/java/org/jboss/cache/RegionManager.java
   core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java
   core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java
   core/trunk/src/main/java/org/jboss/cache/commands/pessimistic/write/PessRemoveNodeCommand.java
   core/trunk/src/main/java/org/jboss/cache/commands/write/MoveCommand.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java
   core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java
   core/trunk/src/test/java/org/jboss/cache/mock/NodeSpiMock.java
Log:
Created a new getParentDirect() SPI call

Modified: core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java	2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java	2008-07-02 13:39:16 UTC (rev 6153)
@@ -374,7 +374,8 @@
             // mark the node to be removed (and all children) as invalid so anyone holding a direct reference to it will
             // be aware that it is no longer valid.
             n.setValid(false, true);
-            return n.getParent().removeChildDirect(n.getFqn().getLastElement());
+            NodeSPI parent = peek(f.getParent(), true);
+            return parent.removeChildDirect(n.getFqn().getLastElement());
          }
       }
       else
@@ -415,7 +416,7 @@
    {
       NodeSPI targetNode = peek(fqn, false, true);
       if (targetNode == null) return;
-      NodeSPI parentNode = targetNode.getParent();
+      NodeSPI parentNode = targetNode.getParentDirect();
       targetNode.setValid(false, false);
       if (parentNode != null)
       {

Modified: core/trunk/src/main/java/org/jboss/cache/NodeSPI.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/NodeSPI.java	2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/NodeSPI.java	2008-07-02 13:39:16 UTC (rev 6153)
@@ -456,7 +456,7 @@
     * @return parent node
     * @see Node#getParent()
     */
-   NodeSPI<K, V> getParent();
+   NodeSPI<K, V> getParentDirect();
 
    /**
     * @return true if the node has one or more child nodes; false otherwise.

Modified: core/trunk/src/main/java/org/jboss/cache/RegionManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/RegionManager.java	2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/RegionManager.java	2008-07-02 13:39:16 UTC (rev 6153)
@@ -609,7 +609,7 @@
          // Remove the subtree from the main cache  and any buddy backup trees
          for (Fqn subtree : list)
          {
-            subtreeRoot = cache.peek(subtree, false, false);
+            subtreeRoot = cache.peek(subtree, false);
             if (subtreeRoot != null)
             {
                // Acquire locks
@@ -618,7 +618,7 @@
                subtreeLocked = lockManager.lockAll(subtreeRoot, WRITE, owner, stateFetchTimeout);
 
                // Lock the parent, as we're about to write to it
-               parent = subtreeRoot.getParent();
+               parent = subtreeRoot.getParentDirect();
                if (parent != null) parentLocked = lockManager.lock(parent.getFqn(), WRITE, owner, stateFetchTimeout);
 
                // Remove the subtree

Modified: core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java	2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java	2008-07-02 13:39:16 UTC (rev 6153)
@@ -514,7 +514,7 @@
       else
       {
          NodeSPI child = getChildDirect(f);
-         return child != null && child.getParent().removeChildDirect(f.getLastElement());
+         return child != null && child.getParentDirect().removeChildDirect(f.getLastElement());
       }
    }
 

Modified: core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java	2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java	2008-07-02 13:39:16 UTC (rev 6153)
@@ -13,6 +13,7 @@
 import org.jboss.cache.DataContainer;
 import org.jboss.cache.Fqn;
 import org.jboss.cache.Node;
+import org.jboss.cache.NodeSPI;
 import org.jboss.cache.RPCManager;
 import org.jboss.cache.Region;
 import org.jboss.cache.RegionEmptyException;
@@ -48,7 +49,18 @@
 import org.jgroups.util.Util;
 
 import java.io.ByteArrayInputStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import java.util.Vector;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CountDownLatch;
@@ -1020,7 +1032,7 @@
    }
 
 
-   private void migrateDefunctData(Node backupRoot, Address dataOwner)
+   private void migrateDefunctData(NodeSPI backupRoot, Address dataOwner)
    {
       Fqn defunctBackupRootFqn = getDefunctBackupRootFqn(dataOwner);
 
@@ -1035,7 +1047,7 @@
       }
 
       cache.getInvocationContext().getOptionOverrides().setCacheModeLocal(true);
-      backupRoot.getParent().removeChild(backupRoot.getFqn().getLastElement());
+      backupRoot.getParentDirect().removeChild(backupRoot.getFqn().getLastElement());
    }
 
    private Fqn getDefunctBackupRootFqn(Address dataOwner)
@@ -1169,7 +1181,7 @@
             {
                BuddyGroup bg = buddyGroupsIParticipateIn.remove(a);
                Fqn backupRootFqn = buddyFqnTransformer.getBackupRoot(bg.getDataOwner());
-               Node backupRoot = cache.getNode(backupRootFqn);
+               NodeSPI backupRoot = cache.getNode(backupRootFqn);
                if (backupRoot != null)
                {
                   // could be a race condition where the backup region has been removed because we have been removed

Modified: core/trunk/src/main/java/org/jboss/cache/commands/pessimistic/write/PessRemoveNodeCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/pessimistic/write/PessRemoveNodeCommand.java	2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/commands/pessimistic/write/PessRemoveNodeCommand.java	2008-07-02 13:39:16 UTC (rev 6153)
@@ -38,7 +38,7 @@
       // now record rollback info.
       if (globalTransaction != null && found)
       {
-         NodeSPI parentNode = targetNode.getParent();
+         NodeSPI parentNode = targetNode.getParentDirect();
          prepareForRollback(parentNode);
       }
       return found;

Modified: core/trunk/src/main/java/org/jboss/cache/commands/write/MoveCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/write/MoveCommand.java	2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/commands/write/MoveCommand.java	2008-07-02 13:39:16 UTC (rev 6153)
@@ -102,7 +102,7 @@
 
       if (trace) log.trace("Moving " + fqn + " to sit under " + to);
 
-      NodeSPI oldParent = node.getParent();
+      NodeSPI oldParent = (NodeSPI) node.getParent();
       Object nodeName = toMoveFqn.getLastElement();
 
       // now that we have the parent and target nodes:

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java	2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java	2008-07-02 13:39:16 UTC (rev 6153)
@@ -169,7 +169,7 @@
                if (!useTombstones)
                {
                   // don't retain the tombstone
-                  NodeSPI parent = underlyingNode.getParent();
+                  NodeSPI parent = underlyingNode.getParentDirect();
                   if (parent == null)
                   {
                      throw new CacheException("Underlying node " + underlyingNode + " has no parent");
@@ -267,7 +267,7 @@
    private void validateNodeAndParents(NodeSPI node)
    {
       node.setValid(true, false);
-      if (!node.getFqn().isRoot()) validateNodeAndParents(node.getParent());
+      if (!node.getFqn().isRoot()) validateNodeAndParents(node.getParentDirect());
    }
 
    private void performVersionUpdate(NodeSPI underlyingNode, WorkspaceNode workspaceNode)

Modified: core/trunk/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java	2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java	2008-07-02 13:39:16 UTC (rev 6153)
@@ -237,6 +237,11 @@
       return spi.getNode(f.getParent());
    }
 
+   public NodeSPI<K, V> getParentDirect()
+   {
+      return node.getParent();
+   }
+
    public Set<Node<K, V>> getChildren()
    {
       assertValid();

Modified: core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java	2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java	2008-07-02 13:39:16 UTC (rev 6153)
@@ -7,8 +7,8 @@
 import org.jboss.cache.NodeSPI;
 import static org.jboss.cache.lock.LockType.READ;
 import static org.jboss.cache.lock.LockType.WRITE;
+import org.jboss.cache.transaction.DummyTransactionManagerLookup;
 import org.jboss.cache.util.TestingUtil;
-import org.jboss.cache.transaction.DummyTransactionManagerLookup;
 import static org.testng.AssertJUnit.assertFalse;
 import static org.testng.AssertJUnit.assertTrue;
 import org.testng.annotations.AfterMethod;
@@ -65,10 +65,10 @@
 
       assertFalse(lockManager.isLocked(n, READ));
       assertTrue(lockManager.isLocked(n, WRITE));
-      assertTrue(lockManager.isLocked(n.getParent(), READ));
-      assertFalse(lockManager.isLocked(n.getParent(), WRITE));
-      assertTrue(lockManager.isLocked(n.getParent().getParent(), READ));
-      assertFalse(lockManager.isLocked(n.getParent().getParent(), WRITE));
+      assertTrue(lockManager.isLocked(n.getParentDirect(), READ));
+      assertFalse(lockManager.isLocked(n.getParentDirect(), WRITE));
+      assertTrue(lockManager.isLocked(n.getParentDirect().getParentDirect(), READ));
+      assertFalse(lockManager.isLocked(n.getParentDirect().getParentDirect(), WRITE));
 
       tm.commit();
 
@@ -87,10 +87,10 @@
 
       assertTrue(lockManager.isLocked(n, READ));
       assertFalse(lockManager.isLocked(n, WRITE));
-      assertTrue(lockManager.isLocked(n.getParent(), READ));
-      assertFalse(lockManager.isLocked(n.getParent(), WRITE));
-      assertTrue(lockManager.isLocked(n.getParent().getParent(), READ));
-      assertFalse(lockManager.isLocked(n.getParent().getParent(), WRITE));
+      assertTrue(lockManager.isLocked(n.getParentDirect(), READ));
+      assertFalse(lockManager.isLocked(n.getParentDirect(), WRITE));
+      assertTrue(lockManager.isLocked(n.getParentDirect().getParentDirect(), READ));
+      assertFalse(lockManager.isLocked(n.getParentDirect().getParentDirect(), WRITE));
 
       tm.commit();
 
@@ -109,10 +109,10 @@
 
       assertFalse(lockManager.isLocked(n, READ));
       assertTrue(lockManager.isLocked(n, WRITE));
-      assertTrue(lockManager.isLocked(n.getParent(), READ));
-      assertFalse(lockManager.isLocked(n.getParent(), WRITE));
-      assertTrue(lockManager.isLocked(n.getParent().getParent(), READ));
-      assertFalse(lockManager.isLocked(n.getParent().getParent(), WRITE));
+      assertTrue(lockManager.isLocked(n.getParentDirect(), READ));
+      assertFalse(lockManager.isLocked(n.getParentDirect(), WRITE));
+      assertTrue(lockManager.isLocked(n.getParentDirect().getParentDirect(), READ));
+      assertFalse(lockManager.isLocked(n.getParentDirect().getParentDirect(), WRITE));
 
       tm.commit();
 

Modified: core/trunk/src/test/java/org/jboss/cache/mock/NodeSpiMock.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/mock/NodeSpiMock.java	2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/test/java/org/jboss/cache/mock/NodeSpiMock.java	2008-07-02 13:39:16 UTC (rev 6153)
@@ -254,11 +254,16 @@
       throw new UnsupportedOperationException();
    }
 
-   public NodeSPI getParent()
+   public NodeSPI getParentDirect()
    {
       return parent;
    }
 
+   public Node getParent()
+   {
+      return parent;
+   }
+
    public boolean hasChildrenDirect()
    {
       return !children.isEmpty();




More information about the jbosscache-commits mailing list