* 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;
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 {
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 {