All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.flywaydb.test.dbunit.DefaultDatabaseConnectionFactory Maven / Gradle / Ivy

Go to download

Implementation for dbunit support and spring 4. If spring 3 support needed please use flyway-dbunit-spring3-test. If spring 4 support needed please use flyway-dbunit-spring4-test.

There is a newer version: 10.0.0
Show newest version
/**
 * Copyright (C) 2011-2016 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.flywaydb.test.dbunit;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dbunit.DatabaseUnitException;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;

/**
 * Default implementation of a connection factory used by the dbunit support.

* * Current implementation: *

	if (driverName.toLowerCase().contains("oracle")) {
		// oracle schema name is the user name
		connection = new DatabaseConnection(con, databaseMetaData
				.getUserName().toUpperCase());
	} else {
		if (driverName.contains("H2")) {
			// H2
			connection = new DatabaseConnection(con);
		} else {
			// all other
			connection = new DatabaseConnection(con);
		}
    }
 * 
* * @author Florian * @version 1.7 * @since 1.7.0 * @version 2012-10-02 * */ public class DefaultDatabaseConnectionFactory implements DatabaseConnectionFactory { // @@ Construction protected final Log logger = LogFactory.getLog(getClass()); // implementation public IDatabaseConnection createConnection(final Connection con, final DatabaseMetaData databaseMetaData) throws SQLException, DatabaseUnitException { IDatabaseConnection connection = null; // FIXME not nice I found not a fast possibility to generate inside H2 // the tables inside a // schema as oracle do. final String driverName = databaseMetaData.getDriverName(); if (driverName.toLowerCase().contains("oracle")) { // oracle schema name is the user name connection = new DatabaseConnection(con, databaseMetaData .getUserName().toUpperCase()); } else { if (driverName.contains("H2")) { // H2 connection = new DatabaseConnection(con); } else { // all other connection = new DatabaseConnection(con); } } // final DatabaseConfig config = connection.getConfig(); // // oracle 10g // // FIXME at the moment we have a hard coded oracle notation // config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, new // Oracle10DataTypeFactory()); return connection; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy