You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(5) |
Jul
(7) |
Aug
(37) |
Sep
|
Oct
|
Nov
(1) |
Dec
(22) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(8) |
Feb
(68) |
Mar
(72) |
Apr
(149) |
May
(32) |
Jun
(46) |
Jul
(26) |
Aug
(59) |
Sep
(25) |
Oct
(18) |
Nov
(4) |
Dec
(3) |
2004 |
Jan
(90) |
Feb
(19) |
Mar
(38) |
Apr
(41) |
May
(44) |
Jun
(2) |
Jul
(10) |
Aug
|
Sep
(14) |
Oct
|
Nov
(1) |
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(15) |
Jun
(1) |
Jul
|
Aug
(9) |
Sep
|
Oct
(17) |
Nov
|
Dec
|
2006 |
Jan
(1) |
Feb
(16) |
Mar
|
Apr
(1) |
May
(48) |
Jun
|
Jul
(2) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(29) |
2007 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
(23) |
Mar
(31) |
Apr
|
May
(26) |
Jun
(6) |
Jul
(1) |
Aug
|
Sep
(7) |
Oct
(1) |
Nov
(8) |
Dec
(8) |
2009 |
Jan
(5) |
Feb
(9) |
Mar
(1) |
Apr
|
May
(23) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
(9) |
Oct
(28) |
Nov
(18) |
Dec
(8) |
2010 |
Jan
(19) |
Feb
(24) |
Mar
(3) |
Apr
|
May
(5) |
Jun
(4) |
Jul
|
Aug
(1) |
Sep
(11) |
Oct
|
Nov
(2) |
Dec
(1) |
2011 |
Jan
|
Feb
(7) |
Mar
|
Apr
(6) |
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(32) |
Oct
(6) |
Nov
|
Dec
|
From: <mla...@us...> - 2003-04-09 18:18:52
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml In directory sc8-pr-cvs1:/tmp/cvs-serv28119/src/test/org/dbunit/dataset/xml Modified Files: Tag: branch-iterator FlatXmlDataSetTest.java XmlDataSetTest.java Log Message: Deprecated the IDataSet.getTables() method and replaced usage with the iterator() methods. Only code that explicitly test the getTable() method continue to use it. Index: FlatXmlDataSetTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml/FlatXmlDataSetTest.java,v retrieving revision 1.13 retrieving revision 1.13.2.1 diff -C2 -d -r1.13 -r1.13.2.1 *** FlatXmlDataSetTest.java 11 Mar 2003 13:00:07 -0000 1.13 --- FlatXmlDataSetTest.java 9 Apr 2003 18:18:47 -0000 1.13.2.1 *************** *** 28,31 **** --- 28,32 ---- import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable; + import org.dbunit.dataset.DataSetUtils; import java.io.File; *************** *** 107,112 **** // verify each table ! ITable[] expected = expectedDataSet.getTables(); ! ITable[] actual = actualDataSet.getTables(); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) --- 108,113 ---- // verify each table ! ITable[] expected = DataSetUtils.getTables(expectedDataSet); ! ITable[] actual = DataSetUtils.getTables(actualDataSet); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) *************** *** 160,165 **** // verify each table ! ITable[] expected = expectedDataSet.getTables(); ! ITable[] actual = actualDataSet.getTables(); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) --- 161,166 ---- // verify each table ! ITable[] expected = DataSetUtils.getTables(expectedDataSet); ! ITable[] actual = DataSetUtils.getTables(actualDataSet); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) Index: XmlDataSetTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml/XmlDataSetTest.java,v retrieving revision 1.8 retrieving revision 1.8.4.1 diff -C2 -d -r1.8 -r1.8.4.1 *** XmlDataSetTest.java 14 Feb 2003 03:22:01 -0000 1.8 --- XmlDataSetTest.java 9 Apr 2003 18:18:47 -0000 1.8.4.1 *************** *** 78,83 **** // verify each table ! ITable[] expected = expectedDataSet.getTables(); ! ITable[] actual = actualDataSet.getTables(); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) --- 78,83 ---- // verify each table ! ITable[] expected = DataSetUtils.getTables(expectedDataSet); ! ITable[] actual = DataSetUtils.getTables(actualDataSet); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) *************** *** 125,130 **** // verify each table ! ITable[] expected = expectedDataSet.getTables(); ! ITable[] actual = actualDataSet.getTables(); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) --- 125,130 ---- // verify each table ! ITable[] expected = DataSetUtils.getTables(expectedDataSet); ! ITable[] actual = DataSetUtils.getTables(actualDataSet); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) |
From: <mla...@us...> - 2003-04-09 18:18:51
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/excel In directory sc8-pr-cvs1:/tmp/cvs-serv28119/src/test/org/dbunit/dataset/excel Modified Files: Tag: branch-iterator XlsDataSetTest.java Log Message: Deprecated the IDataSet.getTables() method and replaced usage with the iterator() methods. Only code that explicitly test the getTable() method continue to use it. Index: XlsDataSetTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/excel/XlsDataSetTest.java,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -C2 -d -r1.1 -r1.1.2.1 *** XlsDataSetTest.java 21 Mar 2003 03:14:50 -0000 1.1 --- XlsDataSetTest.java 9 Apr 2003 18:18:46 -0000 1.1.2.1 *************** *** 25,28 **** --- 25,29 ---- import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable; + import org.dbunit.dataset.DataSetUtils; import java.io.*; *************** *** 80,85 **** // verify each table ! ITable[] expected = expectedDataSet.getTables(); ! ITable[] actual = actualDataSet.getTables(); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) --- 81,86 ---- // verify each table ! ITable[] expected = DataSetUtils.getTables(expectedDataSet); ! ITable[] actual = DataSetUtils.getTables(actualDataSet); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) *************** *** 133,138 **** // verify each table ! ITable[] expected = expectedDataSet.getTables(); ! ITable[] actual = actualDataSet.getTables(); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) --- 134,139 ---- // verify each table ! ITable[] expected = DataSetUtils.getTables(expectedDataSet); ! ITable[] actual = DataSetUtils.getTables(actualDataSet); assertEquals("table count", expected.length, actual.length); for (int i = 0; i < expected.length; i++) |
From: <mla...@us...> - 2003-04-09 18:18:50
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv28119/src/test/org/dbunit/dataset Modified Files: Tag: branch-iterator AbstractDataSetTest.java CompositeDataSetTest.java Log Message: Deprecated the IDataSet.getTables() method and replaced usage with the iterator() methods. Only code that explicitly test the getTable() method continue to use it. Index: AbstractDataSetTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/AbstractDataSetTest.java,v retrieving revision 1.19.4.2 retrieving revision 1.19.4.3 diff -C2 -d -r1.19.4.2 -r1.19.4.3 *** AbstractDataSetTest.java 6 Apr 2003 21:52:08 -0000 1.19.4.2 --- AbstractDataSetTest.java 9 Apr 2003 18:18:45 -0000 1.19.4.3 *************** *** 89,97 **** { IDataSet dataSet = createDuplicateDataSet(); ! ITable lowerTable = dataSet.getTables()[0]; dataSet = new DefaultDataSet(new ITable[]{ new CompositeTable(getDuplicateTableName().toLowerCase(), lowerTable), ! dataSet.getTables()[1], ! dataSet.getTables()[2], }); return dataSet; --- 89,98 ---- { IDataSet dataSet = createDuplicateDataSet(); ! ITable[] tables = DataSetUtils.getTables(dataSet.iterator()); ! ITable lowerTable = tables[0]; dataSet = new DefaultDataSet(new ITable[]{ new CompositeTable(getDuplicateTableName().toLowerCase(), lowerTable), ! tables[1], ! tables[2], }); return dataSet; Index: CompositeDataSetTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/CompositeDataSetTest.java,v retrieving revision 1.8 retrieving revision 1.8.4.1 diff -C2 -d -r1.8 -r1.8.4.1 *** CompositeDataSetTest.java 15 Feb 2003 05:42:43 -0000 1.8 --- CompositeDataSetTest.java 9 Apr 2003 18:18:46 -0000 1.8.4.1 *************** *** 75,79 **** assertEquals("table count before", 3, originaldataSet.getTableNames().length); ! IDataSet combinedDataSet = new CompositeDataSet(originaldataSet.getTables()); assertEquals("table count combined", 2, combinedDataSet.getTableNames().length); } --- 75,79 ---- assertEquals("table count before", 3, originaldataSet.getTableNames().length); ! IDataSet combinedDataSet = new CompositeDataSet(originaldataSet, true); assertEquals("table count combined", 2, combinedDataSet.getTableNames().length); } |
From: <mla...@us...> - 2003-04-09 02:22:15
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit In directory sc8-pr-cvs1:/tmp/cvs-serv22187/dbunit/src/test/org/dbunit Modified Files: Tag: branch-iterator AbstractDatabaseTest.java Log Message: Fixed some issues with case sensitive database like MySQL. Should we also fix this in Main trunk or we assume it will be fix after the merge??? Index: AbstractDatabaseTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/AbstractDatabaseTest.java,v retrieving revision 1.11 retrieving revision 1.11.4.1 diff -C2 -d -r1.11 -r1.11.4.1 *** AbstractDatabaseTest.java 16 Feb 2003 06:00:59 -0000 1.11 --- AbstractDatabaseTest.java 9 Apr 2003 02:22:12 -0000 1.11.4.1 *************** *** 26,29 **** --- 26,30 ---- import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable; + import org.dbunit.dataset.SortedTable; import org.dbunit.operation.DatabaseOperation; *************** *** 50,55 **** throws Exception { ! String sql = "select * from " + tableName + " order by " + orderByColumn; ! return _connection.createQueryTable(tableName, sql); } --- 51,58 ---- throws Exception { ! return new SortedTable(_connection.createDataSet().getTable(tableName), ! new String[]{orderByColumn}); ! // String sql = "select * from " + tableName + " order by " + orderByColumn; ! // return _connection.createQueryTable(tableName, sql); } |
From: <mla...@us...> - 2003-04-09 02:22:15
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation In directory sc8-pr-cvs1:/tmp/cvs-serv22187/dbunit/src/java/org/dbunit/operation Modified Files: Tag: branch-iterator AbstractBatchOperation.java Log Message: Fixed some issues with case sensitive database like MySQL. Should we also fix this in Main trunk or we assume it will be fix after the merge??? Index: AbstractBatchOperation.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation/AbstractBatchOperation.java,v retrieving revision 1.16.2.1 retrieving revision 1.16.2.2 diff -C2 -d -r1.16.2.1 -r1.16.2.2 *** AbstractBatchOperation.java 7 Apr 2003 02:48:13 -0000 1.16.2.1 --- AbstractBatchOperation.java 9 Apr 2003 02:22:12 -0000 1.16.2.2 *************** *** 72,76 **** } ! return new DefaultTableMetaData(tableName, (Column[])columnList.toArray(new Column[0]), databaseMetaData.getPrimaryKeys()); --- 72,76 ---- } ! return new DefaultTableMetaData(databaseMetaData.getTableName(), (Column[])columnList.toArray(new Column[0]), databaseMetaData.getPrimaryKeys()); |
From: <mla...@us...> - 2003-04-09 02:22:15
|
Update of /cvsroot/dbunit/dbunit/src/sql In directory sc8-pr-cvs1:/tmp/cvs-serv22187/dbunit/src/sql Added Files: Tag: branch-iterator mysql.sql Log Message: Fixed some issues with case sensitive database like MySQL. Should we also fix this in Main trunk or we assume it will be fix after the merge??? --- NEW FILE: mysql.sql --- ----------------------------------------------------------------------------- -- TEST_TABLE ----------------------------------------------------------------------------- CREATE TABLE test_table (column0 VARCHAR(32), column1 VARCHAR(32), column2 VARCHAR(32), column3 VARCHAR(32)) TYPE = InnoDB; ----------------------------------------------------------------------------- -- SECOND_TABLE ----------------------------------------------------------------------------- CREATE TABLE second_table (COLUMN0 VARCHAR(32), COLUMN1 VARCHAR(32), COLUMN2 VARCHAR(32), COLUMN3 VARCHAR(32)) TYPE = InnoDB; ----------------------------------------------------------------------------- -- EMPTY_TABLE ----------------------------------------------------------------------------- CREATE TABLE empty_table (COLUMN0 VARCHAR(32), COLUMN1 VARCHAR(32), COLUMN2 VARCHAR(32), COLUMN3 VARCHAR(32)) TYPE = InnoDB; /* ----------------------------------------------------------------------------- -- ESCAPED TABLE ----------------------------------------------------------------------------- CREATE TABLE "ESCAPED TABLE" (COLUMN0 VARCHAR(32), COLUMN1 VARCHAR(32), COLUMN2 VARCHAR(32), "COLUMN 3" VARCHAR(32)) TYPE = InnoDB; */ ----------------------------------------------------------------------------- -- PK_TABLE ----------------------------------------------------------------------------- CREATE TABLE pk_table (PK0 NUMERIC(38, 0) NOT NULL, PK1 NUMERIC(38, 0) NOT NULL, PK2 NUMERIC(38, 0) NOT NULL, NORMAL0 VARCHAR(32), NORMAL1 VARCHAR(32), PRIMARY KEY (PK0, PK1, PK2)) TYPE = InnoDB; ----------------------------------------------------------------------------- -- ONLY_PK_TABLE ----------------------------------------------------------------------------- CREATE TABLE only_pk_table (pk0 NUMERIC(38, 0) NOT NULL PRIMARY KEY) TYPE = InnoDB; ----------------------------------------------------------------------------- -- EMPTY_MULTITYPE_TABLE ----------------------------------------------------------------------------- CREATE TABLE empty_multitype_table (VARCHAR_COL VARCHAR(32), NUMERIC_COL NUMERIC(38, 0), TIMESTAMP_COL TIMESTAMP, VARBINARY_COL VARBINARY(254)) TYPE = InnoDB; |
From: <mla...@us...> - 2003-04-09 02:22:14
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv22187/dbunit/src/java/org/dbunit/dataset Modified Files: Tag: branch-iterator SortedTable.java Log Message: Fixed some issues with case sensitive database like MySQL. Should we also fix this in Main trunk or we assume it will be fix after the merge??? Index: SortedTable.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/SortedTable.java,v retrieving revision 1.3 retrieving revision 1.3.4.1 diff -C2 -d -r1.3 -r1.3.4.1 *** SortedTable.java 21 Feb 2003 13:13:17 -0000 1.3 --- SortedTable.java 9 Apr 2003 02:22:11 -0000 1.3.4.1 *************** *** 52,55 **** --- 52,71 ---- /** + * Sort the decorated table by specified columns order. + */ + public SortedTable(ITable table, String[] columnNames) throws DataSetException + { + _table = table; + _columns = new Column[columnNames.length]; + + Column[] columns = table.getTableMetaData().getColumns(); + for (int i = 0; i < columnNames.length; i++) + { + String columnName = columnNames[i]; + _columns[i] = DataSetUtils.getColumn(columnName, columns); + } + } + + /** * Sort the decorated table by specified metadata columns order. All * metadata columns will be used. |
From: <mla...@us...> - 2003-04-09 02:22:14
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/database In directory sc8-pr-cvs1:/tmp/cvs-serv22187/dbunit/src/java/org/dbunit/database Modified Files: Tag: branch-iterator DatabaseDataSet.java Log Message: Fixed some issues with case sensitive database like MySQL. Should we also fix this in Main trunk or we assume it will be fix after the merge??? Index: DatabaseDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/database/DatabaseDataSet.java,v retrieving revision 1.19.4.3 retrieving revision 1.19.4.4 diff -C2 -d -r1.19.4.3 -r1.19.4.4 *** DatabaseDataSet.java 7 Apr 2003 02:48:12 -0000 1.19.4.3 --- DatabaseDataSet.java 9 Apr 2003 02:22:11 -0000 1.19.4.4 *************** *** 24,27 **** --- 24,28 ---- import org.dbunit.dataset.*; + import org.dbunit.dataset.filter.SequenceTableIterator; import java.sql.*; *************** *** 135,139 **** } nameList.add(tableName); ! _tableMap.put(tableName, null); } --- 136,140 ---- } nameList.add(tableName); ! _tableMap.put(tableName.toUpperCase(), null); } *************** *** 163,167 **** } ! return new DatabaseTableIterator(names, this); } --- 164,168 ---- } ! return new SequenceTableIterator(names, this); } |
From: <mla...@us...> - 2003-04-09 02:22:14
|
Update of /cvsroot/dbunit/dbunit In directory sc8-pr-cvs1:/tmp/cvs-serv22187/dbunit Modified Files: Tag: branch-iterator profile.properties Log Message: Fixed some issues with case sensitive database like MySQL. Should we also fix this in Main trunk or we assume it will be fix after the merge??? Index: profile.properties =================================================================== RCS file: /cvsroot/dbunit/dbunit/profile.properties,v retrieving revision 1.22 retrieving revision 1.22.4.1 diff -C2 -d -r1.22 -r1.22.4.1 *** profile.properties 13 Dec 2002 21:40:32 -0000 1.22 --- profile.properties 9 Apr 2003 02:22:11 -0000 1.22.4.1 *************** *** 6,10 **** #dbunit.profile = oracle #dbunit.profile = mysql - #dbunit.profile = antoine #dbunit.profile = mssql --- 6,9 ---- *************** *** 27,41 **** dbunit.profile.oracle.password = dbunit ! dbunit.profile.antoine.driverClass = oracle.jdbc.driver.OracleDriver ! dbunit.profile.antoine.connectionUrl = jdbc:oracle:thin:@demowin:1521:demowin ! dbunit.profile.antoine.schema = ANTOINE ! dbunit.profile.antoine.user = antoine ! dbunit.profile.antoine.password = antoine ! ! dbunit.profile.mysql.driverClass = org.gjt.mm.mysql.Driver dbunit.profile.mysql.connectionUrl = jdbc:mysql://localhost:3306/dbunit #dbunit.profile.mysql.schema = DBUNIT ! dbunit.profile.mysql.user = root ! dbunit.profile.mysql.password = dbunit.profile.mssql.driverClass = com.microsoft.jdbc.sqlserver.SQLServerDriver --- 26,34 ---- dbunit.profile.oracle.password = dbunit ! dbunit.profile.mysql.driverClass = com.mysql.jdbc.Driver dbunit.profile.mysql.connectionUrl = jdbc:mysql://localhost:3306/dbunit #dbunit.profile.mysql.schema = DBUNIT ! dbunit.profile.mysql.user = dbunit ! dbunit.profile.mysql.password = dbunit dbunit.profile.mssql.driverClass = com.microsoft.jdbc.sqlserver.SQLServerDriver *************** *** 51,54 **** --- 44,53 ---- dbunit.profile.user = ${dbunit.profile.hypersonic.user} dbunit.profile.password = ${dbunit.profile.hypersonic.password} + + #dbunit.profile.driverClass = ${dbunit.profile.mysql.driverClass} + #dbunit.profile.connectionUrl = ${dbunit.profile.mysql.connectionUrl} + ##dbunit.profile.schema = ${dbunit.profile.mysql.schema} + #dbunit.profile.user = ${dbunit.profile.mysql.user} + #dbunit.profile.password = ${dbunit.profile.mysql.password} #dbunit.profile.driverClass = ${dbunit.profile.mssql.driverClass} |
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/database In directory sc8-pr-cvs1:/tmp/cvs-serv20195/dbunit/src/test/org/dbunit/database Modified Files: Tag: branch-iterator AllTests.java Removed Files: Tag: branch-iterator DatabaseReverseTableIteratorTest.java DatabaseTableIteratorTest.java Log Message: Refactored FilteredDataSet to work with new iterator paradigm. Index: AllTests.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/database/AllTests.java,v retrieving revision 1.9.4.1 retrieving revision 1.9.4.2 diff -C2 -d -r1.9.4.1 -r1.9.4.2 *** AllTests.java 7 Apr 2003 02:23:37 -0000 1.9.4.1 --- AllTests.java 9 Apr 2003 02:15:31 -0000 1.9.4.2 *************** *** 38,43 **** suite.addTest(new TestSuite(DatabaseConnectionTest.class)); suite.addTest(new TestSuite(DatabaseDataSetTest.class)); - suite.addTest(new TestSuite(DatabaseReverseTableIteratorTest.class)); - suite.addTest(new TestSuite(DatabaseTableIteratorTest.class)); suite.addTest(new TestSuite(DatabaseTableMetaDataTest.class)); suite.addTest(new TestSuite(QueryDataSetTest.class)); --- 38,41 ---- --- DatabaseReverseTableIteratorTest.java DELETED --- --- DatabaseTableIteratorTest.java DELETED --- |
From: <mla...@us...> - 2003-04-09 02:15:41
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/filter In directory sc8-pr-cvs1:/tmp/cvs-serv20195/dbunit/src/test/org/dbunit/dataset/filter Modified Files: Tag: branch-iterator AllTests.java Added Files: Tag: branch-iterator SequenceTableIteratorTest.java Log Message: Refactored FilteredDataSet to work with new iterator paradigm. --- NEW FILE: SequenceTableIteratorTest.java --- /* * * The DbUnit Database Testing Framework * Copyright (C)2002, Manuel Laflamme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ package org.dbunit.dataset.filter; import org.dbunit.dataset.AbstractTableIteratorTest; import org.dbunit.dataset.ITableIterator; import org.dbunit.dataset.filter.SequenceTableIterator; import org.dbunit.DatabaseEnvironment; import org.dbunit.database.IDatabaseConnection; import org.dbunit.database.DatabaseDataSet; /** * @author Manuel Laflamme * @since Apr 6, 2003 * @version $Revision: 1.1.2.1 $ */ public class SequenceTableIteratorTest extends AbstractTableIteratorTest { protected IDatabaseConnection _connection; public SequenceTableIteratorTest(String s) { super(s); } //////////////////////////////////////////////////////////////////////////// // TestCase class protected void setUp() throws Exception { super.setUp(); _connection = DatabaseEnvironment.getInstance().getConnection(); } protected void tearDown() throws Exception { super.tearDown(); _connection = null; } protected String[] getExpectedNames() throws Exception { return _connection.createDataSet().getTableNames(); } protected ITableIterator getIterator() throws Exception { return _connection.createDataSet().iterator(); } protected ITableIterator getEmptyIterator() throws Exception { return new SequenceTableIterator(new String[0], (DatabaseDataSet)_connection.createDataSet()); } } Index: AllTests.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/filter/AllTests.java,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** AllTests.java 19 Mar 2003 01:56:18 -0000 1.2 --- AllTests.java 9 Apr 2003 02:15:33 -0000 1.2.2.1 *************** *** 37,40 **** --- 37,41 ---- suite.addTest(new TestSuite(IncludeTableFilterTest.class)); suite.addTest(new TestSuite(SequenceTableFilterTest.class)); + suite.addTest(new TestSuite(SequenceTableIteratorTest.class)); return suite; |
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/filter In directory sc8-pr-cvs1:/tmp/cvs-serv17988/dbunit/src/java/org/dbunit/dataset/filter Modified Files: Tag: branch-iterator AbstractTableFilter.java ITableFilter.java SequenceTableFilter.java Added Files: Tag: branch-iterator SequenceTableIterator.java Log Message: Refactored FilteredDataSet to work with new iterator paradigm. --- NEW FILE: SequenceTableIterator.java --- /* * * The DbUnit Database Testing Framework * Copyright (C)2002, Manuel Laflamme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ package org.dbunit.dataset.filter; import org.dbunit.dataset.ITableIterator; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.ITableMetaData; import org.dbunit.dataset.ITable; import org.dbunit.dataset.IDataSet; /** * @author Manuel Laflamme * @since Apr 6, 2003 * @version $Revision: 1.1.2.1 $ */ public class SequenceTableIterator implements ITableIterator { private final String[] _tableNames; private final IDataSet _dataSet; private int _index = -1; public SequenceTableIterator(String[] tableNames, IDataSet dataSet) { _tableNames = tableNames; _dataSet = dataSet; } //////////////////////////////////////////////////////////////////////////// // ITableIterator interface public boolean next() throws DataSetException { _index++; return _index < _tableNames.length; } public ITableMetaData getTableMetaData() throws DataSetException { return _dataSet.getTableMetaData(_tableNames[_index]); } public ITable getTable() throws DataSetException { return _dataSet.getTable(_tableNames[_index]); } } Index: AbstractTableFilter.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/filter/AbstractTableFilter.java,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -C2 -d -r1.1 -r1.1.2.1 *** AbstractTableFilter.java 11 Mar 2003 13:26:03 -0000 1.1 --- AbstractTableFilter.java 9 Apr 2003 02:07:14 -0000 1.1.2.1 *************** *** 24,31 **** import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable; ! import org.dbunit.dataset.NoSuchTableException; - import java.util.List; import java.util.ArrayList; /** --- 24,32 ---- import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable; ! import org.dbunit.dataset.ITableIterator; ! import org.dbunit.dataset.ITableMetaData; import java.util.ArrayList; + import java.util.List; /** *************** *** 59,76 **** } ! public ITable[] getTables(IDataSet dataSet) throws DataSetException { ! ITable[] tables = dataSet.getTables(); ! List tableList = new ArrayList(); ! for (int i = 0; i < tables.length; i++) { ! ITable table = tables[i]; ! String tableName = table.getTableMetaData().getTableName(); ! if (isValidName(tableName)) { ! tableList.add(table); } } - return (ITable[])tableList.toArray(new ITable[0]); } } --- 60,106 ---- } ! public ITableIterator iterator(IDataSet dataSet, boolean reversed) ! throws DataSetException { ! return new FilterIterator(reversed ? ! dataSet.reverseIterator() : dataSet.iterator()); ! } ! ! //////////////////////////////////////////////////////////////////////////// ! // FilterIterator class ! ! private class FilterIterator implements ITableIterator ! { ! private final ITableIterator _iterator; ! ! public FilterIterator(ITableIterator iterator) { ! _iterator = iterator; ! } ! ! //////////////////////////////////////////////////////////////////////////// ! // ITableIterator interface ! ! public boolean next() throws DataSetException ! { ! while(_iterator.next()) { ! if (isValidName(_iterator.getTableMetaData().getTableName())) ! { ! return true; ! } } + return false; + } + + public ITableMetaData getTableMetaData() throws DataSetException + { + return _iterator.getTableMetaData(); + } + + public ITable getTable() throws DataSetException + { + return _iterator.getTable(); } } } Index: ITableFilter.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/filter/ITableFilter.java,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -C2 -d -r1.1 -r1.1.2.1 *** ITableFilter.java 11 Mar 2003 13:26:03 -0000 1.1 --- ITableFilter.java 9 Apr 2003 02:07:14 -0000 1.1.2.1 *************** *** 49,56 **** /** ! * Returns the tables allowed by this filter from the specified dataset. * * @param dataSet the filtered dataset */ ! public ITable[] getTables(IDataSet dataSet) throws DataSetException; } --- 49,57 ---- /** ! * Returns iterator of tables allowed by this filter from the specified dataset. * * @param dataSet the filtered dataset */ ! public ITableIterator iterator(IDataSet dataSet, boolean reversed) ! throws DataSetException; } Index: SequenceTableFilter.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/filter/SequenceTableFilter.java,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -C2 -d -r1.1 -r1.1.2.1 *** SequenceTableFilter.java 11 Mar 2003 13:26:03 -0000 1.1 --- SequenceTableFilter.java 9 Apr 2003 02:07:14 -0000 1.1.2.1 *************** *** 105,119 **** } ! public ITable[] getTables(IDataSet dataSet) throws DataSetException { - List tableList = new ArrayList(); String[] tableNames = getTableNames(dataSet); ! for (int i = 0; i < tableNames.length; i++) ! { ! String tableName = tableNames[i]; ! tableList.add(dataSet.getTable(tableName)); ! } ! ! return (ITable[])tableList.toArray(new ITable[0]); } } --- 105,114 ---- } ! public ITableIterator iterator(IDataSet dataSet, boolean reversed) ! throws DataSetException { String[] tableNames = getTableNames(dataSet); ! return new SequenceTableIterator(reversed ? ! DataSetUtils.reverseStringArray(tableNames) : tableNames, dataSet); } } |
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/filter In directory sc8-pr-cvs1:/tmp/cvs-serv17988/dbunit/src/test/org/dbunit/dataset/filter Modified Files: Tag: branch-iterator AbstractTableFilterTest.java ExcludeTableFilterTest.java IncludeTableFilterTest.java SequenceTableFilterTest.java Log Message: Refactored FilteredDataSet to work with new iterator paradigm. Index: AbstractTableFilterTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/filter/AbstractTableFilterTest.java,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -C2 -d -r1.2.2.1 -r1.2.2.2 *** AbstractTableFilterTest.java 6 Apr 2003 20:34:43 -0000 1.2.2.1 --- AbstractTableFilterTest.java 9 Apr 2003 02:07:15 -0000 1.2.2.2 *************** *** 86,98 **** public abstract void testGetTableNamesAndTableNotInDecoratedDataSet() throws Exception; ! public abstract void testGetTables() throws Exception; ! ! public abstract void testGetDuplicateTables() throws Exception; ! public abstract void testGetCaseInsensitiveTables() throws Exception; ! public abstract void testGetReverseTables() throws Exception; ! public abstract void testGetTablesAndTableNotInDecoratedDataSet() throws Exception; } --- 86,97 ---- public abstract void testGetTableNamesAndTableNotInDecoratedDataSet() throws Exception; ! public abstract void testIterator() throws Exception; ! public abstract void testIteratorWithDuplicateTables() throws Exception; ! public abstract void testCaseInsensitiveIterator() throws Exception; ! public abstract void testReverseIterator() throws Exception; + public abstract void testIteratorAndTableNotInDecoratedDataSet() throws Exception; } Index: ExcludeTableFilterTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/filter/ExcludeTableFilterTest.java,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** ExcludeTableFilterTest.java 20 Mar 2003 03:05:12 -0000 1.2 --- ExcludeTableFilterTest.java 9 Apr 2003 02:07:15 -0000 1.2.2.1 *************** *** 26,29 **** --- 26,30 ---- import org.dbunit.dataset.LowerCaseDataSet; import org.dbunit.dataset.DefaultTable; + import org.dbunit.dataset.DataSetUtils; import java.util.Arrays; *************** *** 158,162 **** } ! public void testGetTables() throws Exception { String[] expectedNames = getExpectedNames(); --- 159,163 ---- } ! public void testIterator() throws Exception { String[] expectedNames = getExpectedNames(); *************** *** 168,172 **** dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); --- 169,174 ---- dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); *************** *** 175,179 **** } ! public void testGetDuplicateTables() throws Exception { String[] expectedNames = getExpectedDuplicateNames(); --- 177,181 ---- } ! public void testIteratorWithDuplicateTables() throws Exception { String[] expectedNames = getExpectedDuplicateNames(); *************** *** 185,189 **** dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); --- 187,192 ---- dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); *************** *** 192,196 **** } ! public void testGetCaseInsensitiveTables() throws Exception { ExcludeTableFilter filter = new ExcludeTableFilter(); --- 195,199 ---- } ! public void testCaseInsensitiveIterator() throws Exception { ExcludeTableFilter filter = new ExcludeTableFilter(); *************** *** 202,206 **** dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); --- 205,210 ---- dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); *************** *** 209,218 **** } ! public void testGetReverseTables() throws Exception { // Cannot test! } ! public void testGetTablesAndTableNotInDecoratedDataSet() throws Exception { String[] expectedNames = getExpectedNames(); --- 213,222 ---- } ! public void testReverseIterator() throws Exception { // Cannot test! } ! public void testIteratorAndTableNotInDecoratedDataSet() throws Exception { String[] expectedNames = getExpectedNames(); *************** *** 225,229 **** dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); --- 229,234 ---- dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); *************** *** 341,345 **** if (pattern.equals("*")) { ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count - " + pattern, --- 346,351 ---- if (pattern.equals("*")) { ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count - " + pattern, *************** *** 348,352 **** else { ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count - " + pattern, --- 354,359 ---- else { ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count - " + pattern, *************** *** 374,378 **** filter.excludeTable(pattern); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count - " + pattern, --- 381,386 ---- filter.excludeTable(pattern); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count - " + pattern, Index: IncludeTableFilterTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/filter/IncludeTableFilterTest.java,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** IncludeTableFilterTest.java 20 Mar 2003 03:05:12 -0000 1.2 --- IncludeTableFilterTest.java 9 Apr 2003 02:07:15 -0000 1.2.2.1 *************** *** 190,194 **** } ! public void testGetTables() throws Exception { String[] expectedNames = getExpectedNames(); --- 190,194 ---- } ! public void testIterator() throws Exception { String[] expectedNames = getExpectedNames(); *************** *** 199,203 **** dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); --- 199,204 ---- dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); *************** *** 206,210 **** } ! public void testGetDuplicateTables() throws Exception { String[] expectedNames = getExpectedDuplicateNames(); --- 207,211 ---- } ! public void testIteratorWithDuplicateTables() throws Exception { String[] expectedNames = getExpectedDuplicateNames(); *************** *** 215,219 **** dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); --- 216,221 ---- dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); *************** *** 222,226 **** } ! public void testGetCaseInsensitiveTables() throws Exception { ITableFilter filter = new IncludeTableFilter(getExpectedNames()); --- 224,228 ---- } ! public void testCaseInsensitiveIterator() throws Exception { ITableFilter filter = new IncludeTableFilter(getExpectedNames()); *************** *** 231,235 **** dataSet.getTableNames().length > lowerNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", lowerNames.length, actualTables.length); --- 233,238 ---- dataSet.getTableNames().length > lowerNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", lowerNames.length, actualTables.length); *************** *** 238,245 **** } ! public void testGetReverseTables() throws Exception { ! String[] expectedNames = getExpectedNames(); ! String[] filterNames = DataSetUtils.reverseStringArray(expectedNames); ITableFilter filter = new IncludeTableFilter(filterNames); --- 241,248 ---- } ! public void testReverseIterator() throws Exception { ! String[] filterNames = getExpectedNames(); ! String[] expectedNames = DataSetUtils.reverseStringArray(filterNames); ITableFilter filter = new IncludeTableFilter(filterNames); *************** *** 248,252 **** dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); --- 251,256 ---- dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, true)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); *************** *** 255,259 **** } ! public void testGetTablesAndTableNotInDecoratedDataSet() throws Exception { String[] expectedNames = getExpectedNames(); --- 259,263 ---- } ! public void testIteratorAndTableNotInDecoratedDataSet() throws Exception { String[] expectedNames = getExpectedNames(); *************** *** 268,272 **** dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); --- 272,277 ---- dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); *************** *** 387,391 **** if (pattern.equals("*")) { ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count - " + pattern, --- 392,397 ---- if (pattern.equals("*")) { ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count - " + pattern, *************** *** 397,401 **** else { ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count - " + pattern, --- 403,408 ---- else { ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count - " + pattern, *************** *** 422,426 **** filter.includeTable(pattern); ! ITable[] actualTables = filter.getTables(dataSet); assertEquals("table count - " + pattern, 0, actualTables.length); } --- 429,434 ---- filter.includeTable(pattern); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); assertEquals("table count - " + pattern, 0, actualTables.length); } Index: SequenceTableFilterTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/filter/SequenceTableFilterTest.java,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -C2 -d -r1.3 -r1.3.2.1 *** SequenceTableFilterTest.java 19 Mar 2003 01:56:18 -0000 1.3 --- SequenceTableFilterTest.java 9 Apr 2003 02:07:15 -0000 1.3.2.1 *************** *** 21,34 **** package org.dbunit.dataset.filter; - import org.dbunit.dataset.*; - import org.dbunit.dataset.xml.XmlDataSet; import org.dbunit.database.AmbiguousTableNameException; ! import junit.framework.TestCase; ! ! import java.io.FileReader; import java.util.Arrays; import java.util.List; - import java.util.ArrayList; /** --- 21,34 ---- package org.dbunit.dataset.filter; import org.dbunit.database.AmbiguousTableNameException; + import org.dbunit.dataset.DataSetUtils; + import org.dbunit.dataset.DefaultDataSet; + import org.dbunit.dataset.IDataSet; + import org.dbunit.dataset.ITable; + import org.dbunit.dataset.LowerCaseDataSet; ! import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** *************** *** 170,174 **** } ! public void testGetTables() throws Exception { String[] expectedNames = getExpectedNames(); --- 170,174 ---- } ! public void testIterator() throws Exception { String[] expectedNames = getExpectedNames(); *************** *** 179,183 **** dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); --- 179,184 ---- dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); *************** *** 186,190 **** } ! public void testGetDuplicateTables() throws Exception { String[] expectedNames = getExpectedDuplicateNames(); --- 187,191 ---- } ! public void testIteratorWithDuplicateTables() throws Exception { String[] expectedNames = getExpectedDuplicateNames(); *************** *** 197,201 **** try { ! filter.getTables(dataSet); fail("Should not be here!"); } --- 198,202 ---- try { ! DataSetUtils.getTables(filter.iterator(dataSet, false)); fail("Should not be here!"); } *************** *** 205,209 **** } ! public void testGetCaseInsensitiveTables() throws Exception { ITableFilter filter = new SequenceTableFilter(getExpectedNames()); --- 206,210 ---- } ! public void testCaseInsensitiveIterator() throws Exception { ITableFilter filter = new SequenceTableFilter(getExpectedNames()); *************** *** 214,218 **** dataSet.getTableNames().length > lowerNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", lowerNames.length, actualTables.length); --- 215,220 ---- dataSet.getTableNames().length > lowerNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", lowerNames.length, actualTables.length); *************** *** 221,228 **** } ! public void testGetReverseTables() throws Exception { ! String[] expectedNames = DataSetUtils.reverseStringArray(getExpectedNames()); ! ITableFilter filter = new SequenceTableFilter(expectedNames); IDataSet dataSet = createDataSet(); --- 223,231 ---- } ! public void testReverseIterator() throws Exception { ! String[] filterNames = getExpectedNames(); ! String[] expectedNames = DataSetUtils.reverseStringArray(filterNames); ! ITableFilter filter = new SequenceTableFilter(filterNames); IDataSet dataSet = createDataSet(); *************** *** 230,234 **** dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); --- 233,238 ---- dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, true)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); *************** *** 237,241 **** } ! public void testGetTablesAndTableNotInDecoratedDataSet() throws Exception { String[] expectedNames = getExpectedNames(); --- 241,245 ---- } ! public void testIteratorAndTableNotInDecoratedDataSet() throws Exception { String[] expectedNames = getExpectedNames(); *************** *** 250,254 **** dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = filter.getTables(dataSet); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); --- 254,278 ---- dataSet.getTableNames().length > expectedNames.length); ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); ! String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); ! assertEquals("table count", expectedNames.length, actualTables.length); ! assertEquals("table names", ! Arrays.asList(expectedNames), Arrays.asList(actualNames)); ! } ! ! //////////////////////////////////////////////////////////////////////////// ! ! public void testIteratorWithDifferentSequence() throws Exception ! { ! String[] expectedNames = DataSetUtils.reverseStringArray(getExpectedNames()); ! ITableFilter filter = new SequenceTableFilter(expectedNames); ! ! IDataSet dataSet = createDataSet(); ! assertTrue("dataset names count", ! dataSet.getTableNames().length > expectedNames.length); ! ! ITable[] actualTables = DataSetUtils.getTables( ! filter.iterator(dataSet, false)); String[] actualNames = new DefaultDataSet(actualTables).getTableNames(); assertEquals("table count", expectedNames.length, actualTables.length); *************** *** 256,258 **** --- 280,283 ---- Arrays.asList(expectedNames), Arrays.asList(actualNames)); } + } |
From: <mla...@us...> - 2003-04-09 02:07:19
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv17988/dbunit/src/java/org/dbunit/dataset Modified Files: Tag: branch-iterator DataSetUtils.java FilteredDataSet.java Log Message: Refactored FilteredDataSet to work with new iterator paradigm. Index: DataSetUtils.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/DataSetUtils.java,v retrieving revision 1.15.2.1 retrieving revision 1.15.2.2 diff -C2 -d -r1.15.2.1 -r1.15.2.2 *** DataSetUtils.java 8 Apr 2003 02:43:33 -0000 1.15.2.1 --- DataSetUtils.java 9 Apr 2003 02:07:13 -0000 1.15.2.2 *************** *** 236,241 **** public static ITable[] getTables(IDataSet dataSet) throws DataSetException { List tableList = new ArrayList(); - ITableIterator iterator = dataSet.iterator(); while(iterator.next()) { --- 236,248 ---- public static ITable[] getTables(IDataSet dataSet) throws DataSetException { + return getTables(dataSet.iterator()); + } + + /** + * Returns the tables from the specified iterator. + */ + public static ITable[] getTables(ITableIterator iterator) throws DataSetException + { List tableList = new ArrayList(); while(iterator.next()) { Index: FilteredDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/FilteredDataSet.java,v retrieving revision 1.12.2.2 retrieving revision 1.12.2.3 diff -C2 -d -r1.12.2.2 -r1.12.2.3 *** FilteredDataSet.java 8 Apr 2003 02:43:33 -0000 1.12.2.2 --- FilteredDataSet.java 9 Apr 2003 02:07:14 -0000 1.12.2.3 *************** *** 74,78 **** throws DataSetException { ! return new DefaultTableIterator(_filter.getTables(_dataSet), reversed); } --- 74,78 ---- throws DataSetException { ! return _filter.iterator(_dataSet, reversed); } |
From: <mla...@us...> - 2003-04-09 02:07:19
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/database In directory sc8-pr-cvs1:/tmp/cvs-serv17988/dbunit/src/java/org/dbunit/database Removed Files: Tag: branch-iterator DatabaseTableIterator.java Log Message: Refactored FilteredDataSet to work with new iterator paradigm. --- DatabaseTableIterator.java DELETED --- |
From: <mla...@us...> - 2003-04-08 02:43:38
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/excel In directory sc8-pr-cvs1:/tmp/cvs-serv4900/dbunit/src/java/org/dbunit/dataset/excel Modified Files: Tag: branch-iterator XlsDataSet.java Log Message: Removed multiple usage of IDataSet.getTables(). Index: XlsDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/excel/XlsDataSet.java,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -C2 -d -r1.2.2.1 -r1.2.2.2 *** XlsDataSet.java 6 Apr 2003 13:56:32 -0000 1.2.2.1 --- XlsDataSet.java 8 Apr 2003 02:43:34 -0000 1.2.2.2 *************** *** 83,96 **** HSSFWorkbook workbook = new HSSFWorkbook(); ! ITable[] tables = dataSet.getTables(); ! for (int i = 0; i < tables.length; i++) { // create the table i.e. sheet ! ITable table = tables[i]; ITableMetaData metaData = table.getTableMetaData(); HSSFSheet sheet = workbook.createSheet(metaData.getTableName()); // write table metadata i.e. first row in sheet ! workbook.setSheetName(i, metaData.getTableName()); HSSFRow headerRow = sheet.createRow(0); --- 83,97 ---- HSSFWorkbook workbook = new HSSFWorkbook(); ! int index = 0; ! ITableIterator iterator = dataSet.iterator(); ! while(iterator.next()) { // create the table i.e. sheet ! ITable table = iterator.getTable(); ITableMetaData metaData = table.getTableMetaData(); HSSFSheet sheet = workbook.createSheet(metaData.getTableName()); // write table metadata i.e. first row in sheet ! workbook.setSheetName(index, metaData.getTableName()); HSSFRow headerRow = sheet.createRow(0); *************** *** 119,122 **** --- 120,124 ---- } + index++; } |
From: <mla...@us...> - 2003-04-08 02:43:38
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv4900/dbunit/src/java/org/dbunit/dataset Modified Files: Tag: branch-iterator CaseInsensitiveDataSet.java DataSetUtils.java FilteredDataSet.java LowerCaseDataSet.java ReplacementDataSet.java SortedDataSet.java Log Message: Removed multiple usage of IDataSet.getTables(). Index: CaseInsensitiveDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/CaseInsensitiveDataSet.java,v retrieving revision 1.6.4.1 retrieving revision 1.6.4.2 diff -C2 -d -r1.6.4.1 -r1.6.4.2 *** CaseInsensitiveDataSet.java 6 Apr 2003 13:56:29 -0000 1.6.4.1 --- CaseInsensitiveDataSet.java 8 Apr 2003 02:43:33 -0000 1.6.4.2 *************** *** 22,26 **** * @deprecated All IDataSet implementations are case insensitive since DbUnit 1.5 */ ! public class CaseInsensitiveDataSet implements IDataSet { private final IDataSet _dataSet; --- 22,26 ---- * @deprecated All IDataSet implementations are case insensitive since DbUnit 1.5 */ ! public class CaseInsensitiveDataSet extends AbstractDataSet { private final IDataSet _dataSet; *************** *** 56,59 **** --- 56,69 ---- //////////////////////////////////////////////////////////////////////////// + // AbstractDataSet class + + protected ITableIterator createIterator(boolean reversed) + throws DataSetException + { + return new CaseInsensitiveIterator(reversed ? + _dataSet.reverseIterator() : _dataSet.iterator()); + } + + //////////////////////////////////////////////////////////////////////////// // IDataSet interface *************** *** 75,93 **** } ! public ITable[] getTables() throws DataSetException ! { ! return _dataSet.getTables(); ! } ! public ITableIterator iterator() throws DataSetException { ! return new DefaultTableIterator(getTables()); ! } ! public ITableIterator reverseIterator() throws DataSetException ! { ! return new DefaultTableIterator(getTables(), true); ! } } --- 85,118 ---- } ! //////////////////////////////////////////////////////////////////////////// ! // CaseInsensitiveIterator class ! private class CaseInsensitiveIterator implements ITableIterator { ! private final ITableIterator _iterator; ! public CaseInsensitiveIterator(ITableIterator iterator) ! { ! _iterator = iterator; ! } ! ! //////////////////////////////////////////////////////////////////////// ! // ITableIterator interface ! ! public boolean next() throws DataSetException ! { ! return _iterator.next(); ! } ! ! public ITableMetaData getTableMetaData() throws DataSetException ! { ! return _iterator.getTableMetaData(); ! } + public ITable getTable() throws DataSetException + { + return new CaseInsensitiveTable(_iterator.getTable()); + } + } } Index: DataSetUtils.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/DataSetUtils.java,v retrieving revision 1.15 retrieving revision 1.15.2.1 diff -C2 -d -r1.15 -r1.15.2.1 *** DataSetUtils.java 11 Mar 2003 13:26:03 -0000 1.15 --- DataSetUtils.java 8 Apr 2003 02:43:33 -0000 1.15.2.1 *************** *** 28,31 **** --- 28,33 ---- import java.util.StringTokenizer; + import java.util.List; + import java.util.ArrayList; /** *************** *** 234,239 **** public static ITable[] getTables(IDataSet dataSet) throws DataSetException { ! // return getTables(dataSet.getTableNames(), dataSet); ! return dataSet.getTables(); } --- 236,246 ---- public static ITable[] getTables(IDataSet dataSet) throws DataSetException { ! List tableList = new ArrayList(); ! ITableIterator iterator = dataSet.iterator(); ! while(iterator.next()) ! { ! tableList.add(iterator.getTable()); ! } ! return (ITable[])tableList.toArray(new ITable[0]); } Index: FilteredDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/FilteredDataSet.java,v retrieving revision 1.12.2.1 retrieving revision 1.12.2.2 diff -C2 -d -r1.12.2.1 -r1.12.2.2 *** FilteredDataSet.java 6 Apr 2003 13:56:29 -0000 1.12.2.1 --- FilteredDataSet.java 8 Apr 2003 02:43:33 -0000 1.12.2.2 *************** *** 39,43 **** * @version $Revision$ */ ! public class FilteredDataSet implements IDataSet { private final IDataSet _dataSet; --- 39,43 ---- * @version $Revision$ */ ! public class FilteredDataSet extends AbstractDataSet { private final IDataSet _dataSet; *************** *** 69,72 **** --- 69,81 ---- //////////////////////////////////////////////////////////////////////////// + // AbstractDataSet class + + protected ITableIterator createIterator(boolean reversed) + throws DataSetException + { + return new DefaultTableIterator(_filter.getTables(_dataSet), reversed); + } + + //////////////////////////////////////////////////////////////////////////// // IDataSet interface *************** *** 96,115 **** return _dataSet.getTable(tableName); } - - public ITable[] getTables() throws DataSetException - { - return _filter.getTables(_dataSet); - } - - public ITableIterator iterator() throws DataSetException - { - return new DefaultTableIterator(getTables()); - } - - public ITableIterator reverseIterator() throws DataSetException - { - return new DefaultTableIterator(getTables(), true); - } - } --- 105,108 ---- Index: LowerCaseDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/LowerCaseDataSet.java,v retrieving revision 1.1.4.1 retrieving revision 1.1.4.2 diff -C2 -d -r1.1.4.1 -r1.1.4.2 *** LowerCaseDataSet.java 6 Apr 2003 13:56:29 -0000 1.1.4.1 --- LowerCaseDataSet.java 8 Apr 2003 02:43:33 -0000 1.1.4.2 *************** *** 34,57 **** public class LowerCaseDataSet extends AbstractDataSet { ! private final ITable[] _tables; public LowerCaseDataSet(ITable table) throws DataSetException { ! this(new ITable[]{table}); } ! public LowerCaseDataSet(IDataSet dataSet) throws DataSetException { ! this(dataSet.getTables()); } ! public LowerCaseDataSet(ITable[] tables) throws DataSetException { ! ITable[] lowerTables = new ITable[tables.length]; ! for (int i = 0; i < tables.length; i++) ! { ! lowerTables[i] = createLowerTable(tables[i]); ! } ! _tables = lowerTables; } --- 34,52 ---- public class LowerCaseDataSet extends AbstractDataSet { ! private final IDataSet _dataSet; public LowerCaseDataSet(ITable table) throws DataSetException { ! this(new DefaultDataSet(table)); } ! public LowerCaseDataSet(ITable[] tables) throws DataSetException { ! this(new DefaultDataSet(tables)); } ! public LowerCaseDataSet(IDataSet dataSet) throws DataSetException { ! _dataSet = dataSet; } *************** *** 68,72 **** throws DataSetException { ! return new DefaultTableIterator(_tables, reversed); } } --- 63,122 ---- throws DataSetException { ! return new LowerCaseIterator(reversed ? ! _dataSet.reverseIterator() : _dataSet.iterator()); ! } ! ! //////////////////////////////////////////////////////////////////////////// ! // IDataSet interface ! ! public String[] getTableNames() throws DataSetException ! { ! String[] tableNames = super.getTableNames(); ! for (int i = 0; i < tableNames.length; i++) ! { ! tableNames[i] = tableNames[i].toLowerCase(); ! } ! return tableNames; ! } ! ! public ITableMetaData getTableMetaData(String tableName) throws DataSetException ! { ! return new LowerCaseTableMetaData(super.getTableMetaData(tableName)); ! } ! ! public ITable getTable(String tableName) throws DataSetException ! { ! return createLowerTable(super.getTable(tableName)); ! } ! ! //////////////////////////////////////////////////////////////////////////// ! // LowerCaseIterator class ! ! private class LowerCaseIterator implements ITableIterator ! { ! private final ITableIterator _iterator; ! ! public LowerCaseIterator(ITableIterator iterator) ! { ! _iterator = iterator; ! } ! ! //////////////////////////////////////////////////////////////////////// ! // ITableIterator interface ! ! public boolean next() throws DataSetException ! { ! return _iterator.next(); ! } ! ! public ITableMetaData getTableMetaData() throws DataSetException ! { ! return new LowerCaseTableMetaData(_iterator.getTableMetaData()); ! } ! ! public ITable getTable() throws DataSetException ! { ! return createLowerTable(_iterator.getTable()); ! } } } Index: ReplacementDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/ReplacementDataSet.java,v retrieving revision 1.4.2.1 retrieving revision 1.4.2.2 diff -C2 -d -r1.4.2.1 -r1.4.2.2 *** ReplacementDataSet.java 6 Apr 2003 13:56:28 -0000 1.4.2.1 --- ReplacementDataSet.java 8 Apr 2003 02:43:33 -0000 1.4.2.2 *************** *** 21,27 **** package org.dbunit.dataset; - import java.util.ArrayList; import java.util.HashMap; - import java.util.List; import java.util.Map; --- 21,25 ---- *************** *** 34,38 **** * @version $Revision$ */ ! public class ReplacementDataSet implements IDataSet { private final IDataSet _dataSet; --- 32,36 ---- * @version $Revision$ */ ! public class ReplacementDataSet extends AbstractDataSet { private final IDataSet _dataSet; *************** *** 118,121 **** --- 116,129 ---- //////////////////////////////////////////////////////////////////////////// + // AbstractDataSet class + + protected ITableIterator createIterator(boolean reversed) + throws DataSetException + { + return new ReplacementIterator(reversed ? + _dataSet.reverseIterator() : _dataSet.iterator()); + } + + //////////////////////////////////////////////////////////////////////////// // IDataSet interface *************** *** 136,160 **** } ! public ITable[] getTables() throws DataSetException { ! List tableList = new ArrayList(); ! ITable[] tables = _dataSet.getTables(); ! for (int i = 0; i < tables.length; i++) { ! ITable table = tables[i]; ! tableList.add(createReplacementTable(table)); } - return (ITable[])tableList.toArray(new ITable[0]); - } ! public ITableIterator iterator() throws DataSetException ! { ! return new DefaultTableIterator(getTables(), false); ! } ! public ITableIterator reverseIterator() throws DataSetException ! { ! return new DefaultTableIterator(getTables(), true); ! } } --- 144,176 ---- } ! //////////////////////////////////////////////////////////////////////////// ! // ReplacementIterator class ! ! private class ReplacementIterator implements ITableIterator { ! private final ITableIterator _iterator; ! ! public ReplacementIterator(ITableIterator iterator) { ! _iterator = iterator; } ! //////////////////////////////////////////////////////////////////////// ! // ITableIterator interface ! public boolean next() throws DataSetException ! { ! return _iterator.next(); ! } + public ITableMetaData getTableMetaData() throws DataSetException + { + return _iterator.getTableMetaData(); + } + + public ITable getTable() throws DataSetException + { + return createReplacementTable(_iterator.getTable()); + } + } } Index: SortedDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/SortedDataSet.java,v retrieving revision 1.1.4.1 retrieving revision 1.1.4.2 diff -C2 -d -r1.1.4.1 -r1.1.4.2 *** SortedDataSet.java 6 Apr 2003 13:56:29 -0000 1.1.4.1 --- SortedDataSet.java 8 Apr 2003 02:43:33 -0000 1.1.4.2 *************** *** 30,44 **** public class SortedDataSet extends AbstractDataSet { ! private final ITable[] _tables; public SortedDataSet(IDataSet dataSet) throws DataSetException { ! ITable[] tables = dataSet.getTables(); ! for (int i = 0; i < tables.length; i++) ! { ! tables[i] = new SortedTable(tables[i]); ! } ! ! _tables = tables; } --- 30,38 ---- public class SortedDataSet extends AbstractDataSet { ! private final IDataSet _dataSet; public SortedDataSet(IDataSet dataSet) throws DataSetException { ! _dataSet = dataSet; } *************** *** 49,54 **** throws DataSetException { ! return new DefaultTableIterator(_tables, reversed); } } --- 43,99 ---- throws DataSetException { ! return new SortedIterator(reversed ? ! _dataSet.reverseIterator() : _dataSet.iterator()); ! } ! ! //////////////////////////////////////////////////////////////////////////// ! // IDataSet interface ! ! public String[] getTableNames() throws DataSetException ! { ! return _dataSet.getTableNames(); ! } ! ! public ITableMetaData getTableMetaData(String tableName) throws DataSetException ! { ! return _dataSet.getTableMetaData(tableName); ! } ! ! public ITable getTable(String tableName) throws DataSetException ! { ! return new SortedTable(_dataSet.getTable(tableName)); } + + //////////////////////////////////////////////////////////////////////////// + // SortedIterator class + + private class SortedIterator implements ITableIterator + { + private final ITableIterator _iterator; + + public SortedIterator(ITableIterator iterator) + { + _iterator = iterator; + } + + //////////////////////////////////////////////////////////////////////// + // ITableIterator interface + + public boolean next() throws DataSetException + { + return _iterator.next(); + } + + public ITableMetaData getTableMetaData() throws DataSetException + { + return _iterator.getTableMetaData(); + } + + public ITable getTable() throws DataSetException + { + return new SortedTable(_iterator.getTable()); + } + } + } |
From: <mla...@us...> - 2003-04-08 02:43:38
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/xml In directory sc8-pr-cvs1:/tmp/cvs-serv4900/dbunit/src/java/org/dbunit/dataset/xml Modified Files: Tag: branch-iterator FlatXmlDataSet.java XmlDataSet.java Log Message: Removed multiple usage of IDataSet.getTables(). Index: FlatXmlDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/xml/FlatXmlDataSet.java,v retrieving revision 1.20.2.1 retrieving revision 1.20.2.2 diff -C2 -d -r1.20.2.1 -r1.20.2.2 *** FlatXmlDataSet.java 6 Apr 2003 13:56:28 -0000 1.20.2.1 --- FlatXmlDataSet.java 8 Apr 2003 02:43:34 -0000 1.20.2.2 *************** *** 23,31 **** package org.dbunit.dataset.xml; ! import org.dbunit.dataset.*; import org.dbunit.dataset.datatype.DataType; import org.dbunit.dataset.datatype.TypeCastException; ! import java.io.*; import java.net.MalformedURLException; import java.net.URL; --- 23,53 ---- package org.dbunit.dataset.xml; ! import org.dbunit.dataset.AbstractDataSet; ! import org.dbunit.dataset.Column; ! import org.dbunit.dataset.DataSetException; ! import org.dbunit.dataset.DefaultTableIterator; ! import org.dbunit.dataset.IDataSet; ! import org.dbunit.dataset.ITable; ! import org.dbunit.dataset.ITableIterator; ! import org.dbunit.dataset.ITableMetaData; import org.dbunit.dataset.datatype.DataType; import org.dbunit.dataset.datatype.TypeCastException; ! import electric.xml.DocType; ! import electric.xml.Document; ! import electric.xml.Element; ! import electric.xml.Elements; ! import electric.xml.ParseException; ! import electric.xml.XMLDecl; ! ! import java.io.BufferedReader; ! import java.io.File; ! import java.io.FileReader; ! import java.io.IOException; ! import java.io.InputStream; ! import java.io.InputStreamReader; ! import java.io.OutputStream; ! import java.io.Reader; ! import java.io.Writer; import java.net.MalformedURLException; import java.net.URL; *************** *** 33,38 **** import java.util.List; - import electric.xml.*; - /** * @author Manuel Laflamme --- 55,58 ---- *************** *** 288,293 **** throws DataSetException { - ITable[] tables = dataSet.getTables(); - Document document = new Document(); document.addChild(new XMLDecl("1.0", encoding)); --- 308,311 ---- *************** *** 297,304 **** // tables ! for (int i = 0; i < tables.length; i++) { ! ITable table = tables[i]; ! ITableMetaData metaData = tables[i].getTableMetaData(); String tableName = metaData.getTableName(); --- 315,323 ---- // tables ! ITableIterator iterator = dataSet.iterator(); ! while(iterator.next()) { ! ITable table = iterator.getTable(); ! ITableMetaData metaData = table.getTableMetaData(); String tableName = metaData.getTableName(); Index: XmlDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/xml/XmlDataSet.java,v retrieving revision 1.15.2.1 retrieving revision 1.15.2.2 diff -C2 -d -r1.15.2.1 -r1.15.2.2 *** XmlDataSet.java 6 Apr 2003 13:56:28 -0000 1.15.2.1 --- XmlDataSet.java 8 Apr 2003 02:43:34 -0000 1.15.2.2 *************** *** 137,142 **** throws DataSetException { - ITable[] tables = dataSet.getTables(); - Document document = new Document(); document.addChild(new XMLDecl("1.0", encoding)); --- 137,140 ---- *************** *** 144,151 **** // dataset Element rootElem = document.addElement("dataset"); ! for (int i = 0; i < tables.length; i++) { ! ITable table = tables[i]; ! ITableMetaData metaData = tables[i].getTableMetaData(); String tableName = metaData.getTableName(); --- 142,150 ---- // dataset Element rootElem = document.addElement("dataset"); ! ITableIterator iterator = dataSet.iterator(); ! while(iterator.next()) { ! ITable table = iterator.getTable(); ! ITableMetaData metaData = table.getTableMetaData(); String tableName = metaData.getTableName(); |
From: <mla...@us...> - 2003-04-07 02:48:16
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation/mssqlserver In directory sc8-pr-cvs1:/tmp/cvs-serv28800/dbunit/src/java/org/dbunit/operation/mssqlserver Modified Files: Tag: branch-iterator InsertIdentityOperation.java Log Message: Refactored operations to use iterator() instead of getTables(). Index: InsertIdentityOperation.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation/mssqlserver/InsertIdentityOperation.java,v retrieving revision 1.14 retrieving revision 1.14.4.1 diff -C2 -d -r1.14 -r1.14.4.1 *** InsertIdentityOperation.java 16 Feb 2003 17:41:14 -0000 1.14 --- InsertIdentityOperation.java 7 Apr 2003 02:48:13 -0000 1.14.4.1 *************** *** 98,101 **** --- 98,103 ---- try { + IDataSet databaseDataSet = connection.createDataSet(); + // INSERT_IDENTITY need to be enabled/disabled inside the // same transaction *************** *** 107,123 **** // Execute decorated operation one table at a time ! ITable[] tables = dataSet.getTables(); ! for (int i = 0; i < tables.length; i++) { ! ITable table = tables[i]; ! ! ITableMetaData databaseMetaData = table.getTableMetaData(); ! ! if (!(databaseMetaData instanceof DatabaseTableMetaData)){ ! databaseMetaData = new DatabaseTableMetaData(table.getTableMetaData().getTableName(),connection); ! } String tableName = DataSetUtils.getQualifiedName( connection.getSchema(), ! databaseMetaData.getTableName(), true); // enable identity insert --- 109,122 ---- // Execute decorated operation one table at a time ! ITableIterator iterator = dataSet.iterator(); ! while(iterator.next()) { ! ITable table = iterator.getTable(); String tableName = DataSetUtils.getQualifiedName( connection.getSchema(), ! table.getTableMetaData().getTableName(), true); ! ! ITableMetaData databaseMetaData = ! databaseDataSet.getTableMetaData(tableName); // enable identity insert |
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation In directory sc8-pr-cvs1:/tmp/cvs-serv28800/dbunit/src/java/org/dbunit/operation Modified Files: Tag: branch-iterator AbstractBatchOperation.java DeleteAllOperation.java DeleteOperation.java RefreshOperation.java Log Message: Refactored operations to use iterator() instead of getTables(). Index: AbstractBatchOperation.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation/AbstractBatchOperation.java,v retrieving revision 1.16 retrieving revision 1.16.2.1 diff -C2 -d -r1.16 -r1.16.2.1 *** AbstractBatchOperation.java 1 Apr 2003 02:01:42 -0000 1.16 --- AbstractBatchOperation.java 7 Apr 2003 02:48:13 -0000 1.16.2.1 *************** *** 81,87 **** * allow subclass to do filtering. */ ! protected ITable[] getTables(IDataSet dataSet) throws DatabaseUnitException { ! return dataSet.getTables(); } --- 81,87 ---- * allow subclass to do filtering. */ ! protected ITableIterator iterator(IDataSet dataSet) throws DatabaseUnitException { ! return dataSet.iterator(); } *************** *** 96,106 **** { IStatementFactory factory = connection.getStatementFactory(); - ITable[] tables = getTables(dataSet); // for each table ! for (int i = 0; i < tables.length; i++) { // do not process empty table - ITable table = tables[i]; if (table.getRowCount() == 0) { --- 96,107 ---- { IStatementFactory factory = connection.getStatementFactory(); // for each table ! ITableIterator iterator = iterator(dataSet); ! while(iterator.next()) { + ITable table = iterator.getTable(); + // do not process empty table if (table.getRowCount() == 0) { *************** *** 108,112 **** } - // String tableName = tableNames[i]; ITableMetaData metaData = getOperationMetaData(connection, table.getTableMetaData()); --- 109,112 ---- *************** *** 123,134 **** // for each row int rowCount = table.getRowCount(); ! for (int j = 0; j < rowCount; j++) { ! int row = _reverseRowOrder ? (rowCount - 1 - j) : j; // for each column ! for (int k = 0; k < columns.length; k++) { ! Column column = columns[k]; statement.addValue(table.getValue(row, column.getColumnName()), column.getDataType()); --- 123,134 ---- // for each row int rowCount = table.getRowCount(); ! for (int i = 0; i < rowCount; i++) { ! int row = _reverseRowOrder ? (rowCount - 1 - i) : i; // for each column ! for (int j = 0; j < columns.length; j++) { ! Column column = columns[j]; statement.addValue(table.getValue(row, column.getColumnName()), column.getDataType()); Index: DeleteAllOperation.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation/DeleteAllOperation.java,v retrieving revision 1.13 retrieving revision 1.13.4.1 diff -C2 -d -r1.13 -r1.13.4.1 *** DeleteAllOperation.java 19 Feb 2003 21:45:33 -0000 1.13 --- DeleteAllOperation.java 7 Apr 2003 02:48:13 -0000 1.13.4.1 *************** *** 58,78 **** try { ! String[] tableNames = DataSetUtils.getReverseTableNames(dataSet); ! if (tableNames.length > 0) { ! for (int i = 0; i < tableNames.length; i++) ! { ! // Use database table name. Required to support case sensitive database. ! ITableMetaData databaseMetaData = ! databaseDataSet.getTableMetaData(tableNames[i]); ! String tableName = databaseMetaData.getTableName(); ! StringBuffer sqlBuffer = new StringBuffer(128); ! sqlBuffer.append("delete from "); ! sqlBuffer.append(DataSetUtils.getQualifiedName( ! connection.getSchema(), tableName, true)); ! statement.addBatch(sqlBuffer.toString()); ! } statement.executeBatch(); statement.clearBatch(); --- 58,84 ---- try { ! int count = 0; ! ITableIterator iterator = dataSet.reverseIterator(); ! while(iterator.next()) { ! String tableName = iterator.getTableMetaData().getTableName(); ! // Use database table name. Required to support case sensitive database. ! ITableMetaData databaseMetaData = ! databaseDataSet.getTableMetaData(tableName); ! tableName = databaseMetaData.getTableName(); + StringBuffer sqlBuffer = new StringBuffer(128); + sqlBuffer.append("delete from "); + sqlBuffer.append(DataSetUtils.getQualifiedName( + connection.getSchema(), tableName, true)); + statement.addBatch(sqlBuffer.toString()); + + count++; + } + + + if (count > 0) + { statement.executeBatch(); statement.clearBatch(); Index: DeleteOperation.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation/DeleteOperation.java,v retrieving revision 1.12 retrieving revision 1.12.2.1 diff -C2 -d -r1.12 -r1.12.2.1 *** DeleteOperation.java 1 Apr 2003 02:01:43 -0000 1.12 --- DeleteOperation.java 7 Apr 2003 02:48:13 -0000 1.12.2.1 *************** *** 44,56 **** // AbstractBatchOperation class ! protected ITable[] getTables(IDataSet dataSet) throws DatabaseUnitException { ! ITable[] tables = dataSet.getTables(); ! ITable[] reverseTables = new ITable[tables.length]; ! for (int i = 0; i < tables.length; i++) ! { ! reverseTables[tables.length - 1 - i] = tables[i]; ! } ! return reverseTables; } --- 44,50 ---- // AbstractBatchOperation class ! protected ITableIterator iterator(IDataSet dataSet) throws DatabaseUnitException { ! return dataSet.reverseIterator(); } Index: RefreshOperation.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation/RefreshOperation.java,v retrieving revision 1.23 retrieving revision 1.23.2.1 diff -C2 -d -r1.23 -r1.23.2.1 *** RefreshOperation.java 27 Mar 2003 22:34:55 -0000 1.23 --- RefreshOperation.java 7 Apr 2003 02:48:13 -0000 1.23.2.1 *************** *** 60,68 **** // for each table ! ITable[] tables = dataSet.getTables(); ! for (int i = 0; i < tables.length; i++) { // do not process empty table - ITable table = tables[i]; if (table.getRowCount() == 0) { --- 60,69 ---- // for each table ! ITableIterator iterator = dataSet.iterator(); ! while(iterator.next()) { + ITable table = iterator.getTable(); + // do not process empty table if (table.getRowCount() == 0) { *************** *** 78,86 **** // refresh all rows ! for (int j = 0; j < table.getRowCount(); j++) { ! if (!updateRowOperation.execute(table, j)) { ! insertRowOperation.execute(table, j); } } --- 79,87 ---- // refresh all rows ! for (int i = 0; i < table.getRowCount(); i++) { ! if (!updateRowOperation.execute(table, i)) { ! insertRowOperation.execute(table, i); } } |
From: <mla...@us...> - 2003-04-07 02:48:15
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/database In directory sc8-pr-cvs1:/tmp/cvs-serv28800/dbunit/src/java/org/dbunit/database Modified Files: Tag: branch-iterator DatabaseDataSet.java Log Message: Refactored operations to use iterator() instead of getTables(). Index: DatabaseDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/database/DatabaseDataSet.java,v retrieving revision 1.19.4.2 retrieving revision 1.19.4.3 diff -C2 -d -r1.19.4.2 -r1.19.4.3 *** DatabaseDataSet.java 7 Apr 2003 02:20:09 -0000 1.19.4.2 --- DatabaseDataSet.java 7 Apr 2003 02:48:12 -0000 1.19.4.3 *************** *** 172,175 **** --- 172,176 ---- { initialize(); + return (String[])_nameList.toArray(new String[0]); } *************** *** 179,185 **** initialize(); - String upperTableName = tableName.toUpperCase(); - // Verify if table exist in the database if (!_tableMap.containsKey(upperTableName)) { --- 180,185 ---- initialize(); // Verify if table exist in the database + String upperTableName = tableName.toUpperCase(); if (!_tableMap.containsKey(upperTableName)) { *************** *** 213,216 **** --- 213,218 ---- public ITable getTable(String tableName) throws DataSetException { + initialize(); + try { |
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv22111/dbunit/src/test/org/dbunit/dataset Modified Files: Tag: branch-iterator AllTests.java DefaultTableIteratorTest.java Added Files: Tag: branch-iterator AbstractTableIteratorTest.java DefaultReverseTableIteratorTest.java Log Message: Added tests on DatabaseTableIterator. --- NEW FILE: AbstractTableIteratorTest.java --- /* * * The DbUnit Database Testing Framework * Copyright (C)2002, Manuel Laflamme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ package org.dbunit.dataset; /** * @author Manuel Laflamme * @since Apr 6, 2003 * @version $Revision: 1.1.2.1 $ */ public abstract class AbstractTableIteratorTest extends AbstractTest { public AbstractTableIteratorTest(String s) { super(s); } protected abstract ITableIterator getIterator() throws Exception; protected abstract ITableIterator getEmptyIterator() throws Exception; public void testNext() throws Exception { int count = 0; String[] names = getExpectedNames(); ITableIterator iterator = getIterator(); while(iterator.next()) { count++; } assertEquals("count", names.length, count); } public void testNextAndEmpty() throws Exception { int count = 0; ITableIterator iterator = getEmptyIterator(); while(iterator.next()) { count++; } assertEquals("count", 0, count); } public void testGetTableMetaData() throws Exception { int i = 0; String[] names = getExpectedNames(); ITableIterator iterator = getIterator(); while(iterator.next()) { assertEquals("name " + i, names[i], iterator.getTableMetaData().getTableName()); i++; } assertEquals("count", names.length, i); } public void testGetTableMetaDataBeforeNext() throws Exception { ITableIterator iterator = getIterator(); try { iterator.getTableMetaData(); fail("Should have throw a ???Exception"); } catch (IndexOutOfBoundsException e) { } int i = 0; String[] names = getExpectedNames(); while(iterator.next()) { assertEquals("name " + i, names[i], iterator.getTableMetaData().getTableName()); i++; } assertEquals("count", names.length, i); } public void testGetTableMetaDataAfterLastNext() throws Exception { int count = 0; String[] names = getExpectedNames(); ITableIterator iterator = getIterator(); while(iterator.next()) { count++; } assertEquals("count", names.length, count); try { iterator.getTableMetaData(); fail("Should have throw a ???Exception"); } catch (IndexOutOfBoundsException e) { } } public void testGetTable() throws Exception { int i = 0; String[] names = getExpectedNames(); ITableIterator iterator = getIterator(); while(iterator.next()) { assertEquals("name " + i, names[i], iterator.getTable().getTableMetaData().getTableName()); i++; } assertEquals("count", names.length, i); } } --- NEW FILE: DefaultReverseTableIteratorTest.java --- /* * * The DbUnit Database Testing Framework * Copyright (C)2002, Manuel Laflamme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ package org.dbunit.dataset; /** * @author Manuel Laflamme * @since Apr 6, 2003 * @version $Revision: 1.1.2.1 $ */ public class DefaultReverseTableIteratorTest extends DefaultTableIteratorTest { public DefaultReverseTableIteratorTest(String s) { super(s); } protected String[] getExpectedNames() throws Exception { return DataSetUtils.reverseStringArray(super.getExpectedNames()); } protected ITableIterator getIterator() throws Exception { return getIterator(true); } protected ITableIterator getEmptyIterator() { return new DefaultTableIterator(new ITable[0], true); } } Index: AllTests.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/AllTests.java,v retrieving revision 1.16.2.1 retrieving revision 1.16.2.2 diff -C2 -d -r1.16.2.1 -r1.16.2.2 *** AllTests.java 6 Apr 2003 20:38:24 -0000 1.16.2.1 --- AllTests.java 7 Apr 2003 02:23:38 -0000 1.16.2.2 *************** *** 48,51 **** --- 48,52 ---- suite.addTest(new TestSuite(DataSetUtilsTest.class)); suite.addTest(new TestSuite(DefaultDataSetTest.class)); + suite.addTest(new TestSuite(DefaultReverseTableIteratorTest.class)); suite.addTest(new TestSuite(DefaultTableIteratorTest.class)); suite.addTest(new TestSuite(DefaultTableMetaDataTest.class)); Index: DefaultTableIteratorTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/Attic/DefaultTableIteratorTest.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** DefaultTableIteratorTest.java 6 Apr 2003 20:34:42 -0000 1.1.2.1 --- DefaultTableIteratorTest.java 7 Apr 2003 02:23:38 -0000 1.1.2.2 *************** *** 29,33 **** * @version $Revision$ */ ! public class DefaultTableIteratorTest extends AbstractTest { public DefaultTableIteratorTest(String s) --- 29,34 ---- * @version $Revision$ */ ! public class DefaultTableIteratorTest ! extends AbstractTableIteratorTest { public DefaultTableIteratorTest(String s) *************** *** 38,51 **** protected ITableIterator getIterator() throws Exception { ! List tableList = new ArrayList(); ! String[] names = getExpectedNames(); ! for (int i = 0; i < names.length; i++) ! { ! String name = names[i]; ! tableList.add(new DefaultTable(name)); ! } ! ! ITable[] tables = (ITable[])tableList.toArray(new ITable[0]); ! return new DefaultTableIterator(tables); } --- 39,43 ---- protected ITableIterator getIterator() throws Exception { ! return getIterator(false); } *************** *** 55,158 **** } ! public void testNext() throws Exception ! { ! int count = 0; ! String[] names = getExpectedNames(); ! ITableIterator iterator = getIterator(); ! while(iterator.next()) ! { ! count++; ! } ! ! assertEquals("count", names.length, count); ! } ! ! public void testNextAndEmpty() throws Exception ! { ! int count = 0; ! ITableIterator iterator = getEmptyIterator(); ! while(iterator.next()) ! { ! count++; ! } ! ! assertEquals("count", 0, count); ! } ! ! public void testGetTableMetaData() throws Exception ! { ! int i = 0; ! String[] names = getExpectedNames(); ! ITableIterator iterator = getIterator(); ! while(iterator.next()) ! { ! assertEquals("name " + i, names[i], ! iterator.getTableMetaData().getTableName()); ! i++; ! } ! ! assertEquals("count", names.length, i); ! } ! ! public void testGetTableMetaDataBeforeNext() throws Exception ! { ! ITableIterator iterator = getIterator(); ! try ! { ! iterator.getTableMetaData(); ! fail("Should have throw a ???Exception"); ! } ! catch (IndexOutOfBoundsException e) ! { ! ! } ! ! int i = 0; ! String[] names = getExpectedNames(); ! while(iterator.next()) ! { ! assertEquals("name " + i, names[i], ! iterator.getTableMetaData().getTableName()); ! i++; ! } ! ! assertEquals("count", names.length, i); ! } ! ! public void testGetTableMetaDataAfterLastNext() throws Exception { ! int count = 0; ! String[] names = getExpectedNames(); ! ITableIterator iterator = getIterator(); ! while(iterator.next()) { ! count++; } ! assertEquals("count", names.length, count); ! ! try ! { ! iterator.getTableMetaData(); ! fail("Should have throw a ???Exception"); ! } ! catch (IndexOutOfBoundsException e) ! { ! } } - public void testGetTable() throws Exception - { - int i = 0; - String[] names = getExpectedNames(); - ITableIterator iterator = getIterator(); - while(iterator.next()) - { - assertEquals("name " + i, names[i], - iterator.getTable().getTableMetaData().getTableName()); - i++; - } - - assertEquals("count", names.length, i); - } } --- 47,63 ---- } ! protected ITableIterator getIterator(boolean reversed) throws Exception { ! List tableList = new ArrayList(); ! String[] names = super.getExpectedNames(); ! for (int i = 0; i < names.length; i++) { ! String name = names[i]; ! tableList.add(new DefaultTable(name)); } ! ITable[] tables = (ITable[])tableList.toArray(new ITable[0]); ! return new DefaultTableIterator(tables, reversed); } } |
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/database In directory sc8-pr-cvs1:/tmp/cvs-serv22111/dbunit/src/test/org/dbunit/database Modified Files: Tag: branch-iterator AllTests.java DatabaseDataSetTest.java Added Files: Tag: branch-iterator DatabaseReverseTableIteratorTest.java DatabaseTableIteratorTest.java Log Message: Added tests on DatabaseTableIterator. --- NEW FILE: DatabaseReverseTableIteratorTest.java --- /* * * The DbUnit Database Testing Framework * Copyright (C)2002, Manuel Laflamme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ package org.dbunit.database; import org.dbunit.dataset.ITableIterator; import org.dbunit.dataset.DataSetUtils; /** * @author Manuel Laflamme * @since Apr 6, 2003 * @version $Revision: 1.1.2.1 $ */ public class DatabaseReverseTableIteratorTest extends DatabaseTableIteratorTest { public DatabaseReverseTableIteratorTest(String s) { super(s); } protected String[] getExpectedNames() throws Exception { return DataSetUtils.reverseStringArray(super.getExpectedNames()); } protected ITableIterator getIterator() throws Exception { return _connection.createDataSet().reverseIterator(); } } --- NEW FILE: DatabaseTableIteratorTest.java --- /* * * The DbUnit Database Testing Framework * Copyright (C)2002, Manuel Laflamme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ package org.dbunit.database; import org.dbunit.dataset.AbstractTableIteratorTest; import org.dbunit.dataset.ITableIterator; import org.dbunit.DatabaseEnvironment; /** * @author Manuel Laflamme * @since Apr 6, 2003 * @version $Revision: 1.1.2.1 $ */ public class DatabaseTableIteratorTest extends AbstractTableIteratorTest { protected IDatabaseConnection _connection; public DatabaseTableIteratorTest(String s) { super(s); } //////////////////////////////////////////////////////////////////////////// // TestCase class protected void setUp() throws Exception { super.setUp(); _connection = DatabaseEnvironment.getInstance().getConnection(); } protected void tearDown() throws Exception { super.tearDown(); _connection = null; } protected String[] getExpectedNames() throws Exception { return _connection.createDataSet().getTableNames(); } protected ITableIterator getIterator() throws Exception { return _connection.createDataSet().iterator(); } protected ITableIterator getEmptyIterator() throws Exception { return new DatabaseTableIterator(new String[0], (DatabaseDataSet)_connection.createDataSet()); } } Index: AllTests.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/database/AllTests.java,v retrieving revision 1.9 retrieving revision 1.9.4.1 diff -C2 -d -r1.9 -r1.9.4.1 *** AllTests.java 16 Feb 2003 06:01:00 -0000 1.9 --- AllTests.java 7 Apr 2003 02:23:37 -0000 1.9.4.1 *************** *** 38,41 **** --- 38,43 ---- suite.addTest(new TestSuite(DatabaseConnectionTest.class)); suite.addTest(new TestSuite(DatabaseDataSetTest.class)); + suite.addTest(new TestSuite(DatabaseReverseTableIteratorTest.class)); + suite.addTest(new TestSuite(DatabaseTableIteratorTest.class)); suite.addTest(new TestSuite(DatabaseTableMetaDataTest.class)); suite.addTest(new TestSuite(QueryDataSetTest.class)); Index: DatabaseDataSetTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/database/DatabaseDataSetTest.java,v retrieving revision 1.19.4.1 retrieving revision 1.19.4.2 diff -C2 -d -r1.19.4.1 -r1.19.4.2 *** DatabaseDataSetTest.java 6 Apr 2003 21:52:08 -0000 1.19.4.1 --- DatabaseDataSetTest.java 7 Apr 2003 02:23:37 -0000 1.19.4.2 *************** *** 30,39 **** import org.dbunit.dataset.DefaultTableMetaData; import org.dbunit.dataset.IDataSet; - import org.dbunit.dataset.ITable; import org.dbunit.dataset.ITableMetaData; import org.dbunit.dataset.datatype.DataType; - - import java.util.Arrays; - import java.util.Comparator; /** --- 30,35 ---- |
From: <mla...@us...> - 2003-04-07 02:20:14
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/database In directory sc8-pr-cvs1:/tmp/cvs-serv21114/dbunit/src/java/org/dbunit/database Modified Files: Tag: branch-iterator DatabaseDataSet.java Added Files: Tag: branch-iterator DatabaseTableIterator.java Log Message: DatabaseDataSet improvements: * Faster access to metadata cache. * Keep original database table ordering. * Use a load on demand iterator implementation. --- NEW FILE: DatabaseTableIterator.java --- /* * * The DbUnit Database Testing Framework * Copyright (C)2002, Manuel Laflamme * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ package org.dbunit.database; import org.dbunit.dataset.ITableIterator; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.ITableMetaData; import org.dbunit.dataset.ITable; /** * @author Manuel Laflamme * @since Apr 6, 2003 * @version $Revision: 1.1.2.1 $ */ class DatabaseTableIterator implements ITableIterator { private final String[] _tableNames; private final DatabaseDataSet _dataSet; private int _index = -1; public DatabaseTableIterator(String[] tableNames, DatabaseDataSet dataSet) { _tableNames = tableNames; _dataSet = dataSet; } //////////////////////////////////////////////////////////////////////////// // ITableIterator interface public boolean next() throws DataSetException { _index++; return _index < _tableNames.length; } public ITableMetaData getTableMetaData() throws DataSetException { return _dataSet.getTableMetaData(_tableNames[_index]); } public ITable getTable() throws DataSetException { return _dataSet.getTable(_tableNames[_index]); } } Index: DatabaseDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/database/DatabaseDataSet.java,v retrieving revision 1.19.4.1 retrieving revision 1.19.4.2 diff -C2 -d -r1.19.4.1 -r1.19.4.2 *** DatabaseDataSet.java 6 Apr 2003 13:56:32 -0000 1.19.4.1 --- DatabaseDataSet.java 7 Apr 2003 02:20:09 -0000 1.19.4.2 *************** *** 32,36 **** * @version $Revision$ */ ! public class DatabaseDataSet implements IDataSet { static final String QUALIFIED_TABLE_NAMES = --- 32,36 ---- * @version $Revision$ */ ! public class DatabaseDataSet extends AbstractDataSet { static final String QUALIFIED_TABLE_NAMES = *************** *** 39,43 **** private final IDatabaseConnection _connection; ! private Map _tableMap = null; DatabaseDataSet(IDatabaseConnection connection) throws SQLException --- 39,44 ---- private final IDatabaseConnection _connection; ! private final Map _tableMap = new HashMap(); ! private List _nameList = null; DatabaseDataSet(IDatabaseConnection connection) throws SQLException *************** *** 101,109 **** * Get all the table names form the database that are not system tables. */ ! private Map getTableMap() throws DataSetException { ! if (_tableMap != null) { ! return _tableMap; } --- 102,110 ---- * Get all the table names form the database that are not system tables. */ ! private void initialize() throws DataSetException { ! if (_nameList != null) { ! return; } *************** *** 119,123 **** try { ! Map tableMap = new HashMap(); while (resultSet.next()) { --- 120,124 ---- try { ! List nameList = new ArrayList(); while (resultSet.next()) { *************** *** 129,141 **** // prevent table name conflict ! if (tableMap.containsKey(tableName)) { throw new AmbiguousTableNameException(tableName); } ! tableMap.put(tableName, null); } ! _tableMap = tableMap; ! return _tableMap; } finally --- 130,142 ---- // prevent table name conflict ! if (_tableMap.containsKey(tableName.toUpperCase())) { throw new AmbiguousTableNameException(tableName); } ! nameList.add(tableName); ! _tableMap.put(tableName, null); } ! _nameList = nameList; } finally *************** *** 151,196 **** //////////////////////////////////////////////////////////////////////////// // IDataSet interface public String[] getTableNames() throws DataSetException { ! return (String[])getTableMap().keySet().toArray(new String[0]); } public ITableMetaData getTableMetaData(String tableName) throws DataSetException { ! for (Iterator it = getTableMap().entrySet().iterator(); it.hasNext();) { ! Map.Entry entry = (Map.Entry)it.next(); ! if (tableName.equalsIgnoreCase((String)entry.getKey())) ! { ! ITableMetaData metaData = (ITableMetaData)entry.getValue(); ! if (metaData != null) ! { ! return metaData; ! } ! metaData = new DatabaseTableMetaData((String)entry.getKey(), _connection); ! getTableMap().put(metaData.getTableName(), metaData); ! return metaData; ! } } ! throw new NoSuchTableException(tableName); ! // ITableMetaData metaData = (ITableMetaData)getTableMap().get(tableName); ! // if (metaData != null) ! // { ! // return metaData; ! // } ! // ! // if (!getTableMap().containsKey(tableName)) ! // { ! // throw new NoSuchTableException(tableName); ! // } ! // ! // metaData = new DatabaseTableMetaData(tableName, _connection); ! // getTableMap().put(tableName, metaData); ! // return metaData; } --- 152,212 ---- //////////////////////////////////////////////////////////////////////////// + // AbstractDataSet class + + protected ITableIterator createIterator(boolean reversed) + throws DataSetException + { + String[] names = getTableNames(); + if (reversed) + { + names = DataSetUtils.reverseStringArray(names); + } + + return new DatabaseTableIterator(names, this); + } + + //////////////////////////////////////////////////////////////////////////// // IDataSet interface public String[] getTableNames() throws DataSetException { ! initialize(); ! return (String[])_nameList.toArray(new String[0]); } public ITableMetaData getTableMetaData(String tableName) throws DataSetException { ! initialize(); ! ! String upperTableName = tableName.toUpperCase(); ! ! // Verify if table exist in the database ! if (!_tableMap.containsKey(upperTableName)) { ! throw new NoSuchTableException(tableName); ! } ! // Try to find cached metadata ! ITableMetaData metaData = (ITableMetaData)_tableMap.get(upperTableName); ! if (metaData != null) ! { ! return metaData; } ! // Search for original database table name ! for (Iterator it = _nameList.iterator(); it.hasNext();) ! { ! String databaseTableName = (String)it.next(); ! if (databaseTableName.equalsIgnoreCase(tableName)) ! { ! // Create metadata and cache it ! metaData = new DatabaseTableMetaData( ! databaseTableName, _connection); ! _tableMap.put(upperTableName, metaData); ! break; ! } ! } ! return metaData; } *************** *** 228,253 **** } } - - public ITable[] getTables() throws DataSetException - { - String[] names = getTableNames(); - List tableList = new ArrayList(names.length); - for (int i = 0; i < names.length; i++) - { - tableList.add(getTable(names[i])); - } - return (ITable[])tableList.toArray(new ITable[0]); - } - - public ITableIterator iterator() throws DataSetException - { - return new DefaultTableIterator(getTables()); - } - - public ITableIterator reverseIterator() throws DataSetException - { - return new DefaultTableIterator(getTables(), true); - } - } --- 244,247 ---- |
From: <mla...@us...> - 2003-04-06 21:52:12
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv24188/dbunit/src/test/org/dbunit/dataset Modified Files: Tag: branch-iterator AbstractDataSetTest.java AbstractTest.java CaseInsensitiveDataSetTest.java Log Message: Added tests for dataset iterator() and reverseIterator() methods. Index: AbstractDataSetTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/AbstractDataSetTest.java,v retrieving revision 1.19.4.1 retrieving revision 1.19.4.2 diff -C2 -d -r1.19.4.1 -r1.19.4.2 *** AbstractDataSetTest.java 6 Apr 2003 20:34:42 -0000 1.19.4.1 --- AbstractDataSetTest.java 6 Apr 2003 21:52:08 -0000 1.19.4.2 *************** *** 102,118 **** protected abstract IDataSet createDuplicateDataSet() throws Exception; - /** - * Many tests in this class assume a known sequence of table. For some - * IDataSet implemntation (like DatabaseDataSet) we can't predict - * any specific order. For supporting them, this method is called for both - * the expected names and dataset names before comparing them. - * <p> - * This method should do nothing for implemntation supporting ordered names. - * Others should sort the specified array. - */ - protected void sort(Object[] array) - { - } - protected void assertEqualsTableName(String mesage, String expected, String actual) --- 102,105 ---- *************** *** 124,132 **** { String[] expected = getExpectedNames(); ! sort(expected); ! IDataSet dataSet = removeExtraTestTables(createDataSet()); String[] names = dataSet.getTableNames(); - sort(names); assertEquals("table count", expected.length, names.length); --- 111,119 ---- { String[] expected = getExpectedNames(); ! assertContainsIgnoreCase("minimal names subset", ! super.getExpectedNames(), expected); ! IDataSet dataSet = createDataSet(); String[] names = dataSet.getTableNames(); assertEquals("table count", expected.length, names.length); *************** *** 177,187 **** { String[] expected = getExpectedNames(); - // sort(expected); IDataSet dataSet = createDataSet(); - // String[] names = dataSet.getTableNames(); - // sort(names); - // assertEquals("table count", - // expected.length, dataSet.getTableNames().length); for (int i = 0; i < expected.length; i++) { --- 164,169 ---- *************** *** 207,217 **** { String[] expected = getExpectedNames(); ! sort(expected); ! IDataSet dataSet = removeExtraTestTables(createDataSet()); ! String[] names = dataSet.getTableNames(); ! sort(names); ITable[] tables = dataSet.getTables(); - sort(tables); assertEquals("table count", expected.length, tables.length); --- 189,197 ---- { String[] expected = getExpectedNames(); ! assertContainsIgnoreCase("minimal names subset", ! super.getExpectedNames(), expected); ! IDataSet dataSet = createDataSet(); ITable[] tables = dataSet.getTables(); assertEquals("table count", expected.length, tables.length); *************** *** 351,354 **** --- 331,371 ---- } } + + public void testIterator() throws Exception + { + String[] expected = getExpectedNames(); + assertContainsIgnoreCase("minimal names subset", + super.getExpectedNames(), expected); + + int i = 0; + ITableIterator iterator = createDataSet().iterator(); + while(iterator.next()) + { + assertEqualsTableName("name " + i, expected[i], + iterator.getTableMetaData().getTableName()); + i++; + } + + assertEquals("table count", expected.length, i); + } + + public void testReverseIterator() throws Exception + { + String[] expected = DataSetUtils.reverseStringArray(getExpectedNames()); + assertContainsIgnoreCase("minimal names subset", + super.getExpectedNames(), expected); + + int i = 0; + ITableIterator iterator = createDataSet().reverseIterator(); + while(iterator.next()) + { + assertEqualsTableName("name " + i, expected[i], + iterator.getTableMetaData().getTableName()); + i++; + } + + assertEquals("table count", expected.length, i); + } + } Index: AbstractTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/Attic/AbstractTest.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** AbstractTest.java 6 Apr 2003 20:34:42 -0000 1.1.2.1 --- AbstractTest.java 6 Apr 2003 21:52:08 -0000 1.1.2.2 *************** *** 23,26 **** --- 23,29 ---- import junit.framework.TestCase; + import java.util.Arrays; + import java.util.List; + /** * @author Manuel Laflamme *************** *** 80,82 **** --- 83,123 ---- return AbstractTest.EXTRA_TABLE_NAME; } + + public void assertEqualsIgnoreCase(String message, String expected, String actual) + { + if (!expected.equalsIgnoreCase(actual)) + { + assertEquals(message, expected, actual); + } + } + + public void assertContains(String message, Object[] expected, Object[] actual) + { + List expectedList = Arrays.asList(expected); + List actualList = Arrays.asList(actual); + + if (!expectedList.containsAll(actualList)) + { + fail(message + " expected contains:<" + expectedList + "> but was:<" + + actualList + ">"); + } + } + + public void assertContainsIgnoreCase(String message, String[] expected, String[] actual) + { + String[] expectedLowerCase = new String[expected.length]; + for (int i = 0; i < expected.length; i++) + { + expectedLowerCase[i] = expected[i].toLowerCase(); + } + + String[] actualLowerCase = new String[actual.length]; + for (int i = 0; i < actual.length; i++) + { + actualLowerCase[i] = actual[i].toLowerCase(); + } + + assertContains(message, expectedLowerCase, actualLowerCase); + } + } Index: CaseInsensitiveDataSetTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/CaseInsensitiveDataSetTest.java,v retrieving revision 1.4 retrieving revision 1.4.4.1 diff -C2 -d -r1.4 -r1.4.4.1 *** CaseInsensitiveDataSetTest.java 14 Feb 2003 03:21:59 -0000 1.4 --- CaseInsensitiveDataSetTest.java 6 Apr 2003 21:52:09 -0000 1.4.4.1 *************** *** 40,50 **** } ! protected void assertEqualsTableName(String mesage, String expected, String actual) { ! if (!expected.equalsIgnoreCase(actual)) ! { ! super.assertEqualsTableName(mesage, expected, actual); ! } } } --- 40,47 ---- } ! protected void assertEqualsTableName(String message, String expected, String actual) { ! assertEqualsIgnoreCase(message, expected, actual); } } |