X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=test%2Fenterprise%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsupport%2Fpersistence%2FDatabaseUtils.java;h=1b300433d8bc49ca268dc964d5db902b28e1231f;hb=a8ce4dd755f1d7659f9be3e54754c4c3b93add2c;hp=bc62274914081d199aa9cd427cd0943bca2b5433;hpb=17775e14ecfb286e59f67117e5cee7e21e95ab1f;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 bc622749..1b300433 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 @@ -12,7 +12,7 @@ * 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.wamblee.support.persistence; import java.sql.Connection; @@ -90,7 +90,7 @@ public class DatabaseUtils { final String[] tables = getTableNames(aTables); executeInTransaction(new JdbcUnitOfWork() { public Void execute(Connection aConnection) throws Exception { - for (int i = tables.length - 1; i >= 0; i--) { + for (int i = tables.length-1; i >= 0; i--) { aOperation.execute(tables[i]); } return null; @@ -146,15 +146,20 @@ public class DatabaseUtils { LOG.fine("Getting database table names to clean (schema: '" + SCHEMA_PATTERN + "'"); - ResultSet tables = dataSource.getConnection().getMetaData().getTables( - null, SCHEMA_PATTERN, "%", new String[] { "TABLE" }); - while (tables.next()) { - String table = tables.getString("TABLE_NAME"); - if (aSelection.accept(table)) { - result.add(table); + Connection connection = dataSource.getConnection(); + try { + ResultSet tables = connection.getMetaData().getTables(null, + SCHEMA_PATTERN, "%", new String[] { "TABLE" }); + while (tables.next()) { + String table = tables.getString("TABLE_NAME"); + if (aSelection.accept(table)) { + result.add(table); + } } + return (String[]) result.toArray(new String[0]); + } finally { + connection.close(); } - return (String[]) result.toArray(new String[0]); } public void emptyTables() throws Exception { @@ -363,7 +368,7 @@ public class DatabaseUtils { if (aObject instanceof Integer) { aStatement.setInt(aIndex, ((Integer) aObject).intValue()); } else if (aObject instanceof Long) { - aStatement.setLong(aIndex, ((Integer) aObject).longValue()); + aStatement.setLong(aIndex, ((Long) aObject).longValue()); } else if (aObject instanceof String) { aStatement.setString(aIndex, (String) aObject); } else {