[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