|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--weka.experiment.DatabaseUtils
DatabaseUtils provides utility functions for accessing the experiment database. The jdbc driver and database to be used default to "jdbc.idbDriver" and "jdbc:idb=experiments.prp". These may be changed by creating a java properties file called DatabaseUtils.props in user.home or the current directory. eg:
jdbcDriver=jdbc.idbDriver
jdbcURL=jdbc:idb=experiments.prp
Field Summary | |
protected static Vector |
DRIVERS
Holds the jdbc drivers to be used (only to stop them being gc'ed) |
static String |
EXP_INDEX_TABLE
The name of the table containing the index to experiments |
static String |
EXP_RESULT_COL
The name of the column containing the results table name |
static String |
EXP_RESULT_PREFIX
The prefix for result table names |
static String |
EXP_SETUP_COL
The name of the column containing the experiment setup (parameters) |
static String |
EXP_TYPE_COL
The name of the column containing the experiment type (ResultProducer) |
protected Connection |
m_Connection
The database connection |
protected String |
m_DatabaseURL
Database URL |
protected boolean |
m_Debug
True if debugging output should be printed |
protected Statement |
m_Statement
The statement used for database queries |
protected static Properties |
PROPERTIES
Properties associated with the database connection |
protected static String |
PROPERTY_FILE
The name of the properties file |
Constructor Summary | |
DatabaseUtils()
Sets up the database drivers |
Method Summary | |
static String |
arrayToString(Object[] array)
Converts an array of objects to a string by inserting a space between each element. |
void |
connectToDatabase()
Opens a connection to the database |
void |
createExperimentIndex()
Attempts to create the experiment index table |
String |
createExperimentIndexEntry(ResultProducer rp)
Attempts to insert a results entry for the table into the experiment index. |
String |
createResultsTable(ResultProducer rp,
String tableName)
Creates a results table for the supplied result producer. |
String |
databaseURLTipText()
Returns the tip text for this property |
void |
disconnectFromDatabase()
Closes the connection to the database. |
boolean |
execute(String query)
Executes a SQL query. |
boolean |
experimentIndexExists()
Returns true if the experiment index exists. |
String |
getDatabaseURL()
Get the value of DatabaseURL. |
Object[] |
getResultFromTable(String tableName,
ResultProducer rp,
Object[] key)
Executes a database query to extract a result for the supplied key from the database. |
ResultSet |
getResultSet()
Gets the results generated by a previous query. |
String |
getResultsTableName(ResultProducer rp)
Gets the name of the experiment table that stores results from a particular ResultProducer. |
boolean |
isConnected()
Returns true if a database connection is active. |
protected boolean |
isKeyInTable(String tableName,
ResultProducer rp,
Object[] key)
Executes a database query to see whether a result for the supplied key is already in the database. |
void |
putResultInTable(String tableName,
ResultProducer rp,
Object[] key,
Object[] result)
Executes a database query to insert a result for the supplied key into the database. |
void |
setDatabaseURL(String newDatabaseURL)
Set the value of DatabaseURL. |
boolean |
tableExists(String tableName)
Checks that a given table exists. |
static String |
typeName(int type)
Returns the name associated with a SQL type. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final String EXP_INDEX_TABLE
public static final String EXP_TYPE_COL
public static final String EXP_SETUP_COL
public static final String EXP_RESULT_COL
public static final String EXP_RESULT_PREFIX
protected static String PROPERTY_FILE
protected static Vector DRIVERS
protected static Properties PROPERTIES
protected String m_DatabaseURL
protected Connection m_Connection
protected Statement m_Statement
protected boolean m_Debug
Constructor Detail |
public DatabaseUtils() throws Exception
Exception
- if an error occursMethod Detail |
public static String arrayToString(Object[] array)
array
- the array of objects
public static String typeName(int type)
type
- the SQL type
public String databaseURLTipText()
public String getDatabaseURL()
public void setDatabaseURL(String newDatabaseURL)
newDatabaseURL
- Value to assign to DatabaseURL.public void connectToDatabase() throws Exception
Exception
- if an error occurspublic void disconnectFromDatabase() throws Exception
Exception
- if an error occurspublic boolean isConnected()
public boolean execute(String query) throws SQLException
query
- the SQL query
SQLException
- if an error occurspublic ResultSet getResultSet() throws SQLException
SQLException
- if an error occurspublic boolean tableExists(String tableName) throws Exception
tableName
- the name of the table to look for.
Exception
- if an error occurs.protected boolean isKeyInTable(String tableName, ResultProducer rp, Object[] key) throws Exception
tableName
- the name of the table to search for the key inrp
- the ResultProducer who will generate the result if requiredkey
- the key for the result
Exception
- if an error occurspublic Object[] getResultFromTable(String tableName, ResultProducer rp, Object[] key) throws Exception
tableName
- the name of the table where the result is storedrp
- the ResultProducer who will generate the result if requiredkey
- the key for the result
Exception
- if an error occurspublic void putResultInTable(String tableName, ResultProducer rp, Object[] key, Object[] result) throws Exception
tableName
- the name of the table where the result is storedrp
- the ResultProducer who will generate the result if requiredkey
- the key for the resultresult
- the result to store
Exception
- if an error occurspublic boolean experimentIndexExists() throws Exception
Exception
- if an error occurspublic void createExperimentIndex() throws Exception
Exception
- if an error occurs.public String createExperimentIndexEntry(ResultProducer rp) throws Exception
rp
- the ResultProducer generating the results
Exception
- if an error occurs.public String getResultsTableName(ResultProducer rp) throws Exception
rp
- the ResultProducer
Exception
- if an error occurspublic String createResultsTable(ResultProducer rp, String tableName) throws Exception
rp
- the ResultProducer generating the resultstableName
- the name of the resultsTable
Exception
- if an error occurs.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |