
com.crosstreelabs.testing.DataSourceResource Maven / Gradle / Ivy
package com.crosstreelabs.testing;
import javax.sql.DataSource;
import org.hsqldb.jdbc.JDBCDataSource;
/**
*
*/
public class DataSourceResource extends AbstractExternalResource {
public static DataSource datasource;
//~ ExternalResource implementation ~~~~~~~~~~~~~~~~~~~~
@Override
protected final void before() throws Throwable {
getDataSource();
}
@Override
protected final void after() {
datasource = null;
}
//~ Datasource necessities ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public String getSchema() {
return "PUBLIC";
}
public final DataSource getDataSource() {
if (datasource == null) {
datasource = buildDataSource();
}
return datasource;
}
protected DataSource buildDataSource() {
final JDBCDataSource datasource = new JDBCDataSource();
datasource.setUrl("jdbc:hsqldb:mem:"+getSchema());
datasource.setUser("SA");
datasource.setPassword("");
return datasource;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy