Search in sources :

Example 6 with ClientConnectionPoolDataSourceInterface

use of org.apache.derby.client.ClientConnectionPoolDataSourceInterface in project derby by apache.

the class cdsXid method testClientDSConnectionAttributes.

// End testBadConnectionAttributeSyntax
/**
 * Check that database name set using setConnectionAttributes is not used
 * by ClientDataSource. This method tests DERBY-1130.
 *
 * @throws SQLException
 */
public void testClientDSConnectionAttributes() throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
    if (usingEmbedded())
        return;
    // now with ConnectionPoolDataSource
    ClientConnectionPoolDataSourceInterface cpds;
    Class<?> clazz;
    if (JDBC.vmSupportsJNDI()) {
        clazz = Class.forName("org.apache.derby.jdbc.ClientConnectionPoolDataSource");
        cpds = (ClientConnectionPoolDataSourceInterface) clazz.getConstructor().newInstance();
    } else {
        clazz = Class.forName("org.apache.derby.jdbc.BasicClientConnectionPoolDataSource40");
        cpds = (ClientConnectionPoolDataSourceInterface) clazz.getConstructor().newInstance();
    }
    cpds.setPortNumber(TestConfiguration.getCurrent().getPort());
    // ConnectionPoolDataSource - EMPTY
    dsCPConnectionRequests(new String[] { "08001", "08001", "08001", "08001", "08001", "08001", "08001", "08001", "08001" }, cpds);
    // ConnectionPoolDataSource
    // - connectionAttributes=databaseName=<valid dbname>
    cpds.setConnectionAttributes("databaseName=" + dbName);
    dsCPConnectionRequests(new String[] { "08001", "08001", "08001", "08001", "08001", "08001", "08001", "08001", "08001" }, cpds);
    cpds.setConnectionAttributes(null);
    // Test that database name specified in connection attributes is
    // not used
    // ConnectionPoolDataSource - databaseName=wombat and
    // connectionAttributes=databaseName=kangaroo
    cpds.setConnectionAttributes("databaseName=kangaroo");
    cpds.setDatabaseName(dbName);
    dsCPConnectionRequests(new String[] { "OK", "08001", "OK", "OK", "08001", "08001", "OK", "OK", "OK" }, cpds);
    cpds.setConnectionAttributes(null);
    cpds.setDatabaseName(null);
    // now with XADataSource
    ClientXADataSourceInterface xads;
    if (JDBC.vmSupportsJNDI()) {
        clazz = Class.forName("org.apache.derby.jdbc.ClientXADataSource");
        xads = (ClientXADataSourceInterface) clazz.getConstructor().newInstance();
    } else {
        clazz = Class.forName("org.apache.derby.jdbc.BasicClientXADataSource40");
        xads = (ClientXADataSourceInterface) clazz.getConstructor().newInstance();
    }
    xads.setPortNumber(TestConfiguration.getCurrent().getPort());
    // XADataSource - EMPTY
    dsXAConnectionRequests(new String[] { "08001", "08001", "08001", "08001", "08001", "08001", "08001", "08001", "08001" }, xads);
    // XADataSource - connectionAttributes=databaseName=<valid dbname>
    xads.setConnectionAttributes("databaseName=wombat");
    dsXAConnectionRequests(new String[] { "08001", "08001", "08001", "08001", "08001", "08001", "08001", "08001", "08001" }, xads);
    xads.setConnectionAttributes(null);
    // Test that database name specified in connection attributes is not used
    // XADataSource - databaseName=wombat and
    // connectionAttributes=databaseName=kangaroo
    xads.setConnectionAttributes("databaseName=kangaroo");
    xads.setDatabaseName("wombat");
    dsXAConnectionRequests(new String[] { "OK", "08001", "OK", "OK", "08001", "08001", "OK", "OK", "OK" }, xads);
    xads.setConnectionAttributes(null);
    xads.setDatabaseName(null);
}
Also used : ClientXADataSourceInterface(org.apache.derby.client.ClientXADataSourceInterface) ClientConnectionPoolDataSourceInterface(org.apache.derby.client.ClientConnectionPoolDataSourceInterface)

Aggregations

ClientConnectionPoolDataSourceInterface (org.apache.derby.client.ClientConnectionPoolDataSourceInterface)6 PooledConnection (javax.sql.PooledConnection)2 XAConnection (javax.sql.XAConnection)2 ClientXADataSourceInterface (org.apache.derby.client.ClientXADataSourceInterface)2 BufferedReader (java.io.BufferedReader)1 File (java.io.File)1 CallableStatement (java.sql.CallableStatement)1 Connection (java.sql.Connection)1 PreparedStatement (java.sql.PreparedStatement)1 ResultSet (java.sql.ResultSet)1 Savepoint (java.sql.Savepoint)1 Statement (java.sql.Statement)1 ConnectionPoolDataSource (javax.sql.ConnectionPoolDataSource)1 DataSource (javax.sql.DataSource)1 XADataSource (javax.sql.XADataSource)1 J2EEDataSource (org.apache.derbyTesting.junit.J2EEDataSource)1 JDBCDataSource (org.apache.derbyTesting.junit.JDBCDataSource)1