KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exoplatform > services > database > impl > ExoConnectionProvider


1 /***************************************************************************
2  * Copyright 2001-2003 The eXo Platform SARL All rights reserved. *
3  * Please look at license.txt in info directory for more license detail. *
4  **************************************************************************/

5 package org.exoplatform.services.database.impl;
6
7 import java.sql.Connection JavaDoc;
8 import java.sql.SQLException JavaDoc;
9 import java.util.Properties JavaDoc;
10 import javax.sql.DataSource JavaDoc;
11 import org.exoplatform.container.PortalContainer;
12 import org.exoplatform.services.database.DatabaseService;
13 import net.sf.hibernate.HibernateException;
14 import net.sf.hibernate.connection.ConnectionProvider;
15
16 public class ExoConnectionProvider implements ConnectionProvider {
17   private boolean autocommit_ ;
18   private String JavaDoc datasourceName_ ;
19
20   public ExoConnectionProvider() {
21     autocommit_ = true ;
22   }
23
24   /**
25    * @see net.sf.hibernate.connection.ConnectionProvider#configure(Properties)
26    */

27   public void configure(Properties JavaDoc props) throws HibernateException {
28     datasourceName_ = (String JavaDoc) props.get("hibernate.datasource.name") ;
29   }
30
31   /**
32    * @see net.sf.hibernate.connection.ConnectionProvider#getConnection()
33    */

34   public Connection JavaDoc getConnection() throws SQLException JavaDoc {
35     PortalContainer container = PortalContainer.getInstance();
36     DatabaseService dbService =
37       (DatabaseService) container.getComponentInstanceOfType(DatabaseService.class);
38     DataSource JavaDoc ds = dbService.getDataSource(datasourceName_) ;
39     Connection JavaDoc conn = ds.getConnection() ;
40     conn.setAutoCommit(autocommit_) ;
41     return conn ;
42   }
43
44   /**
45    * @see net.sf.hibernate.connection.ConnectionProvider#closeConnection(Connection)
46    */

47   public void closeConnection(Connection JavaDoc conn) throws SQLException JavaDoc {
48     conn.close() ;
49   }
50   
51   public void close() {
52   }
53 }
Popular Tags