[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