[jboss-svn-commits] JBL Code SVN: r29641 - in labs/jbosstm/trunk: ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Oct 16 11:52:10 EDT 2009
Author: jhalliday
Date: 2009-10-16 11:52:09 -0400 (Fri, 16 Oct 2009)
New Revision: 29641
Modified:
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.java
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/AbstractRecord.java
labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/recovery/DestroyRecoverTest.java
labs/jbosstm/trunk/qa/tests/src/org/jboss/jbossts/qa/ArjunaCore/LockManager/CrashRecovery/client/ActivateDestroyTest1.java
Log:
refactor AbstractRecord sort order handling. JBTM-627
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.java 2009-10-16 14:11:04 UTC (rev 29640)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.java 2009-10-16 15:52:09 UTC (rev 29641)
@@ -67,6 +67,7 @@
@FullPropertyName(name = "com.arjuna.ats.coordinator.checkedActionFactory")
private volatile String checkedActionFactory = null;
+ private volatile boolean alternativeRecordOrdering = false;
/**
* Returns the symbolic name for the action store type.
@@ -581,4 +582,29 @@
{
this.checkedActionFactory = checkedActionFactory;
}
+
+ /**
+ * Whether to use the alternative abstract record ordering.
+ * At present this is not fully documented, so stay away!
+ *
+ * Default: false
+ *
+ * @return <code>true</code> if order abstract records on type first, or
+ * <code>false</code> if order on Uid first.
+ */
+ public boolean isAlternativeRecordOrdering()
+ {
+ return alternativeRecordOrdering;
+ }
+
+ /**
+ * Set whether or not to use the alternative abstract record
+ * ordering. Don't try this whilst the system is running!
+ *
+ * @param alternativeRecordOrdering true for alternative (i.e. type) ordering, false for normal (i.e. Uid) ordering.
+ */
+ public void setAlternativeRecordOrdering(boolean alternativeRecordOrdering)
+ {
+ this.alternativeRecordOrdering = alternativeRecordOrdering;
+ }
}
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/AbstractRecord.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/AbstractRecord.java 2009-10-16 14:11:04 UTC (rev 29640)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/AbstractRecord.java 2009-10-16 15:52:09 UTC (rev 29641)
@@ -238,8 +238,7 @@
public final boolean equals (AbstractRecord ar)
{
- return ((com.arjuna.ats.arjuna.common.Configuration.useAlternativeOrdering()) ? typeEquals(ar)
- : orderEquals(ar));
+ return (useAlternativeOrdering ? typeEquals(ar) : orderEquals(ar));
}
/**
@@ -251,8 +250,7 @@
public final boolean lessThan (AbstractRecord ar)
{
- return ((com.arjuna.ats.arjuna.common.Configuration.useAlternativeOrdering()) ? typeLessThan(ar)
- : orderLessThan(ar));
+ return (useAlternativeOrdering ? typeLessThan(ar) : orderLessThan(ar));
}
/**
@@ -264,8 +262,7 @@
public final boolean greaterThan (AbstractRecord ar)
{
- return ((com.arjuna.ats.arjuna.common.Configuration.useAlternativeOrdering()) ? typeGreaterThan(ar)
- : orderGreaterThan(ar));
+ return (useAlternativeOrdering ? typeGreaterThan(ar) : orderGreaterThan(ar));
}
/**
@@ -703,4 +700,5 @@
private Uid uidOfObject;
private String typeOfObject;
+ private static final boolean useAlternativeOrdering = arjPropertyManager.getCoordinatorEnvironmentBean().isAlternativeRecordOrdering();
}
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/recovery/DestroyRecoverTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/recovery/DestroyRecoverTest.java 2009-10-16 14:11:04 UTC (rev 29640)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/recovery/DestroyRecoverTest.java 2009-10-16 15:52:09 UTC (rev 29641)
@@ -44,14 +44,14 @@
@Test
public void test()
{
+ arjPropertyManager.getCoordinatorEnvironmentBean().setAlternativeRecordOrdering(true);
+
AtomicAction A = new AtomicAction();
BasicObject bo = null;
Uid txId = null;
Uid objId = null;
boolean passed = true;
- com.arjuna.ats.arjuna.common.Configuration.setAlternativeOrdering(true);
-
try {
A.begin();
Modified: labs/jbosstm/trunk/qa/tests/src/org/jboss/jbossts/qa/ArjunaCore/LockManager/CrashRecovery/client/ActivateDestroyTest1.java
===================================================================
--- labs/jbosstm/trunk/qa/tests/src/org/jboss/jbossts/qa/ArjunaCore/LockManager/CrashRecovery/client/ActivateDestroyTest1.java 2009-10-16 14:11:04 UTC (rev 29640)
+++ labs/jbosstm/trunk/qa/tests/src/org/jboss/jbossts/qa/ArjunaCore/LockManager/CrashRecovery/client/ActivateDestroyTest1.java 2009-10-16 15:52:09 UTC (rev 29641)
@@ -23,6 +23,7 @@
import org.jboss.jbossts.qa.ArjunaCore.AbstractRecord.CrashRecovery.impl.CrashAbstractRecord;
import org.jboss.jbossts.qa.ArjunaCore.LockManager.impl.BasicLockRecord;
import org.jboss.jbossts.qa.ArjunaCore.Utils.BaseTestClient;
+import com.arjuna.ats.arjuna.common.arjPropertyManager;
/*
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003
@@ -39,6 +40,12 @@
{
public static void main(String[] args)
{
+ /*
+ * Default intentions list is to order by Uid (improves
+ * performance). But for this test we need to order by type.
+ */
+ arjPropertyManager.getCoordinatorEnvironmentBean().setAlternativeRecordOrdering(true);
+
ActivateDestroyTest1 test = new ActivateDestroyTest1(args);
}
@@ -55,13 +62,7 @@
try
{
- /*
- * Default intentions list is to order by Uid (improves
- * performance). But for this test we need to order by type.
- */
- com.arjuna.ats.arjuna.common.Configuration.setAlternativeOrdering(true);
-
BasicLockRecord basicRecord = new BasicLockRecord();
System.out.println("created object " + basicRecord.get_uid());
More information about the jboss-svn-commits
mailing list