[jboss-svn-commits] JBL Code SVN: r31658 - in labs/jbosstm/trunk/ArjunaCore/arjuna: classes/com/arjuna/ats/arjuna/objectstore/type and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Feb 13 13:56:27 EST 2010


Author: mark.little at jboss.com
Date: 2010-02-13 13:56:27 -0500 (Sat, 13 Feb 2010)
New Revision: 31658

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ObjectStoreType.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/StateType.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/type/ObjectStoreTypeManager.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/common/TypesUnitTest.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTest.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTypeManagerTest.java
Log:
https://jira.jboss.org/jira/browse/JBTM-698

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ObjectStoreType.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ObjectStoreType.java	2010-02-13 14:59:29 UTC (rev 31657)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ObjectStoreType.java	2010-02-13 18:56:27 UTC (rev 31658)
@@ -187,13 +187,13 @@
             return CACHED;
         
         int type = ObjectStoreTypeManager.manager().getType(c);
-        
+
         if (type >= 0)
             return type;
         
         if (tsLogger.arjLoggerI18N.isWarnEnabled())
         {
-            tsLogger.arjLoggerI18N.warn("ObjectStoreType_1", new Object[]
+            tsLogger.arjLoggerI18N.warn("com.arjuna.ats.arjuna.objectstore.ObjectStoreType_1", new Object[]
             { c });
         }
 

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/StateType.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/StateType.java	2010-02-13 14:59:29 UTC (rev 31657)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/StateType.java	2010-02-13 18:56:27 UTC (rev 31658)
@@ -69,6 +69,10 @@
             return "StateType.OS_ORIGINAL";
         case StateType.OS_INVISIBLE:
             return "StateType.OS_INVISIBLE";
+        case StateType.OS_SHARED:
+            return "StateType.OS_SHARED";
+        case StateType.OS_UNSHARED:
+            return "StateType.OS_UNSHARED";
         default:
             return "Illegal";
         }

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/type/ObjectStoreTypeManager.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/type/ObjectStoreTypeManager.java	2010-02-13 14:59:29 UTC (rev 31657)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/type/ObjectStoreTypeManager.java	2010-02-13 18:56:27 UTC (rev 31658)
@@ -33,7 +33,6 @@
 
 import java.util.ArrayList;
 
-import com.arjuna.ats.arjuna.coordinator.RecordType;
 import com.arjuna.ats.arjuna.objectstore.ObjectStore;
 
 /**
@@ -66,7 +65,7 @@
                 return _map.get(i).getType();
         }
         
-        return RecordType.UNTYPED;
+        return -1;
     }
     
     public synchronized void add (ObjectStoreTypeMap map)

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/common/TypesUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/common/TypesUnitTest.java	2010-02-13 14:59:29 UTC (rev 31657)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/common/TypesUnitTest.java	2010-02-13 18:56:27 UTC (rev 31658)
@@ -33,10 +33,17 @@
 import com.arjuna.ats.arjuna.coordinator.AddOutcome;
 import com.arjuna.ats.arjuna.coordinator.RecordType;
 import com.arjuna.ats.arjuna.coordinator.TwoPhaseOutcome;
+import com.arjuna.ats.arjuna.exceptions.FatalError;
+import com.arjuna.ats.arjuna.objectstore.ObjectStoreType;
 import com.arjuna.ats.arjuna.objectstore.StateStatus;
 import com.arjuna.ats.arjuna.objectstore.StateType;
 import com.arjuna.ats.internal.arjuna.abstractrecords.ActivationRecord;
 import com.arjuna.ats.internal.arjuna.abstractrecords.PersistenceRecord;
+import com.arjuna.ats.internal.arjuna.objectstore.ActionStore;
+import com.arjuna.ats.internal.arjuna.objectstore.CacheStore;
+import com.arjuna.ats.internal.arjuna.objectstore.HashedStore;
+import com.arjuna.ats.internal.arjuna.objectstore.JDBCStore;
+import com.arjuna.ats.internal.arjuna.objectstore.LogStore;
 
 import static org.junit.Assert.*;
 
@@ -101,6 +108,11 @@
         StateType.printStateType(pw, StateType.OS_INVISIBLE);
         
         assertEquals(StateType.stateTypeString(StateType.OS_ORIGINAL), "StateType.OS_ORIGINAL");
+        assertEquals(StateType.stateTypeString(StateType.OS_INVISIBLE), "StateType.OS_INVISIBLE");
+        assertEquals(StateType.stateTypeString(StateType.OS_SHADOW), "StateType.OS_SHADOW");
+        assertEquals(StateType.stateTypeString(StateType.OS_SHARED), "StateType.OS_SHARED");
+        assertEquals(StateType.stateTypeString(StateType.OS_UNSHARED), "StateType.OS_UNSHARED");
+        assertEquals(StateType.stateTypeString(-1), "Illegal");
     }
     
     @Test
@@ -155,7 +167,39 @@
         for (int i = 0; i < ActionStatus.NO_ACTION; i++)
             assertTrue(ActionStatus.stringForm(i) != null);
     }
+    
+    @Test
+    public void testObjectStoreType ()
+    {
+        PrintWriter pw = new PrintWriter(new StringWriter());
+        
+        ObjectStoreType.print(pw, ObjectStoreType.ACTION);
+        
+        assertEquals(ObjectStoreType.typeToClass(ObjectStoreType.ACTION), ActionStore.class);
+        assertEquals(ObjectStoreType.typeToClass(ObjectStoreType.JDBC), JDBCStore.class);
+        assertEquals(ObjectStoreType.typeToClass(ObjectStoreType.ACTIONLOG), LogStore.class);
+        assertEquals(ObjectStoreType.typeToClass(ObjectStoreType.CACHED), CacheStore.class);
+        assertEquals(ObjectStoreType.typeToClass(ObjectStoreType.HASHED), HashedStore.class);
+        
+        assertEquals(ObjectStoreType.typeToClass(30), null);
 
+        assertEquals(ObjectStoreType.classToType(ActionStore.class), ObjectStoreType.ACTION);
+        assertEquals(ObjectStoreType.classToType(JDBCStore.class), ObjectStoreType.JDBC);
+        assertEquals(ObjectStoreType.classToType(LogStore.class), ObjectStoreType.ACTIONLOG);
+        assertEquals(ObjectStoreType.classToType(CacheStore.class), ObjectStoreType.CACHED);
+        assertEquals(ObjectStoreType.classToType(HashedStore.class), ObjectStoreType.HASHED);
+        
+        try
+        {
+            ObjectStoreType.classToType(RecordType.class);
+            
+            fail();
+        }
+        catch (final FatalError ex)
+        {
+        }        
+    }
+
     @Test
     public void testRecordType ()
     {

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTest.java	2010-02-13 14:59:29 UTC (rev 31657)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTest.java	2010-02-13 18:56:27 UTC (rev 31658)
@@ -47,8 +47,10 @@
 import com.arjuna.ats.internal.arjuna.objectstore.ActionStore;
 import com.arjuna.ats.internal.arjuna.objectstore.FileLockingStore;
 import com.arjuna.ats.internal.arjuna.objectstore.HashedActionStore;
+import com.arjuna.ats.internal.arjuna.objectstore.HashedStore;
 import com.arjuna.ats.internal.arjuna.objectstore.NullActionStore;
 import com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore;
+import com.arjuna.ats.internal.arjuna.objectstore.ShadowingStore;
 import com.arjuna.ats.internal.arjuna.objectstore.VolatileStore;
 
 import org.junit.Test;
@@ -176,7 +178,7 @@
     @Test
     public void testActionStore () throws Exception
     {
-        ActionStore as = new ActionStore(System.getProperty("java.io.tmpdir"), StateType.OS_SHARED);
+        ActionStore as = new ActionStore(System.getProperty("java.io.tmpdir"));
         
         assertTrue(as.typeIs() != -1);
         
@@ -252,9 +254,48 @@
     }
     
     @Test
+    public void testHashedStore () throws Exception
+    {
+        HashedStore as = new HashedStore(System.getProperty("java.io.tmpdir"));
+        
+        assertTrue(as.typeIs() != -1);
+        
+        final OutputObjectState buff = new OutputObjectState();
+        final String tn = "/StateManager/junit";
+        
+        for (int i = 0; i < 100; i++)
+        {
+            Uid u = new Uid();
+            
+            as.write_uncommitted(u, tn, buff);
+            
+            as.commit_state(u, tn);
+            
+            assertTrue(as.currentState(u, tn) != StateStatus.OS_UNCOMMITTED);
+            
+            InputObjectState ios = new InputObjectState();
+            
+            as.allObjUids("", ios);
+            
+            assertTrue(as.read_uncommitted(u, tn) == null);
+            
+            as.write_committed(u, tn, buff);
+            as.read_committed(u, tn);
+            
+            assertTrue(!as.remove_uncommitted(u, tn));
+            
+            as.remove_committed(u, tn);
+            
+            assertTrue(!as.hide_state(u, tn));
+            
+            assertTrue(!as.reveal_state(u, tn));
+        }
+    }
+    
+    @Test
     public void testHashedActionStore () throws Exception
     {
-        HashedActionStore as = new HashedActionStore(System.getProperty("java.io.tmpdir"), StateType.OS_SHARED);
+        HashedActionStore as = new HashedActionStore(System.getProperty("java.io.tmpdir"));
         
         assertTrue(as.typeIs() != -1);
         
@@ -291,6 +332,45 @@
     }
     
     @Test
+    public void testShadowingStore () throws Exception
+    {
+        ShadowingStore as = new ShadowingStore(System.getProperty("java.io.tmpdir"));
+        
+        assertTrue(as.typeIs() != -1);
+        
+        final OutputObjectState buff = new OutputObjectState();
+        final String tn = "/StateManager/junit";
+        
+        for (int i = 0; i < 100; i++)
+        {
+            Uid u = new Uid();
+            
+            as.write_uncommitted(u, tn, buff);
+            
+            as.commit_state(u, tn);
+            
+            assertTrue(as.currentState(u, tn) != StateStatus.OS_UNCOMMITTED);
+            
+            InputObjectState ios = new InputObjectState();
+            
+            as.allObjUids("", ios);
+            
+            assertTrue(as.read_uncommitted(u, tn) == null);
+            
+            as.write_committed(u, tn, buff);
+            as.read_committed(u, tn);
+            
+            assertTrue(!as.remove_uncommitted(u, tn));
+            
+            as.remove_committed(u, tn);
+            
+            assertTrue(!as.hide_state(u, tn));
+            
+            assertTrue(!as.reveal_state(u, tn));
+        }
+    }
+    
+    @Test
     public void testNullActionStore () throws Exception
     {
         NullActionStore as = new NullActionStore(System.getProperty("java.io.tmpdir"), StateType.OS_SHARED);

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTypeManagerTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTypeManagerTest.java	2010-02-13 14:59:29 UTC (rev 31657)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTypeManagerTest.java	2010-02-13 18:56:27 UTC (rev 31658)
@@ -20,7 +20,6 @@
  */
 package com.hp.mwtests.ts.arjuna.objectstore;
 
-import com.arjuna.ats.arjuna.coordinator.RecordType;
 import com.arjuna.ats.arjuna.objectstore.ObjectStore;
 import com.arjuna.ats.arjuna.objectstore.ObjectStoreType;
 import com.arjuna.ats.arjuna.objectstore.type.ObjectStoreTypeManager;
@@ -41,11 +40,13 @@
 
         ObjectStoreTypeManager manager = ObjectStoreTypeManager.manager();
 
-        assertNull(manager.getObjectStoreClass(1001));
-        assertEquals(RecordType.UNTYPED, manager.getType(DummyObjectStoreImpl.class));
+        manager.add(new DummyObjectStoreTypeMap());
+        
+        assertTrue(manager.getObjectStoreClass(1001) != null);
+        assertEquals(1001, manager.getType(DummyObjectStoreImpl.class));
 
-        assertNull(ObjectStoreType.typeToClass(1001));
-        assertEquals(RecordType.UNTYPED, ObjectStoreType.classToType(DummyObjectStoreImpl.class));
+        assertEquals(ObjectStoreType.typeToClass(1001), DummyObjectStoreImpl.class);
+        assertEquals(1001, ObjectStoreType.classToType(DummyObjectStoreImpl.class));
 
         manager.add(new DummyObjectStoreTypeMap());
 



More information about the jboss-svn-commits mailing list