[jboss-cvs] JBossCache/tests/functional/org/jboss/cache/loader ...

Vladmir Blagojevic vladimir.blagojevic at jboss.com
Thu Aug 31 10:56:46 EDT 2006


  User: vblagojevic
  Date: 06/08/31 10:56:46

  Modified:    tests/functional/org/jboss/cache/loader       BdbjeTest.java
                        DummyCacheLoader.java CacheLoaderTestsBase.java
                        InterceptorSynchronizationTest.java
                        AsyncFileCacheLoaderTest.java
                        ExtendedCacheLoaderTestsBase.java
  Log:
  CacheLoader API change (remove byte based load/store)
  
  Revision  Changes    Path
  1.7       +94 -19    JBossCache/tests/functional/org/jboss/cache/loader/BdbjeTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: BdbjeTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/loader/BdbjeTest.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -b -r1.6 -r1.7
  --- BdbjeTest.java	17 Aug 2006 21:57:59 -0000	1.6
  +++ BdbjeTest.java	31 Aug 2006 14:56:46 -0000	1.7
  @@ -7,7 +7,12 @@
   import org.jboss.cache.Fqn;
   import org.jboss.cache.Modification;
   import org.jboss.cache.TreeCache;
  +import org.jboss.cache.statetransfer.StateTransferManager;
  +import org.jboss.invocation.MarshalledValueInputStream;
  +import org.jboss.invocation.MarshalledValueOutputStream;
   
  +import java.io.ByteArrayInputStream;
  +import java.io.ByteArrayOutputStream;
   import java.io.File;
   import java.io.FileFilter;
   import java.io.Serializable;
  @@ -20,10 +25,11 @@
    * directory.  Any scratch directory will do, but beware that all files in
    * the directory will be deleted by setUp().</p>
    *
  - * @version $Revision: 1.6 $
  + * @version $Revision: 1.7 $
    */
   public class BdbjeTest extends TestCase {
   
  +   private static final int STREAM_HEADER_LENGTH=4;
      private static final String envHome = ".";
      private static final Fqn FQN = new Fqn("key");
   
  @@ -187,7 +193,12 @@
         /* One FQN only. */
         doPutTests(new Fqn("key"));
         doRemoveTests(new Fqn("key"));
  -      assertEquals(0, loader.loadEntireState().length);
  +      
  +      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);     
  +      loader.loadEntireState(os);
  +      os.close();
  +      assertEquals(STREAM_HEADER_LENGTH, baos.size());
   
         /* Add three FQNs, middle FQN last. */
         doPutTests(new Fqn("key1"));
  @@ -204,7 +215,12 @@
         assertEquals(null, loader.get(new Fqn("key1")));
         assertEquals(null, loader.get(new Fqn("key2")));
         assertEquals(null, loader.get(new Fqn("key3")));
  -      assertEquals(0, loader.loadEntireState().length);
  +      
  +      baos = new ByteArrayOutputStream(1024);
  +      os = new MarshalledValueOutputStream(baos);
  +      loader.loadEntireState(os);
  +      os.close();
  +      assertEquals(STREAM_HEADER_LENGTH, baos.size());
   
         stopLoader();
      }
  @@ -622,7 +638,11 @@
         List mods = createUpdates();
         loader.prepare(txnKey, mods, false);
         loader.rollback(txnKey);
  -      assertEquals(0, loader.loadEntireState().length);
  +      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +      loader.loadEntireState(os);
  +      os.close();
  +      assertEquals(STREAM_HEADER_LENGTH, baos.size());
   
         stopLoader();
      }
  @@ -807,12 +827,16 @@
         } catch (IllegalStateException expected) {}
   
         try {
  -         loader.loadEntireState();
  +         ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +         MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +         loader.loadEntireState(os);
            fail();
         } catch (IllegalStateException expected) {}
   
         try {
  -         loader.storeEntireState(new byte[0]);
  +         ByteArrayInputStream baos = new ByteArrayInputStream(new byte[0]);
  +         MarshalledValueInputStream is = new MarshalledValueInputStream(baos);
  +         loader.storeEntireState(is);
            fail();
         } catch (IllegalStateException expected) {}
   
  @@ -921,7 +945,16 @@
         } catch (IllegalArgumentException expected) {}
   
         /* Commit and rollback after commit. */
  -      loader.storeEntireState(null);
  +      
  +      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);  
  +      os.close();
  +      
  +      ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
  +      MarshalledValueInputStream is = new MarshalledValueInputStream(bais);
  +      loader.storeEntireState(is);
  +      is.close();
  +      
         Object txnKey = new Object();
         loader.prepare(txnKey, mods, false);
         loader.commit(txnKey);
  @@ -935,7 +968,10 @@
         } catch (IllegalArgumentException expected) {}
   
         /* Commit and rollback after rollback. */
  -      loader.storeEntireState(null);
  +      bais = new ByteArrayInputStream(baos.toByteArray());
  +      is = new MarshalledValueInputStream(bais);
  +      loader.storeEntireState(is);
  +      is.close();
         txnKey = new Object();
         loader.prepare(txnKey, mods, false);
         loader.rollback(txnKey);
  @@ -1019,13 +1055,37 @@
         throws Exception {
   
         startLoader(false, null);
  +      byte [] nullState = null;
   
         /* Empty state. */
  -      assertEquals(0, loader.loadEntireState().length);
  -      loader.storeEntireState(new byte[0]);
  -      assertEquals(0, loader.loadEntireState().length);
  -      loader.storeEntireState(null);
  -      assertEquals(0, loader.loadEntireState().length);
  +      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +      loader.loadEntireState(os);
  +      os.close();
  +      assertEquals(STREAM_HEADER_LENGTH, baos.size());
  +      
  +      ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
  +      MarshalledValueInputStream is = new MarshalledValueInputStream(bais);
  +      loader.storeEntireState(is);
  +      is.close();
  +      
  +      baos = new ByteArrayOutputStream(1024);
  +      os = new MarshalledValueOutputStream(baos);
  +      loader.loadEntireState(os);
  +      os.close();
  +      assertEquals(STREAM_HEADER_LENGTH, baos.size());
  +      
  +      bais = new ByteArrayInputStream(baos.toByteArray());
  +      is = new MarshalledValueInputStream(bais);
  +      loader.storeEntireState(is);
  +      is.close();
  +      
  +      baos = new ByteArrayOutputStream(1024);
  +      os = new MarshalledValueOutputStream(baos);
  +      loader.loadEntireState(os);
  +      os.close();
  +      assertEquals(STREAM_HEADER_LENGTH, baos.size());
  +      
         assertEquals(null, loader.get(FQN));
   
         /* Use a complex object to ensure that the class catalog is used. */
  @@ -1040,16 +1100,31 @@
         assertEquals(2, loader.get(FQN).size());
   
         /* Save state. */
  -      byte[] state = loader.loadEntireState();
  -      assertTrue(state.length > 0);
  +      baos = new ByteArrayOutputStream(1024);
  +      os = new MarshalledValueOutputStream(baos);
  +      loader.loadEntireState(os);
  +      os.writeObject(StateTransferManager.STREAMING_DELIMETER_NODE);
  +      assertTrue(baos.size()>STREAM_HEADER_LENGTH);
  +      os.close();
  +      
  +      byte [] savedState = baos.toByteArray();
   
         /* Clear state. */
  -      loader.storeEntireState(null);
  -      assertEquals(0, loader.loadEntireState().length);
  +      baos = new ByteArrayOutputStream(1024);
  +      os = new MarshalledValueOutputStream(baos);
  +      os.close();
  +      bais = new ByteArrayInputStream(baos.toByteArray());
  +      is = new MarshalledValueInputStream(bais);
  +      loader.storeEntireState(is);
  +      is.close();
  +      
         assertEquals(null, loader.get(FQN));
   
         /* Restore state. */
  -      loader.storeEntireState(state);
  +      bais = new ByteArrayInputStream(savedState);
  +      is = new MarshalledValueInputStream(bais);
  +      loader.storeEntireState(is);
  +      is.close();
         assertEquals(c1, loader.get(FQN).get(new Integer(1)));
         assertEquals(c2, loader.get(FQN).get(new Integer(2)));
         assertEquals(2, loader.get(FQN).size());
  
  
  
  1.5       +11 -10    JBossCache/tests/functional/org/jboss/cache/loader/DummyCacheLoader.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: DummyCacheLoader.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/loader/DummyCacheLoader.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -b -r1.4 -r1.5
  --- DummyCacheLoader.java	30 Aug 2006 19:09:56 -0000	1.4
  +++ DummyCacheLoader.java	31 Aug 2006 14:56:46 -0000	1.5
  @@ -10,6 +10,8 @@
   import org.jboss.cache.Modification;
   import org.jboss.cache.TreeCache;
   
  +import java.io.ObjectInputStream;
  +import java.io.ObjectOutputStream;
   import java.util.HashMap;
   import java.util.List;
   import java.util.Map;
  @@ -254,25 +256,24 @@
         m_transactions.remove(tx);
      }
   
  -   public byte[] loadEntireState() throws Exception
  +   public void loadEntireState(ObjectOutputStream os) throws Exception
      {
  -      return new byte[0];
  +      //intentional no-op      
      }
   
  -   /**
  -    * Store the given state in secondary storage. Overwrite whatever is currently in seconday storage.
  -    */
  -   public void storeEntireState(byte[] state) throws Exception
  +   public void loadState(Fqn subtree, ObjectOutputStream os) throws Exception
      {
  +      // intentional no-op      
      }
   
  -   public byte[] loadState(Fqn subtree) throws Exception
  +   public void storeEntireState(ObjectInputStream is) throws Exception
      {
  -      return new byte[0];
  +      // intentional no-op      
      }
   
  -   public void storeState(byte[] state, Fqn subtree) throws Exception
  +   public void storeState(Fqn subtree, ObjectInputStream is) throws Exception
      {
  +      // intentional no-op      
      }
   
      public void create() throws Exception
  
  
  
  1.28      +34 -8     JBossCache/tests/functional/org/jboss/cache/loader/CacheLoaderTestsBase.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: CacheLoaderTestsBase.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/loader/CacheLoaderTestsBase.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -b -r1.27 -r1.28
  --- CacheLoaderTestsBase.java	21 Aug 2006 17:05:50 -0000	1.27
  +++ CacheLoaderTestsBase.java	31 Aug 2006 14:56:46 -0000	1.28
  @@ -2,13 +2,19 @@
   
   import org.jboss.cache.*;
   import org.jboss.cache.config.Configuration;
  +import org.jboss.cache.statetransfer.StateTransferManager;
   import org.jboss.cache.transaction.DummyTransactionManager;
  +import org.jboss.invocation.MarshalledValueInputStream;
  +import org.jboss.invocation.MarshalledValueOutputStream;
   
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
   
   import javax.transaction.NotSupportedException;
   import javax.transaction.Transaction;
  +
  +import java.io.ByteArrayInputStream;
  +import java.io.ByteArrayOutputStream;
   import java.io.File;
   import java.io.Serializable;
   import java.util.*;
  @@ -16,7 +22,7 @@
   /**
    * Commons tests for all CacheLoaders
    * @author Bela Ban
  - * @version $Id: CacheLoaderTestsBase.java,v 1.27 2006/08/21 17:05:50 msurtani Exp $
  + * @version $Id: CacheLoaderTestsBase.java,v 1.28 2006/08/31 14:56:46 vblagojevic Exp $
    */
   abstract public class CacheLoaderTestsBase extends AbstractCacheLoaderTestBase {
   
  @@ -1341,7 +1347,10 @@
         loader.remove(Fqn.fromString("/"));
         int num=0;
         try {
  -         num=loader.loadEntireState().length;
  +         ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +         MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +         loader.loadEntireState(os);
  +         num = baos.size();
         }
         catch(UnsupportedOperationException ex) {
            System.out.println("caught unsupported operation exception that's okay: " + ex);
  @@ -1352,7 +1361,10 @@
         List mods = createUpdates();
         loader.prepare(txnKey, mods, false);
         loader.rollback(txnKey);
  -      assertEquals(num, loader.loadEntireState().length);
  +      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +      loader.loadEntireState(os);
  +      assertEquals(num, baos.size());
      }
   
      /**
  @@ -1362,7 +1374,10 @@
         loader.remove(Fqn.fromString("/"));
         int num=0;
         try {
  -         num=loader.loadEntireState().length;
  +         ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +         MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +         loader.loadEntireState(os);
  +         num = baos.size();
         }
         catch(UnsupportedOperationException ex) {
            System.out.println("caught unsupported operation exception that's okay: " + ex);
  @@ -1373,7 +1388,10 @@
         List mods = createUpdates();
         loader.prepare(txnKey, mods, false);
         loader.rollback(txnKey);
  -      assertEquals(num, loader.loadEntireState().length);
  +      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +      loader.loadEntireState(os);
  +      assertEquals(num, baos.size());
      }
   
      /**
  @@ -1535,8 +1553,13 @@
         // Save state
         byte[] state=null;
         try {
  -         state=loader.loadEntireState();
  -         assertTrue(state.length > 0);
  +         ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +         MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +         loader.loadEntireState(os);
  +         os.writeObject(StateTransferManager.STREAMING_DELIMETER_NODE);
  +         os.close();
  +         assertTrue(baos.size()>0);
  +         state = baos.toByteArray();         
         }
         catch(UnsupportedOperationException ex) {
            System.out.println("caught unsupported operation exception (this is expected): " + ex);
  @@ -1545,7 +1568,10 @@
   
         /* Restore state. */
         try {
  -         loader.storeEntireState(state);
  +         ByteArrayInputStream bais = new ByteArrayInputStream(state);
  +         MarshalledValueInputStream is = new MarshalledValueInputStream(bais);
  +         loader.storeEntireState(is);
  +         is.close();
         }
         catch(UnsupportedOperationException ex) {
            System.out.println("caught unsupported operation exception (this is expected): " + ex);
  
  
  
  1.3       +22 -1     JBossCache/tests/functional/org/jboss/cache/loader/InterceptorSynchronizationTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: InterceptorSynchronizationTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/loader/InterceptorSynchronizationTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- InterceptorSynchronizationTest.java	19 Jul 2006 08:29:19 -0000	1.2
  +++ InterceptorSynchronizationTest.java	31 Aug 2006 14:56:46 -0000	1.3
  @@ -6,6 +6,8 @@
   import org.jboss.cache.TreeCache;
   import org.jboss.cache.Modification;
   
  +import java.io.ObjectInputStream;
  +import java.io.ObjectOutputStream;
   import java.util.*;
   
   /**
  @@ -128,7 +130,7 @@
           public void rollback(Object arg0) {
           }
   
  -        public byte[] loadEntireState() throws Exception {
  +        /*public byte[] loadEntireState() throws Exception {
               return null;
           }
   
  @@ -143,6 +145,25 @@
   
           public void storeState(byte[] state, Fqn subtree) throws Exception
           {
  +        }*/
  +        
  +        public void loadEntireState(ObjectOutputStream os) throws Exception
  +        {
  +           // nothing to do here           
  +        }
  +
  +        public void loadState(Fqn subtree, ObjectOutputStream os) throws Exception
  +        {
  +           // nothing to do here  
  +        }
  +        public void storeEntireState(ObjectInputStream is) throws Exception
  +        {
  +           // nothing to do here          
  +        }
  +
  +        public void storeState(Fqn subtree, ObjectInputStream is) throws Exception
  +        {
  +           // nothing to do here
           }
   
           public void create() throws Exception {
  
  
  
  1.13      +18 -5     JBossCache/tests/functional/org/jboss/cache/loader/AsyncFileCacheLoaderTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: AsyncFileCacheLoaderTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/loader/AsyncFileCacheLoaderTest.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -b -r1.12 -r1.13
  --- AsyncFileCacheLoaderTest.java	20 Jul 2006 09:03:53 -0000	1.12
  +++ AsyncFileCacheLoaderTest.java	31 Aug 2006 14:56:46 -0000	1.13
  @@ -8,7 +8,12 @@
   import org.jboss.cache.TreeCache;
   import org.jboss.cache.Modification;
   import org.jboss.cache.config.Configuration;
  +import org.jboss.cache.statetransfer.StateTransferManager;
  +import org.jboss.invocation.MarshalledValueInputStream;
  +import org.jboss.invocation.MarshalledValueOutputStream;
   
  +import java.io.ByteArrayInputStream;
  +import java.io.ByteArrayOutputStream;
   import java.util.Map;
   import java.util.HashMap;
   import java.util.Collections;
  @@ -130,15 +135,23 @@
          loader.remove(X);
          cache.put(X, "key1", "value1");
          Thread.sleep(1000);
  -       byte b[] = loader.loadEntireState();
  -       assertTrue(b.length > 0);
  +       ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +       MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +       loader.loadEntireState(os);
  +       os.writeObject(StateTransferManager.STREAMING_DELIMETER_NODE);
  +       //os.close();
  +       assertTrue(baos.size() > 0);
          loader.remove(X);
  -       loader.storeEntireState(b);
  +       
  +       ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
  +       MarshalledValueInputStream is = new MarshalledValueInputStream(bais);
  +       loader.storeEntireState(is);
  +       //is.close();
          assertEquals("X found", true, loader.exists(X));
          loader.remove(X);
       }
   
  -    public void testWritesGetWritten() throws Exception
  +    /*public void testWritesGetWritten() throws Exception
       {
           configureCache();
           Fqn fqn = Fqn.fromString("/blah");
  @@ -169,6 +182,6 @@
   
           // clean up
           loader.remove(fqn);
  -    }
  +    }*/
   
   }
  
  
  
  1.6       +27 -6     JBossCache/tests/functional/org/jboss/cache/loader/ExtendedCacheLoaderTestsBase.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: ExtendedCacheLoaderTestsBase.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests/functional/org/jboss/cache/loader/ExtendedCacheLoaderTestsBase.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -r1.5 -r1.6
  --- ExtendedCacheLoaderTestsBase.java	19 Jul 2006 08:29:19 -0000	1.5
  +++ ExtendedCacheLoaderTestsBase.java	31 Aug 2006 14:56:46 -0000	1.6
  @@ -7,8 +7,14 @@
   
   package org.jboss.cache.loader;
   
  +import java.io.ByteArrayInputStream;
  +import java.io.ByteArrayOutputStream;
  +
   import org.jboss.cache.Fqn;
   import org.jboss.cache.buddyreplication.BuddyManager;
  +import org.jboss.cache.statetransfer.StateTransferManager;
  +import org.jboss.invocation.MarshalledValueInputStream;
  +import org.jboss.invocation.MarshalledValueOutputStream;
   
   /**
    * Base class for unit tests of ExtendedCacheLoader implementations.
  @@ -78,13 +84,21 @@
         assertEquals(2, extendedLoader.get(SUBTREE_FQN).size());
   
         /* Save state. */
  -      byte[] state = extendedLoader.loadState(SUBTREE_FQN);
  -      assertTrue(state.length > 0);
  +      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +      extendedLoader.loadState(SUBTREE_FQN,os);
  +      os.writeObject(StateTransferManager.STREAMING_DELIMETER_NODE);
  +      os.close();
  +      assertTrue(baos.size()>0);      
         extendedLoader.remove(SUBTREE_FQN);
   
   
         /* Restore state. */
  -      extendedLoader.storeState(state, SUBTREE_FQN);
  +      
  +      ByteArrayInputStream bais = new ByteArrayInputStream( baos.toByteArray());
  +      MarshalledValueInputStream is = new MarshalledValueInputStream(bais);
  +      extendedLoader.storeState(SUBTREE_FQN,is);
  +      is.close();
         addDelay();
         assertEquals(c1, extendedLoader.get(FQN).get(new Integer(1)));
         assertEquals(c2, extendedLoader.get(FQN).get(new Integer(2)));
  @@ -119,11 +133,18 @@
         assertEquals(2, extendedLoader.get(SUBTREE_FQN).size());
   
         /* Save state. */
  -      byte[] state = extendedLoader.loadState(FQN);
  -      assertTrue(state.length > 0);
  +      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
  +      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
  +      extendedLoader.loadState(FQN,os);
  +      os.writeObject(StateTransferManager.STREAMING_DELIMETER_NODE);
  +      os.close();
  +      assertTrue(baos.size()>0);      
   
         /* Restore state. */
  -      extendedLoader.storeState(state, BUDDY_BASE);
  +      ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
  +      MarshalledValueInputStream is = new MarshalledValueInputStream(bais);
  +      extendedLoader.storeState(BUDDY_BASE,is);   
  +      is.close();
         addDelay();
         assertEquals(c1, extendedLoader.get(BUDDY_PLUS_FQN).get(new Integer(1)));
         assertEquals(c2, extendedLoader.get(BUDDY_PLUS_FQN).get(new Integer(2)));
  
  
  



More information about the jboss-cvs-commits mailing list