package com.ximple.io.dgn7; //~--- JDK imports ------------------------------------------------------------ import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; import org.apache.log4j.Logger; import com.vividsolutions.jts.util.Assert; import oracle.jdbc.OracleConnection; /** * OracleTarget * User: Ulysses * Date: 2007/6/15 * Time: ?U?? 03:12:43 * To change this template use File | Settings | File Templates. */ public class OracleTarget { private static final Logger logger = Logger.getLogger(OracleTarget.class); private static OracleTarget _instance = null; private static final String ORACLE_URL = "jdbc:oracle:thin:@"; private static final String _propUsrKey = "user"; private static final String _propPassKey = "password"; private static String _oracleHost = "192.168.11.200"; private static String _oracleInstance = "NNTPC"; private static String _oraclePort = "1521"; static { try { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); } catch (SQLException e) { Assert.shouldNeverReachHere(e.getMessage()); } } private OracleConnection oracleConnection = null; private Properties properties; private OracleTarget() { properties = new Properties(); properties.put(_propUsrKey, "SPATIALDB"); properties.put(_propPassKey, "SPATIALDB000"); } public static String getOracleHost() { return _oracleHost; } public static void setOracleHost(String oracleHost) { OracleTarget._oracleHost = oracleHost; } public static String getOracleInstance() { return _oracleInstance; } public static void setOracleInstance(String oracleInstance) { OracleTarget._oracleInstance = oracleInstance; } public static String getOraclePort() { return _oraclePort; } public static void setOraclePort(String oraclePort) { OracleTarget._oraclePort = oraclePort; } public static String getCurrentURL() { StringBuilder builder = new StringBuilder(); builder.append(ORACLE_URL); builder.append(_oracleHost); builder.append(":"); builder.append(_oraclePort); builder.append(":"); builder.append(_oracleInstance); return builder.toString(); } public String getLoginPass() { return (String) properties.get(_propPassKey); } public void setLoginPass(String loginPass) { properties.put(_propPassKey, loginPass); } public String getLoginUsr() { return (String) properties.get(_propUsrKey); } public void setLoginUsr(String loginUsr) { properties.put(_propUsrKey, loginUsr); } public static OracleTarget getInstance() { if (_instance == null) { _instance = new OracleTarget(); } return _instance; } public OracleConnection getOracleConnection() { try { if (oracleConnection == null) { oracleConnection = (OracleConnection) DriverManager.getConnection(getCurrentURL(), properties); } return oracleConnection; } catch (SQLException e) { logger.warn(e.getMessage(), e); } oracleConnection = null; return null; } public void closeConnection() { try { if (oracleConnection != null) { oracleConnection.close(); oracleConnection = null; } } catch (SQLException e) { logger.warn(e.getMessage(), e); } } }