use of com.axway.ats.core.dbaccess.mysql.DbConnMySQL in project ats-framework by Axway.
the class DatabaseProviderFactory method getDatabaseProvider.
/**
* Creates a database provider suitable for the given input arguments
*
* @param dbType
* @param dbHost
* @param dbName
* @param dbUser
* @param dbPass
* @param dbPort
* @param customProperties
* @return
*/
public static synchronized DbProvider getDatabaseProvider(String dbType, String dbHost, String dbName, String dbUser, String dbPass, int dbPort, Map<String, Object> customProperties) {
DbProvider dbProvider;
if (dbType == null) {
throw new IllegalArgumentException("Database type is not provided");
}
if (dbName == null) {
if ("MSSQL".equals(dbType)) {
log.warn("Database name is empty! The connection will be made to the admin database!");
} else {
throw new IllegalArgumentException("Database name is not provided");
}
}
// eventual custom property value
if (dbPort > 0) {
if (customProperties == null) {
customProperties = new HashMap<String, Object>();
}
customProperties.put(DbKeys.PORT_KEY, dbPort);
}
// load a custom data provider
if (dbProviders.containsKey(dbType)) {
String[] classNames = dbProviders.get(dbType);
DbConnection dbConnection = loadDbConnection(classNames[0], dbType, dbHost, dbName, dbUser, dbPass, dbPort, customProperties);
return loadCustomDbProvider(classNames[1], dbConnection);
}
// load a common ATS supported data provider
switch(dbType) {
case DbConnSQLServer.DATABASE_TYPE:
dbProvider = new MssqlDbProvider((DbConnSQLServer) createDbConnection(dbType, dbHost, dbName, dbUser, dbPass, customProperties));
break;
case DbConnMySQL.DATABASE_TYPE:
dbProvider = new MysqlDbProvider((DbConnMySQL) createDbConnection(dbType, dbHost, dbName, dbUser, dbPass, customProperties));
break;
case DbConnOracle.DATABASE_TYPE:
dbProvider = new OracleDbProvider((DbConnOracle) createDbConnection(dbType, dbHost, dbName, dbUser, dbPass, customProperties));
break;
case DbConnCassandra.DATABASE_TYPE:
dbProvider = new CassandraDbProvider((DbConnCassandra) createDbConnection(dbType, dbHost, dbName, dbUser, dbPass, customProperties));
break;
default:
{
// should never happen
throw new IllegalArgumentException("Database type " + dbType + " not supported");
}
}
return dbProvider;
}
use of com.axway.ats.core.dbaccess.mysql.DbConnMySQL in project ats-framework by Axway.
the class PackageLoader method loadPackageFromDb.
private static InputStream loadPackageFromDb(int packageId, String messagesHost, String messagesDB, String messagestable, String messagesUser, String messagesPassword) throws PackageException {
DbConnMySQL dbConnection = new DbConnMySQL(messagesHost, messagesDB, messagesUser, messagesPassword);
MysqlDbProvider dbProvider = new MysqlDbProvider(dbConnection);
try {
InputStream packageContent = dbProvider.selectValue(messagestable, "message_id", Integer.toString(packageId), "data");
log.info("Successfully extracted package with id '" + packageId + "' from '" + messagestable + "' DB");
return packageContent;
} catch (DbRecordsException dbre) {
throw new PackageException("Package with id '" + packageId + "' does not exist in 'messages' DB");
} catch (DbException dbe) {
throw new PackageException("Could not get package with id '" + packageId + "' from the 'messages' DB");
}
}
use of com.axway.ats.core.dbaccess.mysql.DbConnMySQL in project ats-framework by Axway.
the class Test_DatabaseProviderFactory_createDbConnection method createMysqlNoCustom.
@Test
public void createMysqlNoCustom() {
DbConnMySQL dbConnection = (DbConnMySQL) DatabaseProviderFactory.createDbConnection(DbConnMySQL.DATABASE_TYPE, "host", "db", "user", "pass");
assertEquals(DbConnMySQL.DATABASE_TYPE, dbConnection.getDbType());
assertEquals("host", dbConnection.getHost());
assertEquals("db", dbConnection.getDb());
assertEquals("user", dbConnection.getUser());
assertEquals("pass", dbConnection.getPassword());
assertEquals("jdbc:mysql://host:3306/db", dbConnection.getURL());
}
use of com.axway.ats.core.dbaccess.mysql.DbConnMySQL in project ats-framework by Axway.
the class Test_DatabaseProviderFactory_createDbConnection method createMysqlWithCustomProperties.
@Test
public void createMysqlWithCustomProperties() {
Map<String, Object> customProperties = new HashMap<String, Object>();
customProperties.put(DbKeys.PORT_KEY, 123);
DbConnMySQL dbConnection = (DbConnMySQL) DatabaseProviderFactory.createDbConnection(DbConnMySQL.DATABASE_TYPE, "host", "db", "user", "pass", customProperties);
assertEquals(DbConnMySQL.DATABASE_TYPE, dbConnection.getDbType());
assertEquals("host", dbConnection.getHost());
assertEquals("db", dbConnection.getDb());
assertEquals("user", dbConnection.getUser());
assertEquals("pass", dbConnection.getPassword());
assertEquals("jdbc:mysql://host:123/db", dbConnection.getURL());
}
use of com.axway.ats.core.dbaccess.mysql.DbConnMySQL in project ats-framework by Axway.
the class Test_EnvrionmentHandlerFactory method createDbRestoreHandlerPositive.
@Test
public void createDbRestoreHandlerPositive() {
EnvironmentHandlerFactory factory = EnvironmentHandlerFactory.getInstance();
assertEquals(MysqlEnvironmentHandler.class, factory.createDbRestoreHandler(new DbConnMySQL("host", "db", "user", "pass")).getClass());
assertEquals(OracleEnvironmentHandler.class, factory.createDbRestoreHandler(new DbConnOracle("host", "db", "user", "pass")).getClass());
}
Aggregations