[jboss-cvs] JBossCache/src/org/jboss/cache/statetransfer ...

Manik Surtani msurtani at jboss.com
Thu Jan 4 00:35:38 EST 2007


  User: msurtani
  Date: 07/01/04 00:35:38

  Modified:    src/org/jboss/cache/statetransfer   
                        DefaultStateTransferGenerator.java
                        DefaultStateTransferIntegrator.java
                        StateTransferManager.java
  Log:
  Major changes around nodes, and the way they interact with the interceptor stack.
  Also removed redundant methods in NodeSPI and removed the need for casting to NodeSPI in most cases.
  
  Revision  Changes    Path
  1.12      +5 -9      JBossCache/src/org/jboss/cache/statetransfer/DefaultStateTransferGenerator.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: DefaultStateTransferGenerator.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/statetransfer/DefaultStateTransferGenerator.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -b -r1.11 -r1.12
  --- DefaultStateTransferGenerator.java	2 Jan 2007 18:28:11 -0000	1.11
  +++ DefaultStateTransferGenerator.java	4 Jan 2007 05:35:38 -0000	1.12
  @@ -11,6 +11,7 @@
   import org.jboss.cache.CacheImpl;
   import org.jboss.cache.Fqn;
   import org.jboss.cache.Node;
  +import org.jboss.cache.NodeSPI;
   import org.jboss.cache.Version;
   import org.jboss.cache.loader.CacheLoader;
   import org.jboss.cache.loader.NodeData;
  @@ -52,7 +53,7 @@
                  log.trace("writing transient state for " + fqn);
               }
   
  -            marshallTransientState(rootNode, out);
  +            marshallTransientState((NodeSPI) rootNode, out);
               out.writeObject(StateTransferManager.STREAMING_DELIMETER_NODE);
   
               if (log.isTraceEnabled())
  @@ -113,7 +114,7 @@
       * @param out
       * @throws Exception
       */
  -   protected void marshallTransientState(Node node, ObjectOutputStream out) throws Exception
  +   protected void marshallTransientState(NodeSPI node, ObjectOutputStream out) throws Exception
      {
   
         if (internalFqns.contains(node.getFqn()))
  @@ -125,7 +126,7 @@
         NodeData nd;
   
         // first handle the current node
  -      attrs = node.getData();
  +      attrs = node.getDataDirect();
         if (attrs == null || attrs.size() == 0)
         {
            nd = new NodeData(node.getFqn());
  @@ -137,12 +138,7 @@
         out.writeObject(nd);
   
         // then visit the children
  -      Map<Object, Node> children = node.getNodeSPI().getChildrenMap();
  -      if (children == null)
  -      {
  -         return;
  -      }
  -      for (Node child : children.values())
  +      for (NodeSPI child : node.getChildrenDirect())
         {
            marshallTransientState(child, out);
         }
  
  
  
  1.15      +13 -13    JBossCache/src/org/jboss/cache/statetransfer/DefaultStateTransferIntegrator.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: DefaultStateTransferIntegrator.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/statetransfer/DefaultStateTransferIntegrator.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -b -r1.14 -r1.15
  --- DefaultStateTransferIntegrator.java	3 Jan 2007 15:33:09 -0000	1.14
  +++ DefaultStateTransferIntegrator.java	4 Jan 2007 05:35:38 -0000	1.15
  @@ -56,12 +56,12 @@
   
      public void integrateState(ObjectInputStream ois, Node target, ClassLoader cl) throws Exception
      {
  -      integrateTransientState(ois, target, cl);
  +      integrateTransientState(ois, (NodeSPI) target, cl);
         integrateAssociatedState(ois);
         integratePersistentState(ois);
      }
   
  -   protected void integrateTransientState(ObjectInputStream in, Node target, ClassLoader cl) throws Exception
  +   protected void integrateTransientState(ObjectInputStream in, NodeSPI target, ClassLoader cl) throws Exception
      {
         boolean transientSet = false;
         ClassLoader oldCL = setClassLoader(cl);
  @@ -90,7 +90,7 @@
               // Clear any existing state from the targetRoot
               log.warn("transient state integration failed, removing all children of " + target);
               target.clearData();
  -            target.getNodeSPI().removeChildren();
  +            target.removeChildren();
            }
   
            resetClassLoader(oldCL);
  @@ -219,12 +219,12 @@
         }
      }
   
  -   private void integrateTransientState(Node target, ObjectInputStream in) throws IOException,
  +   private void integrateTransientState(NodeSPI target, ObjectInputStream in) throws IOException,
              ClassNotFoundException
      {
         Set<Node> retainedNodes = retainInternalNodes(target);
   
  -      target.getNodeSPI().removeChildren();
  +      target.removeChildren();
   
         // Read the first NodeData and integrate into our target     
         NodeData nd = readNode(in);
  @@ -261,7 +261,7 @@
         return nd;
      }
   
  -   private NodeData integrateStateTransferChildren(Node parent, int offset, ObjectInputStream in)
  +   private NodeData integrateStateTransferChildren(NodeSPI parent, int offset, ObjectInputStream in)
              throws IOException, ClassNotFoundException
      {
         int parent_level = parent.getFqn().size();
  @@ -295,8 +295,8 @@
   
            // We handle this NodeData.  Create a TreeNode and
            // integrate its data            
  -         Node target = factory.createDataNode(name, fqn, parent, attrs, false);
  -         parent.getNodeSPI().addChild(name, target);
  +         NodeSPI target = factory.createDataNode(name, fqn, parent, attrs, false);
  +         parent.addChild(name, target);
   
            // JBCACHE-913
            Region region = cache.getRegion(fqn, false);
  @@ -347,7 +347,7 @@
         return result;
      }
   
  -   private void integrateRetainedNodes(Node root, Set<Node> retainedNodes)
  +   private void integrateRetainedNodes(NodeSPI root, Set<Node> retainedNodes)
      {
         Fqn rootFqn = root.getFqn();
         for (Node retained : retainedNodes)
  @@ -359,17 +359,17 @@
         }
      }
   
  -   private void integrateRetainedNode(Node ancestor, Node descendant)
  +   private void integrateRetainedNode(NodeSPI ancestor, Node descendant)
      {
         Fqn descFqn = descendant.getFqn();
         Fqn ancFqn = ancestor.getFqn();
         Object name = descFqn.get(ancFqn.size());
  -      Node child = ancestor.getChild(new Fqn(name));
  +      NodeSPI child = (NodeSPI) ancestor.getChild(new Fqn(name));
         if (ancFqn.size() == descFqn.size() + 1)
         {
            if (child == null)
            {
  -            ancestor.getNodeSPI().addChild(name, descendant);
  +            ancestor.addChild(name, descendant);
            }
            else
            {
  @@ -384,7 +384,7 @@
               // This shouldn't really happen -- internal fqns should
               // be immediately under the root
               child = factory.createDataNode(name, new Fqn(ancFqn, name), ancestor, null, true);
  -            ((NodeSPI) ancestor).addChild(name, child);
  +            ancestor.addChild(name, child);
            }
   
            // Keep walking down the tree
  
  
  
  1.21      +10 -9     JBossCache/src/org/jboss/cache/statetransfer/StateTransferManager.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: StateTransferManager.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/statetransfer/StateTransferManager.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -b -r1.20 -r1.21
  --- StateTransferManager.java	30 Dec 2006 17:49:57 -0000	1.20
  +++ StateTransferManager.java	4 Jan 2007 05:35:38 -0000	1.21
  @@ -12,6 +12,7 @@
   import org.jboss.cache.CacheImpl;
   import org.jboss.cache.Fqn;
   import org.jboss.cache.Node;
  +import org.jboss.cache.NodeSPI;
   import org.jboss.cache.config.Option;
   import org.jboss.cache.loader.CacheLoaderManager;
   import org.jboss.cache.loader.NodeData;
  @@ -80,7 +81,7 @@
            StateTransferGenerator generator = getStateTransferGenerator();
            Object owner = getOwnerForLock();
            long startTime = System.currentTimeMillis();
  -         Node rootNode = cache.findNode(fqn);
  +         NodeSPI rootNode = cache.findNode(fqn);
   
            try
            {
  @@ -162,7 +163,7 @@
      public void setState(ObjectInputStream in, Fqn targetRoot, ClassLoader cl) throws Exception
      {
         CacheImpl cache = getTreeCache();
  -      Node target = cache.findNode(targetRoot);
  +      NodeSPI target = cache.findNode(targetRoot);
         if (target == null)
         {
            // Create the integration root, but do not replicate
  @@ -198,7 +199,7 @@
       * @param cl         classloader to use to unmarshal the state, or
       *                   <code>null</code> if the TCCL should be used
       */
  -   private void setState(ObjectInputStream state, Node targetRoot, ClassLoader cl) throws Exception
  +   private void setState(ObjectInputStream state, NodeSPI targetRoot, ClassLoader cl) throws Exception
      {
         Object owner = getOwnerForLock();
         long timeout = cache.getConfiguration().getInitialStateRetrievalTimeout();
  @@ -237,7 +238,7 @@
      /**
       * Acquires locks on a root node for an owner for state transfer.
       */
  -   protected void acquireLocksForStateTransfer(Node root,
  +   protected void acquireLocksForStateTransfer(NodeSPI root,
                                                  Object lockOwner,
                                                  long timeout,
                                                  boolean lockChildren,
  @@ -248,11 +249,11 @@
         {
            if (lockChildren)
            {
  -            root.getNodeSPI().getLock().acquireAll(lockOwner, timeout, NodeLock.LockType.READ);
  +            root.getLock().acquireAll(lockOwner, timeout, NodeLock.LockType.READ);
            }
            else
            {
  -            root.getNodeSPI().getLock().acquire(lockOwner, timeout, NodeLock.LockType.READ);
  +            root.getLock().acquire(lockOwner, timeout, NodeLock.LockType.READ);
            }
         }
         catch (TimeoutException te)
  @@ -278,7 +279,7 @@
       *
       * @see #acquireLocksForStateTransfer
       */
  -   protected void releaseStateTransferLocks(Node root,
  +   protected void releaseStateTransferLocks(NodeSPI root,
                                               Object lockOwner,
                                               boolean childrenLocked)
      {
  @@ -286,11 +287,11 @@
         {
            if (childrenLocked)
            {
  -            root.getNodeSPI().getLock().releaseAll(lockOwner);
  +            root.getLock().releaseAll(lockOwner);
            }
            else
            {
  -            root.getNodeSPI().getLock().release(lockOwner);
  +            root.getLock().release(lockOwner);
            }
         }
         catch (Throwable t)
  
  
  



More information about the jboss-cvs-commits mailing list