[jboss-svn-commits] JBL Code SVN: r37473 - in labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star: util and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 21 14:15:06 EDT 2011


Author: mmusgrov
Date: 2011-09-21 14:15:06 -0400 (Wed, 21 Sep 2011)
New Revision: 37473

Modified:
   labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/resource/RESTRecord.java
   labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/util/TxSupport.java
Log:
[BLACKTIE-377] Add in support TransactionCommitOnePhase

Modified: labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/resource/RESTRecord.java
===================================================================
--- labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/resource/RESTRecord.java	2011-09-21 14:49:07 UTC (rev 37472)
+++ labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/resource/RESTRecord.java	2011-09-21 18:15:06 UTC (rev 37473)
@@ -153,6 +153,8 @@
             return TwoPhaseOutcome.FINISH_OK;
         else if (TxSupport.COMMITTED.equals(status))
             return TwoPhaseOutcome.FINISH_OK;
+        else if (TxSupport.COMMITTED_ONE_PHASE.equals(status))
+            return TwoPhaseOutcome.FINISH_OK;
         else if (TxSupport.PREPARED.equals(status))
             return TwoPhaseOutcome.PREPARE_OK;
         else if (TxSupport.READONLY.equals(status))
@@ -205,8 +207,10 @@
 
         try
         {
-            status = TxSupport.getStatus(new TxSupport().httpRequest(new int[] {HttpURLConnection.HTTP_OK}, this.terminateUrl, "PUT",
-                    TxSupport.STATUS_MEDIA_TYPE, TxSupport.toStatusContent(TxSupport.PREPARED), null));
+            status = TxSupport.getStatus(
+				new TxSupport().httpRequest(new int[] {HttpURLConnection.HTTP_OK},
+					this.terminateUrl, "PUT", TxSupport.STATUS_MEDIA_TYPE,
+					TxSupport.toStatusContent(TxSupport.PREPARED), null));
 
             prepared = true;
 
@@ -262,7 +266,7 @@
         if (!prepared)
             return TwoPhaseOutcome.NOT_PREPARED;
 
-        return topLevelOnePhaseCommit();
+        return doCommit(TxSupport.COMMITTED);
     }
 
     public int nestedOnePhaseCommit()
@@ -278,6 +282,11 @@
      */
     public int topLevelOnePhaseCommit()
     {
+		return doCommit(TxSupport.COMMITTED_ONE_PHASE);
+    }
+
+    private int doCommit(String nextState)
+    {
 		TxSupport txs = new TxSupport();
 
         check_halt(Fault.commit_halt);
@@ -290,12 +299,12 @@
         {
             if (log.isTraceEnabled())
                 log.trace("committing " + this.terminateUrl);
-            
+  
             if (!TxSupport.isReadOnly(status)) {
                 txs = new TxSupport();
 				String body = txs.httpRequest(new int[] {HttpURLConnection.HTTP_OK},
 					this.terminateUrl, "PUT", TxSupport.STATUS_MEDIA_TYPE,
-					TxSupport.toStatusContent(TxSupport.COMMITTED), null);	// ONE_PHASE_COMMIT_CONTENT
+					TxSupport.toStatusContent(nextState), null);
 
                 status = txs.getStatus(body);
 
@@ -319,7 +328,6 @@
 
         return statusToOutcome(status);
     }
-
     private boolean checkFinishError(int expected, boolean commit) throws HttpResponseException
     {
         if (expected == HttpURLConnection.HTTP_NOT_FOUND)

Modified: labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/util/TxSupport.java
===================================================================
--- labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/util/TxSupport.java	2011-09-21 14:49:07 UTC (rev 37472)
+++ labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/util/TxSupport.java	2011-09-21 18:15:06 UTC (rev 37473)
@@ -75,6 +75,7 @@
     public static final String ABORTED = "TransactionRolledBack";
     public static final String COMMITTING = "TransactionCommitting";
     public static final String COMMITTED = "TransactionCommitted";
+    public static final String COMMITTED_ONE_PHASE = "TransactionCommittedOnePhase";
     public static final String H_ROLLBACK = "TransactionHeuristicRollback";
     public static final String H_COMMIT = "TransactionHeuristicCommit";
     public static final String H_HAZARD = "TransactionHeuristicHazard";



More information about the jboss-svn-commits mailing list