package net.e_lian.bpm.util.sync;

import java.io.IOException;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;

public class DataUtil {
	
	// 定义日志对象
	private static Logger log = Logger.getLogger(DataUtil.class
			.getName());
	
	// 定义数据库URL
	private static String dbURL;
	// 定义数据库用户名
	private static String dbUserName;
	// 定义数据库密码
	private static String dbPassWord;
	// 定义数据库驱动
	private static String dbDriver;

	static {
		
		Properties props = new Properties();
		URL propsUrl = DataUtil.class.getClassLoader().getResource("a.properties");

		if (propsUrl == null) {
			throw new IllegalStateException("gome.properties missing");
		}
		// Load settings
		try {
			props.load(propsUrl.openStream());
			
			dbURL = (String) props.get("GOME_CENTER_FORM_URL");
			dbUserName = (String) props.get("GOME_CENTER_FORM_USERNAME");
			dbPassWord = (String) props.get("GOME_CENTER_FORM_PASSWORD");
			dbDriver = (String) props.get("GOME_CENTER_FORM_DRIVERCLASS");
			Class.forName(dbDriver);
		} catch (IOException e) {
			throw new RuntimeException("Could not load gome.properties:" + e);
		} catch (ClassNotFoundException e) {
			throw new RuntimeException("class not found:" + e);
		}
	}
	
	/**
	 * 获得conn
	 * 
	 * @return Connection
	 */
	public Connection getConnectionCentenForm() {	
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(dbURL, dbUserName, dbPassWord);
		} catch (SQLException e) {
			if (log.isLoggable(Level.WARNING)) {
				log.log(Level.WARNING, "", e);
			}
		}
		return conn;
	}
	
	// 定义日志对象
		private static Logger log_menu = Logger.getLogger(DataUtil.class
				.getName());
		
		// 定义数据库URL
		private static String dbURL_menu;
		// 定义数据库用户名
		private static String dbUserName_menu;
		// 定义数据库密码
		private static String dbPassWord_menu;
		// 定义数据库驱动
		private static String dbDriver_menu;

		static {
			
			Properties props = new Properties();
			URL propsUrl = DataUtil.class.getClassLoader().getResource("proxool.properties");

			if (propsUrl == null) {
				throw new IllegalStateException("proxool.properties missing");
			}
			// Load settings
			try {
				props.load(propsUrl.openStream());
				
				dbURL_menu = (String) props.get("jdbc-0.proxool.driver-url");
				dbUserName_menu = (String) props.get("jdbc-0.user");
				dbPassWord_menu = (String) props.get("jdbc-0.password");
				dbDriver_menu = (String) props.get("jdbc-0.proxool.driver-class");
				Class.forName(dbDriver_menu);
			} catch (IOException e) {
				throw new RuntimeException("Could not load proxool.properties:" + e);
			} catch (ClassNotFoundException e) {
				throw new RuntimeException("class not found:" + e);
			}
		}
		
		/**
		 * 获得conn 查询菜单用的SQL
		 *
		 * 
		 * @return Connection
		 */
		public Connection getConnectionMenu() {	
			Connection conn = null;
			try {
				conn = DriverManager.getConnection(dbURL_menu, dbUserName_menu, dbPassWord_menu);
			} catch (SQLException e) {
				if (log_menu.isLoggable(Level.WARNING)) {
					log_menu.log(Level.WARNING, "", e);
				}
			}
			return conn;
		}
	
}