KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > hibernate > test > tm > DummyConnectionProvider


1 //$Id: DummyConnectionProvider.java,v 1.5 2005/04/24 00:18:27 oneovthafew Exp $
2
package org.hibernate.test.tm;
3
4 import java.sql.Connection JavaDoc;
5 import java.sql.SQLException JavaDoc;
6 import java.util.Properties JavaDoc;
7
8 import org.hibernate.HibernateException;
9 import org.hibernate.connection.ConnectionProvider;
10 import org.hibernate.connection.ConnectionProviderFactory;
11
12 /**
13  * @author Gavin King
14  */

15 public class DummyConnectionProvider implements ConnectionProvider {
16     
17     ConnectionProvider cp;
18     boolean isTransaction;
19
20     public void configure(Properties JavaDoc props) throws HibernateException {
21         cp = ConnectionProviderFactory.newConnectionProvider();
22     }
23     
24     public Connection JavaDoc getConnection() throws SQLException JavaDoc {
25         DummyTransactionManager dtm = DummyTransactionManager.INSTANCE;
26         if ( dtm!=null && dtm.getCurrent()!=null && dtm.getCurrent().getConnection()!=null ) {
27             isTransaction = true;
28             return dtm.getCurrent().getConnection();
29         }
30         else {
31             isTransaction = false;
32             return cp.getConnection();
33         }
34     }
35
36     public void closeConnection(Connection JavaDoc conn) throws SQLException JavaDoc {
37         if (!isTransaction) conn.close();
38     }
39
40     public void close() throws HibernateException {
41
42     }
43
44     public boolean supportsAggressiveRelease() {
45         return true;
46     }
47
48 }
49
Popular Tags