Package it.eng.qbe.datasource.hibernate

Source Code of it.eng.qbe.datasource.hibernate.HibernateDriverWithClassLoader

package it.eng.qbe.datasource.hibernate;

import it.eng.qbe.datasource.IDataSource;
import it.eng.qbe.datasource.configuration.IDataSourceConfiguration;
import it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException;

public class HibernateDriverWithClassLoader extends HibernateDriver{

  public static final String DRIVER_ID = "hibernate_with_cl";
 
  public HibernateDriverWithClassLoader(){
    super();
  }
 
  @Override
  public String getName() {
    return DRIVER_ID;
  }

  @Override
  public IDataSource getDataSource(IDataSourceConfiguration configuration) {
    IDataSource dataSource;
    String dataSourceName;
   
    if(maxDataSource > 0 && openedDataSource == maxDataSource) {
      throw new SpagoBIRuntimeException("Maximum  number of open data source reached");
    }
   
    dataSource = null;
    dataSourceName = namingStrategy.getDataSourceName(configuration);
    if(dataSourceCacheEnabled) {
      dataSource = cache.containsKey(dataSourceName)?
             cache.get(dataSourceName):
               new HibernateDataSourceWithClassLoader(dataSourceName, configuration);
    } else {
      dataSource = new HibernateDataSourceWithClassLoader(dataSourceName, configuration);
    }
   
    openedDataSource++;
   
    return dataSource;
  }
 
}
TOP

Related Classes of it.eng.qbe.datasource.hibernate.HibernateDriverWithClassLoader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.