📄 cconnection.java
字号:
else
log.warning("Invalid: " + connectionProfile);
} // setConnectionProfile
/**
* Get Connection Profile
* @return connection profile
*/
public String getConnectionProfile ()
{
if (m_connectionProfile != null)
return m_connectionProfile;
return PROFILE_LAN;
} // getConnectionProfile
/**
* Get Connection Profile Text
* @return connection profile text
*/
public String getConnectionProfileText (String connectionProfile)
{
for (int i = 0; i < CONNECTIONProfiles.length; i++)
{
if (CONNECTIONProfiles[i].getValue().equals(connectionProfile))
return CONNECTIONProfiles[i].getName();
}
return CONNECTIONProfiles[0].getName();
} // getConnectionProfileText
/**
* Get Connection Profile Text
* @return connection profile text
*/
public String getConnectionProfileText ()
{
return getConnectionProfileText(getConnectionProfile());
} // getConnectionProfileText
/**
* Get Connection Profile
* @return connection profile
*/
public ValueNamePair getConnectionProfilePair ()
{
for (int i = 0; i < CONNECTIONProfiles.length; i++)
{
if (CONNECTIONProfiles[i].getValue().equals(getConnectionProfile()))
return CONNECTIONProfiles[i];
}
return CONNECTIONProfiles[0];
} // getConnectionProfilePair
/**
* Should objects be created on Server ?
* @return true if client and VPN/WAN
*/
public boolean isServerObjects()
{
return (Ini.isClient()
&& (getConnectionProfile().equals(PROFILE_VPN)
|| getConnectionProfile().equals(PROFILE_WAN) ));
} // isServerObjects
/**
* Should objects be created on Server ?
* @return true if client and Terminal/VPN/WAN
*/
public boolean isServerProcess()
{
return (Ini.isClient()
&& (getConnectionProfile().equals(PROFILE_TERMINAL)
|| getConnectionProfile().equals(PROFILE_VPN)
|| getConnectionProfile().equals(PROFILE_WAN) ));
} // isServerProcess
/**
* Is this a Terminal Server ?
* @return true if client and Terminal
*/
public boolean isTerminalServer()
{
return Ini.isClient() && getConnectionProfile().equals(PROFILE_TERMINAL);
} // isTerminalServer
/**
* Is DB via Firewall
* @return true if via firewall
*/
public boolean isViaFirewall ()
{
return m_firewall;
}
/**
* Method setViaFirewall
* @param viaFirewall boolean
*/
public void setViaFirewall (boolean viaFirewall)
{
m_firewall = viaFirewall;
m_okDB = false;
}
/**
* Method setViaFirewall
* @param viaFirewallString String
*/
public void setViaFirewall (String viaFirewallString)
{
try
{
setViaFirewall (Boolean.valueOf (viaFirewallString).booleanValue ());
}
catch (Exception e)
{
log.severe(e.toString ());
}
}
/**
* Method getFwHost
* @return String
*/
public String getFwHost ()
{
return m_fw_host;
}
/**
* Method setFwHost
* @param fw_host String
*/
public void setFwHost (String fw_host)
{
m_fw_host = fw_host;
m_okDB = false;
}
/**
* Get Firewall port
* @return firewall port
*/
public int getFwPort ()
{
return m_fw_port;
}
/**
* Set Firewall port
* @param fw_port firewall port
*/
public void setFwPort (int fw_port)
{
m_fw_port = fw_port;
m_okDB = false;
}
/**
* Set Firewall port
* @param fw_portString firewall port as String
*/
public void setFwPort (String fw_portString)
{
try
{
if (fw_portString == null || fw_portString.length() == 0)
;
else
setFwPort (Integer.parseInt (fw_portString));
}
catch (Exception e)
{
log.severe(e.toString ());
}
}
/**
* Is it a bequeath connection
* @return true if bequeath connection
*/
public boolean isBequeath ()
{
return m_bequeath;
}
/**
* Set Bequeath
* @param bequeath bequeath connection
*/
public void setBequeath (boolean bequeath)
{
m_bequeath = bequeath;
m_okDB = false;
}
/**
* Set Bequeath
* @param bequeathString bequeath connection as String (true/false)
*/
public void setBequeath (String bequeathString)
{
try
{
setBequeath (Boolean.valueOf (bequeathString).booleanValue ());
}
catch (Exception e)
{
log.severe(e.toString ());
}
} // setBequeath
/**
* Get Database Type
* @return database type
*/
public String getType ()
{
return m_type;
}
/**
* Set Database Type and default settings.
* Checked against installed databases
* @param type database Type, e.g. Database.DB_ORACLE
*/
public void setType (String type)
{
for (int i = 0; i < Database.DB_NAMES.length; i++)
{
if (Database.DB_NAMES[i].equals (type))
{
m_type = type;
m_okDB = false;
break;
}
}
// Oracle
if (isOracle ())
{
if (getDbPort () != DB_Oracle.DEFAULT_PORT)
setDbPort (DB_Oracle.DEFAULT_PORT);
setFwPort (DB_Oracle.DEFAULT_CM_PORT);
}
else
{
setBequeath (false);
setViaFirewall (false);
}
// DB2
if (isDB2())
{
if (getDbPort () != DB_DB2.DEFAULT_PORT)
setDbPort (DB_DB2.DEFAULT_PORT);
}
else if (isSybase())
{
if (getDbPort () != DB_Sybase.DEFAULT_PORT)
setDbPort (DB_Sybase.DEFAULT_PORT);
}
} // setType
/**
* Supports BLOB
* @return true if BLOB is supported
*/
public boolean supportsBLOB ()
{
return m_db.supportsBLOB ();
} // supportsBLOB
/**
* Is Oracle DB
* @return true if Oracle
*/
public boolean isOracle ()
{
return Database.DB_ORACLE.equals (m_type);
} // isOracle
/**
* Is Sybase DB
* @return true if Sybase
*/
public boolean isSybase()
{
return Database.DB_SYBASE.equals (m_type);
} // isSybase
/**
* Is IBM DB/2
* @return true if DB/2
*/
public boolean isDB2 ()
{
return Database.DB_DB2.equals (m_type);
} // isDB2
/**
* Is Apache Derby
* @return true if Derby
*/
public boolean isDerby ()
{
return Database.DB_DERBY.equals (m_type);
} // isDerby
/**
* Is Microsoft SQL Server
* @return true if Derby
*/
public boolean isMSSQLServer()
{
return Database.DB_MSSQLServer.equals (m_type);
} // isMSSQLServer
/**
* Is Database Connection OK
* @return true if database connection is OK
*/
public boolean isDatabaseOK ()
{
return m_okDB;
} // isDatabaseOK
/**************************************************************************
* Create DB Connection
* @return data source != null
*/
public boolean setDataSource()
{
// System.out.println ("CConnection.setDataSource - " + m_ds + " - Client=" + Ini.isClient());
if (m_ds == null && Ini.isClient())
{
if (getDatabase() != null) // no db selected
m_ds = getDatabase().getDataSource(this);
// System.out.println ("CConnection.setDataSource - " + m_ds);
}
return m_ds != null;
} // setDataSource
/**
* Set Data Source
* @param ds data source
* @return data source != null
*/
public boolean setDataSource(DataSource ds)
{
if (ds == null && m_ds != null)
getDatabase().close();
m_ds = ds;
return m_ds != null;
} // setDataSource
/**
* Get Server Connection
* @return DataSource
*/
public DataSource getDataSource ()
{
return m_ds;
} // getDataSource
/**
* Has Server Connection
* @return true if DataSource exists
*/
public boolean isDataSource ()
{
return m_ds != null;
} // isDataSource
/**************************************************************************
* Test Database Connection.
* -- Example --
* Database: PostgreSQL - 7.1.3
* Driver: PostgreSQL Native Driver - PostgreSQL 7.2 JDBC2
* -- Example --
* Database: Oracle - Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production With the Partitioning option JServer Release 8.1.7.0.0 - Production
* Driver: Oracle JDBC driver - 9.0.1.1.0
* @return Exception or null
*/
public Exception testDatabase(boolean retest)
{
// At this point Application Server Connection is tested.
if (isRMIoverHTTP())
return null;
if (!retest && m_ds != null && m_okDB)
return null;
if (m_ds != null)
getDatabase().close();
m_ds = null;
setDataSource();
// the actual test
Connection conn = getConnection (true,
Connection.TRANSACTION_READ_COMMITTED);
if (conn != null)
{
try
{
DatabaseMetaData dbmd = conn.getMetaData ();
m_info[0] = "Database=" + dbmd.getDatabaseProductName ()
+ " - " + dbmd.getDatabaseProductVersion ();
m_info[0] = m_info[0].replace ('\n', ' ');
m_info[1] = "Driver =" + dbmd.getDriverName ()
+ " - " + dbmd.getDriverVersion ();
if (isDataSource())
m_info[1] += " - via DataSource";
m_info[1] = m_info[1].replace ('\n', ' ');
log.config(m_info[0] + " - " + m_info[1]);
conn.close ();
}
catch (Exception e)
{
log.severe (e.toString());
return e;
}
}
return m_dbException; // from opening
} // testDatabase
/*************************************************************************
* Short String representation
* @return appsHost{dbHost-dbName-uid}
*/
public String toString ()
{
StringBuffer sb = new StringBuffer (m_apps_host);
sb.append ("{").append (m_db_host)
.append ("-").append (m_db_name)
.append ("-").append (m_db_uid)
.append ("}");
return sb.toString ();
} // toString
/**
* Detail Info
* @return info
*/
public String toStringDetail ()
{
StringBuffer sb = new StringBuffer (m_apps_host);
sb.append ("{").append (m_db_host)
.append ("-").append (m_db_name)
.append ("-").append (m_db_uid)
.append ("}");
//
Connection conn = getConnection (true,
Connection.TRANSACTION_READ_COMMITTED);
if (conn != null)
{
try
{
DatabaseMetaData dbmd = conn.getMetaData ();
sb.append("\nDatabase=" + dbmd.getDatabaseProductName ()
+ " - " + dbmd.getDatabaseProductVersion());
sb.append("\nDriver =" + dbmd.getDriverName ()
+ " - " + dbmd.getDriverVersion ());
if (isDataSource())
sb.append(" - via DS");
conn.close ();
}
catch (Exception e)
{
}
}
conn = null;
return sb.toString ();
} // toStringDetail
/**
* Get DB Version Info
* @return info
*/
public String getDBInfo()
{
if (m_dbInfo != null)
return m_dbInfo;
StringBuffer sb = new StringBuffer ();
Connection conn = getConnection (true,
Connection.TRANSACTION_READ_COMMITTED);
if (conn != null)
{
try
{
DatabaseMetaData dbmd = conn.getMetaData ();
sb.append(dbmd.getDatabaseProductVersion())
.append(";").append(dbmd.getDriverVersion());
if (isDataSource())
sb.append(";DS");
conn.close ();
m_dbInfo = sb.toString ();
}
catch (Exception e)
{
log.log(Level.SEVERE, "", e);
sb.append(e.getLocalizedMessage());
}
}
conn = null;
return sb.toString();
} // toStringDetail
/**
* String representation.
* Used also for Instanciation
* @return string representation
* @see #setAttributes(String) setAttributes
*/
public String toStringLong ()
{
StringBuffer sb = new StringBuffer ("CConnection[");
sb.append ("name=").append (m_name)
.append (",AppsHost=").append (m_apps_host)
.append (",AppsPort=").append (m_apps_port)
.append (",Profile=").append (getConnectionProfile())
.append (",type=").append (m_type)
.append (",DBhost=").append (m_db_host)
.append (",DBport=").append (m_db_port)
.append (",DBname=").append (m_db_name)
.append (",BQ=").append (m_bequeath)
.append (",FW=").append (m_firewall)
.append (",FWhost=").append (m_fw_host)
.append (",FWport=").append (m_fw_port)
.append (",UID=").append (m_db_uid)
.append (",PWD=").append (m_db_pwd)
; // the format is read by setAttributes
sb.append ("]");
return sb.toString ();
} // toStringLong
/**
* Set Attributes from String (pares toStringLong())
* @param attributes attributes
*/
private void setAttributes (String attributes)
{
try
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -