package siena.base.test; import java.sql.Connection; import java.sql.DriverManager; import java.util.List; import java.util.Properties; import org.apache.commons.dbcp.BasicDataSource; import org.apache.ddlutils.Platform; import org.apache.ddlutils.PlatformFactory; import org.apache.ddlutils.model.Database; import org.apache.ddlutils.platform.CreationParameters; import siena.PersistenceManager; import siena.base.test.model.EnumTest; import siena.base.test.model.PersonStringID; import siena.jdbc.JdbcPersistenceManager; import siena.jdbc.ddl.DdlGenerator; public class JdbcTestNoAutoInc_4_SPECIALS extends BaseTestNoAutoInc_4_SPECIALS { private static JdbcPersistenceManager pm; @Override public PersistenceManager createPersistenceManager(List<Class<?>> classes) throws Exception { if(pm == null){ Properties p = new Properties(); String driver = "com.mysql.jdbc.Driver"; String username = "siena"; String password = "siena"; String url = "jdbc:mysql://localhost/siena"; p.setProperty("driver", driver); p.setProperty("user", username); p.setProperty("password", password); p.setProperty("url", url); Class.forName(driver); BasicDataSource dataSource = new BasicDataSource(); dataSource = new BasicDataSource(); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); dataSource.setMaxWait(2000); // 2 seconds max for wait a connection. DdlGenerator generator = new DdlGenerator(); for (Class<?> clazz : classes) { generator.addTable(clazz); } // get the Database model Database database = generator.getDatabase(); Platform platform = PlatformFactory.createNewPlatformInstance("mysql"); Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection connection = DriverManager.getConnection(url, username, password); System.out.println(platform.getAlterTablesSql(connection, database)); // this will perform the database changes CreationParameters cp = new CreationParameters(); // to search, it requires MyISAM cp.addParameter(database.findTable("discoveries_search"), "ENGINE", "MyISAM"); cp.addParameter(database.findTable("discoveries_search2"), "ENGINE", "MyISAM"); platform.alterTables(connection, database, cp, true); connection.close(); pm = new JdbcPersistenceManager(); pm.init(p); } return pm; } @Override public void init() { // TODO Auto-generated method stub } @Override public boolean supportsAutoincrement() { // TODO Auto-generated method stub return false; } @Override public boolean supportsMultipleKeys() { // TODO Auto-generated method stub return false; } @Override public boolean supportsDeleteException() { // TODO Auto-generated method stub return false; } @Override public boolean supportsSearchStart() { // TODO Auto-generated method stub return true; } @Override public boolean supportsSearchEnd() { // TODO Auto-generated method stub return true; } @Override public boolean supportsTransaction() { // TODO Auto-generated method stub return true; } @Override public boolean supportsListStore() { // TODO Auto-generated method stub return false; } @Override public void testEnum() { // TODO Auto-generated method stub super.testEnum(); } }