Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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  }