All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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