edu.uky.kcr.recordlinkage.datasource
Class JdbcDataSourceConfiguration

java.lang.Object
  extended by edu.uky.kcr.recordlinkage.datasource.JdbcDataSourceConfiguration

public class JdbcDataSourceConfiguration
extends java.lang.Object

This class encapsulates the configuration data for a JDBC connection to a LinkageDataSource. The constructor that takes a Properties object is typically called from a command line application that takes a Java properties file as a parameter. A typical properties file might include the following key-value pairs:

driverClassName=com.mysql.jdbc.Driver
username=db_user
password=db_password
url=jdbc:mysql://localhost:3306/dbname?autoReconnect=true
table=pat_data
columns=FirstName:LastName:SSN:HospId:PatId
recordIdColumns=HospId:PatId

Author:
ihands

Field Summary
static java.lang.String PROPERTY_KEY_COLUMNS
           
static java.lang.String PROPERTY_KEY_DRIVER
           
static java.lang.String PROPERTY_KEY_PASSWORD
           
static java.lang.String PROPERTY_KEY_RECORD_ID_COLUMNS
           
static java.lang.String PROPERTY_KEY_TABLE
           
static java.lang.String PROPERTY_KEY_URL
           
static java.lang.String PROPERTY_KEY_USERNAME
           
 
Constructor Summary
JdbcDataSourceConfiguration(javax.sql.DataSource dataSource, java.lang.String[] columnNames, java.lang.String[] recordIdColumnNames, java.lang.String tableName)
          Constructor used when a JNDI DataSource is used instead of a direct JDBC Connection
JdbcDataSourceConfiguration(java.util.Properties properties)
          Constructor used when the JDBC settings are stored in a Properties object
JdbcDataSourceConfiguration(java.lang.String driverClassName, java.lang.String url, java.lang.String username, java.lang.String password, java.lang.String[] columnNames, java.lang.String[] recordIdColumnNames, java.lang.String tableName)
          Constructor used when JDBC settings are read from a source other than a properties file.
 
Method Summary
 java.lang.String[] getColumnNames()
           
 java.sql.Connection getConnection()
           
 java.lang.String[] getRecordIdColumnNames()
           
 java.lang.String getTableName()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTY_KEY_COLUMNS

public static final java.lang.String PROPERTY_KEY_COLUMNS
See Also:
Constant Field Values

PROPERTY_KEY_RECORD_ID_COLUMNS

public static final java.lang.String PROPERTY_KEY_RECORD_ID_COLUMNS
See Also:
Constant Field Values

PROPERTY_KEY_TABLE

public static final java.lang.String PROPERTY_KEY_TABLE
See Also:
Constant Field Values

PROPERTY_KEY_DRIVER

public static final java.lang.String PROPERTY_KEY_DRIVER
See Also:
Constant Field Values

PROPERTY_KEY_URL

public static final java.lang.String PROPERTY_KEY_URL
See Also:
Constant Field Values

PROPERTY_KEY_USERNAME

public static final java.lang.String PROPERTY_KEY_USERNAME
See Also:
Constant Field Values

PROPERTY_KEY_PASSWORD

public static final java.lang.String PROPERTY_KEY_PASSWORD
See Also:
Constant Field Values
Constructor Detail

JdbcDataSourceConfiguration

public JdbcDataSourceConfiguration(java.util.Properties properties)
Constructor used when the JDBC settings are stored in a Properties object

Parameters:
properties -

JdbcDataSourceConfiguration

public JdbcDataSourceConfiguration(java.lang.String driverClassName,
                                   java.lang.String url,
                                   java.lang.String username,
                                   java.lang.String password,
                                   java.lang.String[] columnNames,
                                   java.lang.String[] recordIdColumnNames,
                                   java.lang.String tableName)
Constructor used when JDBC settings are read from a source other than a properties file.

Parameters:
driverClassName -
url -
username -
password -
columnNames -
recordIdColumnNames -
tableName -

JdbcDataSourceConfiguration

public JdbcDataSourceConfiguration(javax.sql.DataSource dataSource,
                                   java.lang.String[] columnNames,
                                   java.lang.String[] recordIdColumnNames,
                                   java.lang.String tableName)
Constructor used when a JNDI DataSource is used instead of a direct JDBC Connection

Parameters:
dataSource -
columnNames -
recordIdColumnNames -
tableName -
Method Detail

getColumnNames

public java.lang.String[] getColumnNames()

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException,
                                         javax.naming.NamingException,
                                         java.lang.ClassNotFoundException
Throws:
java.sql.SQLException
javax.naming.NamingException
java.lang.ClassNotFoundException

getRecordIdColumnNames

public java.lang.String[] getRecordIdColumnNames()

getTableName

public java.lang.String getTableName()