SqlMapFactory.java 5.79 KB
package com.sitech.ismp.coll.tivoli.db;

import java.io.Reader;
import java.util.HashMap;
import java.util.Map;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

/**
 * @author winnerbao
 * 
 * 
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class SqlMapFactory {

	private static Map sqlMapClientMap = new HashMap();

	private static SqlMapClient defaultSqlMap = null;

	public static synchronized SqlMapClient getISMP_ITCMSqlMapClient() {
		String config = TivoliDBGlobal.ITCM_SQLMAP_CONFIG;
		if (sqlMapClientMap.get(config) == null) {
			String resource = config;
			Reader reader;
			SqlMapClient sqlMap = null;
			try {

				java.util.ResourceBundle LoginInfo = java.util.ResourceBundle
						.getBundle("tivoli");
				String sClassforName = LoginInfo.getString("ismp_driver");
				String sUrl = LoginInfo.getString("ismp_url");
				String sUserName = LoginInfo.getString("ismp_username");
				String sPassword = LoginInfo.getString("ismp_password");
				sPassword = com.sitech.util.DES3.decrypt(sPassword);
				java.util.Properties properties = new java.util.Properties();
				properties.put("ismp_driver", sClassforName);
				properties.put("ismp_url", sUrl);
				properties.put("ismp_username", sUserName);
				properties.put("ismp_password", sPassword);

				reader = Resources.getResourceAsReader(resource);

				sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader,
						properties);

				// reader = Resources.getResourceAsReader(resource);
				// sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);

			} catch (Exception e) {
				throw new RuntimeException(e);
			} finally {
			}
			sqlMapClientMap.put(config, sqlMap);
			return sqlMap;
		} else {
			return (SqlMapClient) sqlMapClientMap.get(config);
		}

	}

	/*
	 * public static synchronized SqlMapClient getITCMSqlMapClient(){ String
	 * config=TivoliDBGlobal.ITCM_SQLMAP_CONFIG;
	 * if(sqlMapClientMap.get(config)==null) { String resource = config; Reader
	 * reader; SqlMapClient sqlMap = null; try{
	 * 
	 * java.util.ResourceBundle LoginInfo =
	 * java.util.ResourceBundle.getBundle("tivoli"); String sClassforName =
	 * LoginInfo.getString("itcm_driver"); String sUrl =
	 * LoginInfo.getString("itcm_url"); String sUserName =
	 * LoginInfo.getString("itcm_username"); String sPassword =
	 * LoginInfo.getString("itcm_password"); sPassword =
	 * com.sitech.util.DES3.decrypt(sPassword); java.util.Properties properties =
	 * new java.util.Properties(); properties.put("itcm_driver",sClassforName);
	 * properties.put("itcm_url",sUrl);
	 * properties.put("itcm_username",sUserName);
	 * properties.put("itcm_password",sPassword);
	 * 
	 * reader = Resources.getResourceAsReader(resource);
	 * 
	 * sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader,properties);
	 * 
	 * //reader = Resources.getResourceAsReader(resource); //sqlMap =
	 * SqlMapClientBuilder.buildSqlMapClient(reader);
	 * 
	 * }catch(Exception e) { throw new RuntimeException(e); } finally{ }
	 * sqlMapClientMap.put(config,sqlMap); return sqlMap; }else { return
	 * (SqlMapClient)sqlMapClientMap.get(config); }
	 *  }
	 */

	public static synchronized SqlMapClient getISMP_TECSqlMapClient() {
		String config = TivoliDBGlobal.TEC_SQLMAP_CONFIG;
		if (sqlMapClientMap.get(config) == null) {
			String resource = config;
			Reader reader;
			SqlMapClient sqlMap = null;
			try {

				java.util.ResourceBundle LoginInfo = java.util.ResourceBundle
						.getBundle("tivoli");
				String sClassforName = LoginInfo.getString("ismp_driver");
				String sUrl = LoginInfo.getString("ismp_url");
				String sUserName = LoginInfo.getString("ismp_username");
				String sPassword = LoginInfo.getString("ismp_password");
				sPassword = com.sitech.util.DES3.decrypt(sPassword);
				java.util.Properties properties = new java.util.Properties();
				properties.put("ismp_driver", sClassforName);
				properties.put("ismp_url", sUrl);
				properties.put("ismp_username", sUserName);
				properties.put("ismp_password", sPassword);

				reader = Resources.getResourceAsReader(resource);

				sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader,
						properties);

				// reader = Resources.getResourceAsReader(resource);
				// sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);

			} catch (Exception e) {
				throw new RuntimeException(e);
			} finally {
			}
			sqlMapClientMap.put(config, sqlMap);
			return sqlMap;
		} else {
			return (SqlMapClient) sqlMapClientMap.get(config);
		}

	}

	public static synchronized SqlMapClient getISMP_NetViewSqlMapClient() {
		String config = TivoliDBGlobal.NETVIEW_SQLMAP_CONFIG;
		if (sqlMapClientMap.get(config) == null) {
			String resource = config;
			Reader reader;
			SqlMapClient sqlMap = null;
			try {

				java.util.ResourceBundle LoginInfo = java.util.ResourceBundle
						.getBundle("tivoli");
				String sClassforName = LoginInfo.getString("ismp_driver");
				String sUrl = LoginInfo.getString("ismp_url");
				String sUserName = LoginInfo.getString("ismp_username");
				String sPassword = LoginInfo.getString("ismp_password");
				sPassword = com.sitech.util.DES3.decrypt(sPassword);
				java.util.Properties properties = new java.util.Properties();
				properties.put("ismp_driver", sClassforName);
				properties.put("ismp_url", sUrl);
				properties.put("ismp_username", sUserName);
				properties.put("ismp_password", sPassword);

				reader = Resources.getResourceAsReader(resource);

				sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader,
						properties);

				// reader = Resources.getResourceAsReader(resource);
				// sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);

			} catch (Exception e) {
				throw new RuntimeException(e);
			} finally {
			}
			sqlMapClientMap.put(config, sqlMap);
			return sqlMap;
		} else {
			return (SqlMapClient) sqlMapClientMap.get(config);
		}

	}

}