X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=test%2Fenterprise%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsupport%2Fpersistence%2FDatabaseUtils.java;h=b57cd46184e3c4293da6ca5e25c01f6aec8957cd;hb=c63e76e400f06f51ba235b9e6658bfa3149c1d48;hp=cd7b3e26dd0bd56cc1d943e37ef8262b478ce8ab;hpb=185601ca79008d99e5c2293bc3686fc501720484;p=utils diff --git a/test/enterprise/src/main/java/org/wamblee/support/persistence/DatabaseUtils.java b/test/enterprise/src/main/java/org/wamblee/support/persistence/DatabaseUtils.java index cd7b3e26..b57cd461 100644 --- a/test/enterprise/src/main/java/org/wamblee/support/persistence/DatabaseUtils.java +++ b/test/enterprise/src/main/java/org/wamblee/support/persistence/DatabaseUtils.java @@ -65,7 +65,6 @@ public class DatabaseUtils { */ private static final String SCHEMA_PATTERN = "%"; private DataSource dataSource; - private ITableFilterSimple tables; private IDatabaseTester dbtester; /** @@ -77,12 +76,10 @@ public class DatabaseUtils { /** * Constructs the database utils. * Before use, {@link #start()} must be called. - * @param aDataSource Datasource. - * @param aTables Tables to work with. + * @param aDataSource Datasource. */ - public DatabaseUtils(DataSource aDataSource, ITableFilterSimple aTables) { + public DatabaseUtils(DataSource aDataSource) { dataSource = aDataSource; - tables = aTables; dbtester = new DataSourceDatabaseTester(dataSource); connections = new ArrayList(); } @@ -108,10 +105,11 @@ public class DatabaseUtils { LOG.log(Level.WARNING, "Could not close connection", e); } } + connections.clear(); } - public IDatabaseTester createDbTester() throws Exception { - return createDbTester(getTableNames(tables)); + public IDatabaseTester createDbTester(ITableFilterSimple aTables) throws Exception { + return createDbTester(getTableNames(aTables)); } public IDatabaseTester createDbTester(String[] aTables) throws Exception { @@ -121,17 +119,13 @@ public class DatabaseUtils { return dbtester; } - public void cleanDatabase() throws Exception { - cleanDatabase(tables); - } - public void executeOnTables(ITableFilterSimple aTables, final TableSetOperation aOperation) throws Exception { - final String[] tables = getTableNames(aTables); + final String[] tableNames = getTableNames(aTables); executeInTransaction(new JdbcUnitOfWork() { public Void execute(Connection aConnection) throws Exception { - for (int i = tables.length - 1; i >= 0; i--) { - aOperation.execute(tables[i]); + for (int i = tableNames.length - 1; i >= 0; i--) { + aOperation.execute(tableNames[i]); } return null; } @@ -140,16 +134,16 @@ public class DatabaseUtils { public void cleanDatabase(ITableFilterSimple aSelection) throws Exception { - final String[] tables = getTableNames(aSelection); + final String[] tableNames = getTableNames(aSelection); executeInTransaction(new JdbcUnitOfWork() { public Void execute(Connection aConnection) throws Exception { IDatabaseConnection connection = new DatabaseConnection( aConnection); ITableFilter filter = new DatabaseSequenceFilter(connection, - tables); + tableNames); IDataSet dataset = new FilteredDataSet(filter, connection - .createDataSet(tables)); + .createDataSet(tableNames)); DatabaseOperation.DELETE_ALL.execute(connection, dataset); return null; } @@ -169,11 +163,7 @@ public class DatabaseUtils { connection.close(); } } - - public String[] getTableNames() throws Exception { - return getTableNames(tables); - } - + /** * @throws SQLException */ @@ -186,10 +176,10 @@ public class DatabaseUtils { Connection connection = dataSource.getConnection(); try { - ResultSet tables = connection.getMetaData().getTables(null, + ResultSet tableNames = connection.getMetaData().getTables(null, SCHEMA_PATTERN, "%", new String[] { "TABLE" }); - while (tables.next()) { - String table = tables.getString("TABLE_NAME"); + while (tableNames.next()) { + String table = tableNames.getString("TABLE_NAME"); if (aSelection.accept(table)) { result.add(table); } @@ -200,14 +190,6 @@ public class DatabaseUtils { } } - public void emptyTables() throws Exception { - executeOnTables(tables, new TableSetOperation() { - public void execute(String aTable) throws Exception { - emptyTable(aTable); - } - }); - } - /** * @return * @throws SQLException @@ -229,21 +211,17 @@ public class DatabaseUtils { executeSql("delete from " + aTable); } - public void dropTables() throws Exception { - dropTables(tables); - } - public void dropTables(ITableFilterSimple aTables) throws Exception { - final String[] tables = getTableNames(aTables); + final String[] tableNames = getTableNames(aTables); String[] sortedTables = executeInTransaction(new JdbcUnitOfWork() { public String[] execute(Connection aConnection) throws Exception { IDatabaseConnection connection = new DatabaseConnection( aConnection); ITableFilter filter = new DatabaseSequenceFilter(connection, - tables); + tableNames); IDataSet dataset = new FilteredDataSet(filter, connection - .createDataSet(tables)); + .createDataSet(tableNames)); return dataset.getTableNames(); } });