[jboss-svn-commits] JBL Code SVN: r36249 - in labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US: extras and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Dec 7 20:35:48 EST 2010


Author: misty at redhat.com
Date: 2010-12-07 20:35:48 -0500 (Tue, 07 Dec 2010)
New Revision: 36249

Added:
   labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/extras/ArjunaOTS.idl
   labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/extras/CosTransactions.idl
Modified:
   labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/IDL_Definitions.xml
Log:
Converted IDL_Definitions.xml

Modified: labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/IDL_Definitions.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/IDL_Definitions.xml	2010-12-08 01:31:54 UTC (rev 36248)
+++ labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/IDL_Definitions.xml	2010-12-08 01:35:48 UTC (rev 36249)
@@ -3,7 +3,21 @@
 <!ENTITY % BOOK_ENTITIES SYSTEM "ArjunaJTS_Development_Guide.ent">
 %BOOK_ENTITIES;
 ]>
-<chapter id="chap-ArjunaJTS_Development_Guide-Test_Chapter">
-  <title></title>
-</chapter>
+<appendix>
+  <title>IDL definitions</title>
+  <para>
+    Because of differences between ORBs, and errors in certain ORBs, the idl available with JBossTS may differ from that
+    shown below. You should always inspect the idl files prior to implementation to determine what, if any, differences
+    exist.
+  </para>
+  <example>
+    <title>CosTransactions.idl</title>
+    <programlisting language="Java" role="JAVA"><xi:include href="extras/CosTransactions.idl" xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" /></programlisting>
+  </example>
+  
+  <example>
+    <title>ArjunaOTS.IDL</title>
+    <programlisting role="JAVA" language="Java"><xi:include href="extras/ArjunaOTS.idl" xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" /></programlisting>
+  </example>
+</appendix>
 

Added: labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/extras/ArjunaOTS.idl
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/extras/ArjunaOTS.idl	                        (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/extras/ArjunaOTS.idl	2010-12-08 01:35:48 UTC (rev 36249)
@@ -0,0 +1,54 @@
+#ifndef ARJUNAOTS_IDL_
+#define ARJUNAOTS_IDL_
+
+#include <idl/CosTransactions.idl>
+module ArjunaOTS
+{
+    exception ActiveTransaction {};
+    exception BadControl {};
+    exception Destroyed {};
+    exception ActiveThreads {};
+    exception InterpositionFailed {};
+
+    interface UidCoordinator : CosTransactions::Coordinator
+    {
+   readonly attribute string uid;
+   readonly attribute string topLevelUid;
+    };
+    interface ActionControl : CosTransactions::Control
+    {
+        CosTransactions::Control getParentControl ()
+                                                raises (CosTransactions::Unavailable,
+                                                  CosTransactions::NotSubtransaction);
+        void destroy () raises (ActiveTransaction, ActiveThreads, BadControl,
+                                Destroyed);
+    };
+
+    interface ArjunaSubtranAwareResource : 
+                                     CosTransactions::SubtransactionAwareResource
+    {
+   CosTransactions::Vote prepare_subtransaction ();
+    };
+    interface ArjunaTransaction : UidCoordinator, CosTransactions::Terminator
+    {
+    };
+
+    interface OTSAbstractRecord : ArjunaSubtranAwareResource
+    {
+        readonly attribute long typeId;
+        readonly attribute string uid;
+
+        boolean propagateOnAbort ();
+        boolean propagateOnCommit ();
+
+        boolean saveRecord ();
+
+        void merge (in OTSAbstractRecord record);
+        void alter (in OTSAbstractRecord record);
+
+        boolean shouldAdd (in OTSAbstractRecord record);
+        boolean shouldAlter (in OTSAbstractRecord record);
+        boolean shouldMerge (in OTSAbstractRecord record);
+        boolean shouldReplace (in OTSAbstractRecord record);
+    };
+};
\ No newline at end of file

Added: labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/extras/CosTransactions.idl
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/extras/CosTransactions.idl	                        (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTS/docs/ArjunaJTS_Development_Guide/en-US/extras/CosTransactions.idl	2010-12-08 01:35:48 UTC (rev 36249)
@@ -0,0 +1,145 @@
+#ifndef COSTRANSACTIONS_IDL_
+#define COSTRANSACTIONS_IDL_
+module CosTransactions
+{
+    enum Status { StatusActive, StatusMarkedRollback, StatusPrepared,
+        StatusCommitted, StatusRolledback, StatusUnknown,
+           StatusPreparing, StatusCommitting, StatusRollingBack,
+        StatusNoTransaction };
+
+    enum Vote { VoteCommit, VoteRollback, VoteReadOnly };
+    // Standard exceptions - some Orb supports them
+exception TransactionRequired {};
+exception TransactionRolledBack {};
+exception InvalidTransaction {};
+    // Heuristic exceptions
+exception HeuristicRollback {};
+       exception HeuristicCommit {};
+       exception HeuristicMixed {};
+       exception HeuristicHazard {};
+    // Exception from ORB
+exception WrongTransaction {};
+    // Other transaction related exceptions
+exception SubtransactionsUnavailable {};
+exception NotSubtransaction {};
+exception Inactive {};
+exception NotPrepared {};
+exception NoTransaction {};
+exception InvalidControl {};
+exception Unavailable {};
+exception SynchronizationUnavailable {};
+    // Forward references for later interfaces
+interface Control;
+interface Terminator;
+interface Coordinator;
+interface Resource;
+interface RecoveryCoordinator;
+interface SubtransactionAwareResource;
+interface TransactionFactory;
+interface TransactionalObject;
+interface Current;
+interface Synchronization;
+    // Formally part of CosTSInteroperation
+struct otid_t
+{
+    long formatID;
+    long bequal_length;
+    sequence <octet> tid;
+};
+struct TransIdentity
+       {
+           Coordinator coord;
+       Terminator term;
+           otid_t otid;
+       };
+struct PropagationContext
+      {
+       unsigned long timeout;
+          TransIdentity currentTransaction;
+       sequence <TransIdentity> parents;
+       any implementation_specific_data;
+      };
+      interface Current : CORBA::Current
+      {
+       void begin () raises (SubtransactionsUnavailable);
+       void commit (in boolean report_heuristics) raises (NoTransaction, HeuristicMixed, HeuristicHazard, TransactionRolledBack);
+       void rollback () raises (NoTransaction);
+       void rollback_only () raises (NoTransaction);
+
+       Status get_status ();
+       string get_transaction_name ();
+       void set_timeout (in unsigned long seconds);
+
+       Control get_control ();
+       Control suspend ();
+       void resume (in Control which) raises (InvalidControl);
+      };
+interface TransactionFactory
+      {
+       Control create (in unsigned long time_out);
+           Control recreate (in PropagationContext ctx);
+      };
+interface Control
+      {
+       Terminator get_terminator () raises (Unavailable);
+       Coordinator get_coordinator () raises (Unavailable);
+      };
+interface Terminator
+      {
+       void commit (in boolean report_heuristics) raises (HeuristicMixed, HeuristicHazard, TransactionRolledBack);
+       void rollback ();
+      };
+      interface Coordinator
+      {
+       Status get_status ();
+       Status get_parent_status ();
+       Status get_top_level_status ();
+
+       boolean is_same_transaction (in Coordinator tc);
+       boolean is_related_transaction (in Coordinator tc);
+       boolean is_ancestor_transaction (in Coordinator tc);
+       boolean is_descendant_transaction (in Coordinator tc);
+       boolean is_top_level_transaction ();
+
+           unsigned long hash_transaction ();
+       unsigned long hash_top_level_tran ();
+
+       RecoveryCoordinator register_resource (in Resource r) raises (Inactive);
+       void register_synchronization (in Synchronization sync) raises (Inactive, SynchronizationUnavailable);
+       void register_subtran_aware (in SubtransactionAwareResource r) raises (Inactive, NotSubtransaction);
+
+       void rollback_only () raises (Inactive);
+
+       string get_transaction_name ();
+
+       Control create_subtransaction () raises (SubtransactionsUnavailable, Inactive);
+
+       PropagationContext get_txcontext () raises (Unavailable);
+      };
+      interface RecoveryCoordinator
+      {
+       Status replay_completion (in Resource r) raises (NotPrepared);
+      };
+interface Resource
+       {
+       Vote prepare () raises (HeuristicMixed, HeuristicHazard);
+       void rollback () raises (HeuristicCommit, HeuristicMixed, HeuristicHazard);
+       void commit () raises (NotPrepared, HeuristicRollback, HeuristicMixed, HeuristicHazard);
+       void commit_one_phase () raises (HeuristicHazard);
+       void forget ();
+      };
+interface SubtransactionAwareResource : Resource
+      {
+       void commit_subtransaction (in Coordinator parent);
+       void rollback_subtransaction ();
+      };
+interface TransactionalObject
+      {
+      };   
+interface Synchronization : TransactionalObject
+      {
+       void before_completion ();
+       void after_completion (in Status s);
+      };
+};
+#endif



More information about the jboss-svn-commits mailing list