From: <fc...@us...> - 2008-02-19 13:41:05
|
Revision: 630 http://openutils.svn.sourceforge.net/openutils/?rev=630&view=rev Author: fcarone Date: 2008-02-19 05:41:04 -0800 (Tue, 19 Feb 2008) Log Message: ----------- DatatypeFactory annotation configuration added Modified Paths: -------------- trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitExecution.java trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitTestContext.java Modified: trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitExecution.java =================================================================== --- trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitExecution.java 2008-02-19 10:36:14 UTC (rev 629) +++ trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitExecution.java 2008-02-19 13:41:04 UTC (rev 630) @@ -22,12 +22,14 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.dbunit.database.DatabaseConfig; +import org.dbunit.dataset.datatype.IDataTypeFactory; import org.dbunit.operation.DatabaseOperation; /** * @author fgiust - * @version $Id: $ + * @version $Id$ */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @@ -54,6 +56,11 @@ String schema() default ""; /** + * The datatype factory (DatabaseConfig.PROPERTY_DATATYPE_FACTORY) to use. Can be left unset if not needed. + */ + Class< ? extends IDataTypeFactory> dataTypeFactory(); + + /** * A regexp that can match table names. Any table matching this regular expression will not be considered by DbUnit. * By default tables starting with $ are ignored (oracle recycle bin). */ Modified: trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitTestContext.java =================================================================== --- trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitTestContext.java 2008-02-19 10:36:14 UTC (rev 629) +++ trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitTestContext.java 2008-02-19 13:41:04 UTC (rev 630) @@ -26,12 +26,14 @@ import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.StringUtils; import org.dbunit.DatabaseUnitException; +import org.dbunit.database.DatabaseConfig; import org.dbunit.database.DatabaseConnection; import org.dbunit.database.DatabaseSequenceFilter; import org.dbunit.database.IDatabaseConnection; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.FilteredDataSet; import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.datatype.IDataTypeFactory; import org.dbunit.dataset.filter.ITableFilter; import org.dbunit.dataset.filter.SequenceTableFilter; import org.dbunit.operation.DatabaseOperation; @@ -48,7 +50,7 @@ /** * @author fgiust - * @version $Id: $ + * @version $Id$ */ public class DbUnitTestContext { @@ -128,6 +130,12 @@ getDatasource(dataSourceName).getConnection(), schema); + if (dbUnitExecution.dataTypeFactory() != null) + { + IDataTypeFactory dataTypeFactory = dbUnitExecution.dataTypeFactory().newInstance(); + connection.getConfig().setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, dataTypeFactory); + } + try { ITableFilter tableFilter = new RegExpTableFilter(dbUnitExecution.excludedTables()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |