package jp.mosp.common;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class DataSourceUtility {

	/**
	 * Tomcat5.5用Const
	 */
	private static final String TOMCAT_SERVER_ENV = "java:comp/env";

	public static final String USE_DATA_SOURCE_MESSAGE = "use DataSource.";

	/**
	 * DataSource生成メソッド
	 * @param DATASOURCE データソース名
	 * @return
	 */
	public static DataSource getDataSource(String DATASOURCE) {
		DataSource ds = null;
		try {
			Context ctx = new InitialContext();
			Context env = (Context)ctx.lookup(TOMCAT_SERVER_ENV);
			if (DATASOURCE != null && DATASOURCE.length() != 0) {
				ds = (DataSource)env.lookup(DATASOURCE);
			}
		} catch (NamingException e) {
			ds = null;
		}
		return ds;
	}

	/**
	 * DataSource利用可否メソッド
	 * @param DATASOURCE データソース名
	 * @return
	 * <p>
	 * DataSourceが利用できるのならtrue、そうでない場合false
	 * </p>
	 */
	public static boolean canUseDataSource(String DATASOURCE) {
		return getDataSource(DATASOURCE) == null? false: true;
	}

}
