[jboss-cvs] JBossCache/tests-50/functional/org/jboss/cache/pojo/rollback ...

Ben Wang bwang at jboss.com
Sun Sep 17 04:02:49 EDT 2006


  User: bwang   
  Date: 06/09/17 04:02:49

  Modified:    tests-50/functional/org/jboss/cache/pojo/rollback 
                        MapTxUndoTest.java
  Log:
  JIRA JBCACHE-763 Collection rollback.
  
  Revision  Changes    Path
  1.3       +43 -0     JBossCache/tests-50/functional/org/jboss/cache/pojo/rollback/MapTxUndoTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: MapTxUndoTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/tests-50/functional/org/jboss/cache/pojo/rollback/MapTxUndoTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- MapTxUndoTest.java	8 Sep 2006 07:55:59 -0000	1.2
  +++ MapTxUndoTest.java	17 Sep 2006 08:02:49 -0000	1.3
  @@ -21,6 +21,7 @@
   import javax.transaction.TransactionManager;
   import java.util.ArrayList;
   import java.util.HashMap;
  +import java.util.Map;
   
   /**
    * Additional basic tests
  @@ -133,6 +134,48 @@
         assertFalse("Should not have cache interceptor ", isProxy(test.getHobbies()));
      }
   
  +   /**
  +    * Contributed by Niztan Niv
  +    * @throws Exception
  +    */
  +   public void testNestedMapWithRollback() throws Exception
  +   {
  +       // create cached data objects
  +       Map obj1 = new HashMap();
  +       obj1.put("id", "1");
  +       cache_.attach("objs/1", obj1);
  +       obj1 = (Map) cache_.find("objs/1");
  +
  +       Map obj2 = new HashMap();
  +       obj2.put("id", "2");
  +       cache_.attach("objs/2", obj2);
  +       obj2 = (Map) cache_.find("objs/2");
  +
  +       // create cached collection of data objects
  +       Map indexMap = new HashMap();
  +       cache_.attach("objsIndex", indexMap);
  +       indexMap = (Map) cache_.find("objsIndex");
  +
  +       // initialize collection by adding a data object
  +       final String KEY = "KEY";
  +       indexMap.put(KEY, obj1);
  +
  +       Object beforeModify = indexMap.get(KEY);
  +       System.out.println("beforeModify: " + beforeModify + ", data object id: " + ((Map)beforeModify).get("id"));
  +
  +       // modify the collection by replacing the first data object with the second
  +       // and then roll-back the transaction
  +       tx_mgr.begin();
  +       indexMap.put(KEY, obj2);
  +       tx_mgr.rollback();
  +
  +       Object afterRollback = indexMap.get(KEY);
  +       System.out.println("afterRollback: " + afterRollback + ", data object id: " + ((Map)afterRollback).get("id"));
  +
  +       // check if state of collection was restored
  +       assertEquals(beforeModify, afterRollback);
  +   }
  +
      public static Test suite() throws Exception
      {
         return new TestSuite(MapTxUndoTest.class);
  
  
  



More information about the jboss-cvs-commits mailing list