All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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