
com.jpattern.orm.DatasourceSessionsProvider Maven / Gradle / Ivy
The newest version!
package com.jpattern.orm;
import javax.sql.DataSource;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.jpattern.orm.session.datasource.DataSourceSessionProvider;
import com.jpattern.orm.session.SessionProvider;
import com.jpattern.orm.session.NullSessionProvider;
public class DatasourceSessionsProvider implements ISessionsProvider {
private final BeanFactory ctx;
public DatasourceSessionsProvider() {
ctx = new ClassPathXmlApplicationContext("datasource-spring-context.xml");
}
@Override
public boolean isOracleAvailable() {
return ctx.getBean("oracleAvailable", Boolean.class);
}
@Override
public SessionProvider getOracleSessionProvider() {
if (isOracleAvailable()) {
return new DataSourceSessionProvider( ctx.getBean("oracleDataSource", DataSource.class) );
}
return new NullSessionProvider();
}
@Override
public SessionProvider getHSQLDBSessionProvider() {
return new DataSourceSessionProvider( ctx.getBean("hsqldbDataSource", DataSource.class) );
}
@Override
public SessionProvider getH2SessionProvider() {
return new DataSourceSessionProvider( ctx.getBean("h2DataSource", DataSource.class) );
}
@Override
public SessionProvider getDerbySessionProvider() {
return new DataSourceSessionProvider( ctx.getBean("derbyDataSource", DataSource.class) );
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy