/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.spatial.testing;
import org.hibernate.cfg.AvailableSettings;
import org.hibernate.engine.config.spi.ConfigurationService;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
/**
* @author Karel Maesen, Geovise BVBA
* creation-date: Sep 30, 2010
*/
public abstract class TestSupport {
protected ConfigurationService configurationService;
public DataSourceUtils createDataSourceUtil(ServiceRegistry serviceRegistry) {
this.configurationService = serviceRegistry.getService( ConfigurationService.class );
return new DataSourceUtils( driver(), url(), user(), passwd(), getSQLExpressionTemplate() );
}
public GeometryEquality createGeometryEquality() {
return new GeometryEquality();
}
public abstract TestData createTestData(BaseCoreFunctionalTestCase testcase);
public abstract AbstractExpectationsFactory createExpectationsFactory(DataSourceUtils dataSourceUtils);
public abstract SQLExpressionTemplate getSQLExpressionTemplate();
protected String driver() {
return configurationService.getSetting( AvailableSettings.DRIVER, String.class, "" );
}
protected String url() {
return configurationService.getSetting( AvailableSettings.URL, String.class, "" );
}
protected String user() {
return configurationService.getSetting( AvailableSettings.USER, String.class, "" );
}
protected String passwd() {
return configurationService.getSetting( AvailableSettings.PASS, String.class, "" );
}
}