1 21 22 package org.opensubsystems.core.persist.db.transaction; 23 24 import java.util.logging.Logger ; 25 26 import javax.transaction.HeuristicMixedException ; 27 import javax.transaction.HeuristicRollbackException ; 28 import javax.transaction.NotSupportedException ; 29 import javax.transaction.RollbackException ; 30 import javax.transaction.SystemException ; 31 import javax.transaction.UserTransaction ; 32 33 import org.opensubsystems.core.util.Log; 34 35 44 public class DelegatingUserTransaction implements UserTransaction 45 { 46 48 51 protected UserTransaction m_originalTransaction; 52 53 55 58 private static Logger s_logger = Log.getInstance(DelegatingUserTransaction.class); 59 60 62 67 public DelegatingUserTransaction( 68 UserTransaction originalTransaction 69 ) 70 { 71 assert originalTransaction != null 72 : "Cannot delegate to null transaction."; 73 74 m_originalTransaction = originalTransaction; 75 } 76 77 80 public void begin( 81 ) throws NotSupportedException , 82 SystemException 83 { 84 s_logger.finest("UserTransaction.begin for " + m_originalTransaction.toString()); 85 m_originalTransaction.begin(); 86 s_logger.finest("UserTransaction.begin sucessfull for " + m_originalTransaction.toString()); 87 } 88 89 92 public void commit( 93 ) throws HeuristicMixedException , 94 HeuristicRollbackException , 95 IllegalStateException , 96 RollbackException , 97 SecurityException , 98 SystemException 99 { 100 s_logger.finest("UserTransaction.commit for " + m_originalTransaction.toString()); 101 m_originalTransaction.commit(); 102 s_logger.finest("UserTransaction.commit sucessfull for " + m_originalTransaction.toString()); 103 } 104 105 108 public void rollback( 109 ) throws IllegalStateException , 110 SecurityException , 111 SystemException 112 { 113 s_logger.finest("UserTransaction.rollback for " + m_originalTransaction.toString()); 114 m_originalTransaction.rollback(); 115 s_logger.finest("UserTransaction.rollback sucessfull for " 116 + m_originalTransaction.toString()); 117 } 118 119 122 public int getStatus( 123 ) throws SystemException 124 { 125 return m_originalTransaction.getStatus(); 126 } 127 128 131 public void setRollbackOnly( 132 ) throws IllegalStateException , 133 SystemException 134 { 135 m_originalTransaction.setRollbackOnly(); 136 } 137 138 141 public void setTransactionTimeout( 142 int iTransactionTimeout 143 ) throws SystemException 144 { 145 m_originalTransaction.setTransactionTimeout(iTransactionTimeout); 146 } 147 } 148 | Popular Tags |