KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > opensubsystems > core > persist > db > transaction > DelegatingUserTransaction


1 /*
2  * Copyright (c) 2005 - 2007 OpenSubsystems s.r.o. Slovak Republic. All rights reserved.
3  *
4  * Project: OpenSubsystems
5  *
6  * $Id: DelegatingUserTransaction.java,v 1.4 2007/01/07 06:14:21 bastafidli Exp $
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; version 2 of the License.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  */

21
22 package org.opensubsystems.core.persist.db.transaction;
23
24 import java.util.logging.Logger JavaDoc;
25
26 import javax.transaction.HeuristicMixedException JavaDoc;
27 import javax.transaction.HeuristicRollbackException JavaDoc;
28 import javax.transaction.NotSupportedException JavaDoc;
29 import javax.transaction.RollbackException JavaDoc;
30 import javax.transaction.SystemException JavaDoc;
31 import javax.transaction.UserTransaction JavaDoc;
32
33 import org.opensubsystems.core.util.Log;
34
35 /**
36  * This class is wrapper around user transaction so that we can monitor individual
37  * operations
38  *
39  * @version $Id: DelegatingUserTransaction.java,v 1.4 2007/01/07 06:14:21 bastafidli Exp $
40  * @author Miro Halas
41  * @code.reviewer Miro Halas
42  * @code.reviewed 1.1 2006/05/15 05:11:39 bastafidli
43  */

44 public class DelegatingUserTransaction implements UserTransaction JavaDoc
45 {
46    // Attributes ///////////////////////////////////////////////////////////////
47

48    /**
49     * Original UserTransaction, to which all the calls are delegated.
50     */

51    protected UserTransaction JavaDoc m_originalTransaction;
52    
53    // Cached values ////////////////////////////////////////////////////////////
54

55    /**
56     * Logger for this class
57     */

58    private static Logger JavaDoc s_logger = Log.getInstance(DelegatingUserTransaction.class);
59
60    // Constructors /////////////////////////////////////////////////////////////
61

62    /**
63     * Constructor.
64     *
65     * @param originalTransaction - original transaction to delegate calls to.
66     */

67    public DelegatingUserTransaction(
68       UserTransaction JavaDoc originalTransaction
69    )
70    {
71       assert originalTransaction != null
72              : "Cannot delegate to null transaction.";
73       
74       m_originalTransaction = originalTransaction;
75    }
76    
77    /**
78     * {@inheritDoc}
79     */

80    public void begin(
81    ) throws NotSupportedException JavaDoc,
82             SystemException JavaDoc
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    /**
90     * {@inheritDoc}
91     */

92    public void commit(
93    ) throws HeuristicMixedException JavaDoc,
94             HeuristicRollbackException JavaDoc,
95             IllegalStateException JavaDoc,
96             RollbackException JavaDoc,
97             SecurityException JavaDoc,
98             SystemException JavaDoc
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    /**
106     * {@inheritDoc}
107     */

108    public void rollback(
109    ) throws IllegalStateException JavaDoc,
110             SecurityException JavaDoc,
111             SystemException JavaDoc
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    /**
120     * {@inheritDoc}
121     */

122    public int getStatus(
123    ) throws SystemException JavaDoc
124    {
125       return m_originalTransaction.getStatus();
126    }
127
128    /**
129     * {@inheritDoc}
130     */

131    public void setRollbackOnly(
132    ) throws IllegalStateException JavaDoc,
133             SystemException JavaDoc
134    {
135       m_originalTransaction.setRollbackOnly();
136    }
137
138    /**
139     * {@inheritDoc}
140     */

141    public void setTransactionTimeout(
142       int iTransactionTimeout
143    ) throws SystemException JavaDoc
144    {
145       m_originalTransaction.setTransactionTimeout(iTransactionTimeout);
146    }
147 }
148
Popular Tags