01: /*
02: *
03: * The DbUnit Database Testing Framework
04: * Copyright (C)2002-2004, DbUnit.org
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2.1 of the License, or (at your option) any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19: *
20: */
21: package org.dbunit;
22:
23: import org.slf4j.Logger;
24: import org.slf4j.LoggerFactory;
25:
26: import java.util.Properties;
27:
28: /**
29: * TestCase that uses a JndiDatabaseTester.
30: *
31: * @author Andres Almiray <aalmiray@users.sourceforge.net>
32: */
33: public abstract class JndiBasedDBTestCase extends DBTestCase {
34:
35: /**
36: * Logger for this class
37: */
38: private static final Logger logger = LoggerFactory
39: .getLogger(JndiBasedDBTestCase.class);
40:
41: public JndiBasedDBTestCase() {
42: }
43:
44: public JndiBasedDBTestCase(String name) {
45: super (name);
46: }
47:
48: /**
49: * Creates a new IDatabaseTester.<br>
50: * Default implementation returns a {@link JndiDatabaseTester} configured
51: * with the values returned from {@link getJNDIProperties()} and
52: * {@link getLookupName()}.
53: */
54: protected IDatabaseTester newDatabaseTester() {
55: logger.debug("newDatabaseTester() - start");
56:
57: return new JndiDatabaseTester(getJNDIProperties(),
58: getLookupName());
59: }
60:
61: /**
62: * Returns the JNDI lookup name for the test DataSource.
63: */
64: protected abstract String getLookupName();
65:
66: /**
67: * Returns the JNDI properties to use.<br>
68: * Subclasses must override this method to provide customized JNDI
69: * properties. Default implementation returns an empty Properties object.
70: */
71: protected Properties getJNDIProperties() {
72: logger.debug("getJNDIProperties() - start");
73:
74: return new Properties();
75: }
76: }
|