1 /******************************************************************************** 2 * Copyright (c) 2005 Chris Rose and AIMedia All rights reserved. 3 * TestingDataSource and the accompanying materials are made available under the 4 * terms of the Common Public License v1.0 which accompanies this distribution, 5 * and is available at http://www.eclipse.org/legal/cpl-v10.html Contributors: 6 * Chris Rose 7 ******************************************************************************/ 8 package ca.spaz.cron.datasource.sql; 9 10 import org.apache.log4j.Logger; 11 12 import java.sql.SQLException; 13 14 /*** 15 * TODO describe 16 * 17 * @author Chris Rose 18 */ 19 public class TestingDataSource extends SQLDatasource { 20 /*** 21 * Logger for this class 22 */ 23 private static final Logger logger = Logger 24 .getLogger(TestingDataSource.class); 25 26 public void initialize() { 27 super.initialize(); 28 } 29 30 public void close() { 31 try { 32 if (!conn.isClosed()) { 33 if (conn.getMetaData().getURL().startsWith("jdbc:hsqldb:file") || 34 conn.getMetaData().getURL().startsWith("jdbc:hsqldb:mem")) { 35 conn.createStatement().execute("SHUTDOWN"); 36 logger.info("[" + getId() + "] - Shutdown called"); 37 } 38 conn.close(); 39 logger.info("[" + getId() + "] - closed"); 40 } 41 } catch (SQLException e) { 42 logger.error("[" + getId() + "] - close()", e); 43 registerError(e); 44 } 45 } 46 47 /*** 48 * @param name 49 * @param id 50 * @param conn 51 * @param allowLocal 52 */ 53 public TestingDataSource(boolean allowLocal) { 54 super("Testing Database", "test_rw", ConnectionManager.getInstance( 55 "test_rw").getConnection(), allowLocal); 56 } 57 58 }