Source code: org/hibernate/ejb/connection/InjectedDataSourceConnectionProvider.java
1 //$Id: InjectedDataSourceConnectionProvider.java 9796 2006-04-26 06:46:52Z epbernard $
2 package org.hibernate.ejb.connection;
3
4 import java.util.Properties;
5 import javax.sql.DataSource;
6
7 import org.apache.commons.logging.Log;
8 import org.apache.commons.logging.LogFactory;
9 import org.hibernate.HibernateException;
10 import org.hibernate.cfg.Environment;
11 import org.hibernate.connection.DatasourceConnectionProvider;
12
13 /**
14 * A connection provider that uses an injected <tt>DataSource</tt>.
15 * Setters has to be called before configure()
16 *
17 * @author Emmanuel Bernard
18 * @see org.hibernate.connection.ConnectionProvider
19 */
20 public class InjectedDataSourceConnectionProvider extends DatasourceConnectionProvider {
21 private String user;
22 private String pass;
23
24 private static final Log log = LogFactory.getLog( InjectedDataSourceConnectionProvider.class );
25
26 public void setDataSource(DataSource ds) {
27 super.setDataSource( ds );
28 }
29
30 public void configure(Properties props) throws HibernateException {
31 user = props.getProperty( Environment.USER );
32 pass = props.getProperty( Environment.PASS );
33
34 if ( getDataSource() == null ) throw new HibernateException( "No datasource provided" );
35 log.info( "Using provided datasource" );
36 }
37
38 }