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

Manik Surtani msurtani at jboss.com
Wed Jan 17 09:13:06 EST 2007


  User: msurtani
  Date: 07/01/17 09:13:06

  Modified:    src/org/jboss/cache/loader   AbstractCacheLoader.java
                        LocalDelegatingCacheLoader.java
  Log:
  JBCACHE-908
  
  Revision  Changes    Path
  1.19      +72 -55    JBossCache/src/org/jboss/cache/loader/AbstractCacheLoader.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: AbstractCacheLoader.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/loader/AbstractCacheLoader.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -b -r1.18 -r1.19
  --- AbstractCacheLoader.java	15 Jan 2007 18:10:55 -0000	1.18
  +++ AbstractCacheLoader.java	17 Jan 2007 14:13:06 -0000	1.19
  @@ -19,6 +19,7 @@
   
   import java.io.ObjectInputStream;
   import java.io.ObjectOutputStream;
  +import java.util.LinkedList;
   import java.util.List;
   import java.util.Map;
   import java.util.Set;
  @@ -54,11 +55,11 @@
   
      public void storeState(Fqn subtree, ObjectInputStream in) throws Exception
      {
  -      ClassLoader currentCL = Thread.currentThread().getContextClassLoader();
  -      try
  -      {
  -         // Set the TCCL to any classloader registered for subtree
  -         setUnmarshallingClassLoader(subtree);
  +//      ClassLoader currentCL = Thread.currentThread().getContextClassLoader();
  +//      try
  +//      {
  +//         // Set the TCCL to any classloader registered for subtree
  +//         setUnmarshallingClassLoader(subtree);
   
            // remove entire existing state
            this.remove(subtree);
  @@ -67,10 +68,14 @@
   
            // store new state
            Fqn fqn = null;
  -         NodeData nd = null;
  +      //NodeData nd = null;
  +      List<NodeData> nodeData = (List<NodeData>) cache.getMarshaller().objectFromObjectStream(in);
   
  -         for (nd = (NodeData) in.readObject(); nd != null && !nd.isMarker(); nd = (NodeData) in.readObject())
  +      //for (nd = (NodeData) in.readObject(); nd != null && !nd.isMarker(); nd = (NodeData) in.readObject())
  +      for (NodeData nd : nodeData)
            {
  +         if (nd.isMarker()) break;
  +
               if (nd.isExceptionMarker())
               {
                  NodeDataExceptionMarker ndem = (NodeDataExceptionMarker) nd;
  @@ -96,11 +101,14 @@
                  this.put(fqn, null);// creates a node with null attributes
               }
            }
  -      }
  -      finally
  -      {
  -         Thread.currentThread().setContextClassLoader(currentCL);
  -      }
  +
  +      // read marker off stack
  +      cache.getMarshaller().objectFromObjectStream(in);
  +//      }
  +//      finally
  +//      {
  +//         Thread.currentThread().setContextClassLoader(currentCL);
  +//      }
      }
   
      public void loadEntireState(ObjectOutputStream os) throws Exception
  @@ -110,17 +118,17 @@
   
      public void loadState(Fqn subtree, ObjectOutputStream os) throws Exception
      {
  -      ClassLoader currentCL = Thread.currentThread().getContextClassLoader();
  -      try
  -      {
  +//      ClassLoader currentCL = Thread.currentThread().getContextClassLoader();
  +//      try
  +//      {
            // Set the TCCL to any classloader registered for subtree
  -         setUnmarshallingClassLoader(subtree);
  +//         setUnmarshallingClassLoader(subtree);
            loadStateHelper(subtree, os);
  -      }
  -      finally
  -      {
  -         Thread.currentThread().setContextClassLoader(currentCL);
  -      }
  +//      }
  +//      finally
  +//      {
  +//         Thread.currentThread().setContextClassLoader(currentCL);
  +//      }
      }
   
   
  @@ -157,6 +165,13 @@
       */
      protected void loadStateHelper(Fqn fqn, ObjectOutputStream out) throws Exception
      {
  +      List<NodeData> list = new LinkedList<NodeData>();
  +      getNodeDataList(fqn, list);
  +      cache.getMarshaller().objectToObjectStream(list, out, fqn);
  +   }
  +
  +   protected void getNodeDataList(Fqn fqn, List<NodeData> list) throws Exception
  +   {
         Map<Object, Object> attrs;
         Set<? extends Object> children_names;
         String child_name;
  @@ -173,7 +188,8 @@
         {
            nd = new NodeData(fqn, attrs);
         }
  -      out.writeObject(nd);
  +      //out.writeObject(nd);
  +      list.add(nd);
   
         // then visit the children
         children_names = getChildrenNames(fqn);
  @@ -185,7 +201,8 @@
         {
            child_name = (String) children_name;
            tmp_fqn = new Fqn(fqn, child_name);
  -         loadStateHelper(tmp_fqn, out);
  +         //loadStateHelper(tmp_fqn, out);
  +         getNodeDataList(tmp_fqn, list);
         }
      }
   
  
  
  
  1.15      +2 -2      JBossCache/src/org/jboss/cache/loader/LocalDelegatingCacheLoader.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: LocalDelegatingCacheLoader.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/loader/LocalDelegatingCacheLoader.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -b -r1.14 -r1.15
  --- LocalDelegatingCacheLoader.java	4 Jan 2007 05:35:37 -0000	1.14
  +++ LocalDelegatingCacheLoader.java	17 Jan 2007 14:13:06 -0000	1.15
  @@ -31,7 +31,7 @@
    *
    * @author Bela Ban
    * @author Daniel Gredler
  - * @version $Id: LocalDelegatingCacheLoader.java,v 1.14 2007/01/04 05:35:37 msurtani Exp $
  + * @version $Id: LocalDelegatingCacheLoader.java,v 1.15 2007/01/17 14:13:06 msurtani Exp $
    */
   public class LocalDelegatingCacheLoader extends DelegatingCacheLoader
   {
  @@ -145,7 +145,7 @@
   
      protected void delegateStoreEntireState(ObjectInputStream is) throws Exception
      {
  -      delegate.getStateTransferManager().setState(is, Fqn.ROOT, null);
  +      delegate.getStateTransferManager().setState(is, Fqn.ROOT);
   
      }
   
  
  
  



More information about the jboss-cvs-commits mailing list