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-05-01 03:14:56
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml In directory sc8-pr-cvs1:/tmp/cvs-serv23664/src/test/org/dbunit/dataset/xml Added Files: Tag: branch-exml2sax XmlProducerTest.java Log Message: Added new XML producer. --- NEW FILE: XmlProducerTest.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.xml; import org.dbunit.dataset.AbstractProducerTest; import org.dbunit.dataset.IDataSetProducer; import org.dbunit.dataset.Column; import org.xml.sax.InputSource; import java.io.File; /** * @author Manuel Laflamme * @since Apr 30, 2003 * @version $Revision: 1.1.2.1 $ */ public class XmlProducerTest extends AbstractProducerTest { private static final File DATASET_FILE = new File("src/xml/xmlProducerTest.xml"); public XmlProducerTest(String s) { super(s); } protected IDataSetProducer createProducer() throws Exception { String uri = DATASET_FILE.getAbsoluteFile().toURL().toString(); InputSource source = new InputSource(uri); return new XmlProducer(source); } protected Column[] createExpectedColumns(Column.Nullable nullable) throws Exception { return super.createExpectedColumns(Column.NULLABLE_UNKNOWN); } } |
From: <mla...@us...> - 2003-05-01 03:14:56
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/xml In directory sc8-pr-cvs1:/tmp/cvs-serv23664/src/java/org/dbunit/dataset/xml Added Files: Tag: branch-exml2sax XmlProducer.java Log Message: Added new XML producer. --- NEW FILE: XmlProducer.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.xml; import org.dbunit.dataset.Column; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.DefaultConsumer; import org.dbunit.dataset.DefaultTableMetaData; import org.dbunit.dataset.IDataSetConsumer; import org.dbunit.dataset.IDataSetProducer; import org.dbunit.dataset.ITableMetaData; import org.dbunit.dataset.datatype.DataType; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import java.io.IOException; import java.util.LinkedList; import java.util.List; /** * @author Manuel Laflamme * @since Apr 30, 2003 * @version $Revision: 1.1.2.1 $ */ public class XmlProducer extends DefaultHandler implements IDataSetProducer, ContentHandler { private static final IDataSetConsumer EMPTY_CONSUMER = new DefaultConsumer(); private static final String DATASET = "dataset"; private static final String TABLE = "table"; private static final String NAME = "name"; private static final String COLUMN = "column"; private static final String ROW = "row"; private static final String VALUE = "value"; private static final String NULL = "null"; private final InputSource _inputSource; private XMLReader _xmlReader; private IDataSetConsumer _consumer = EMPTY_CONSUMER; private String _activeTableName; private List _activeColumnNames; private StringBuffer _activeCharacters; private List _activeRowValues; public XmlProducer(InputSource inputSource) { _inputSource = inputSource; } private ITableMetaData createMetaData(String tableName, List _columnNames) { Column[] columns = new Column[_columnNames.size()]; for (int i = 0; i < columns.length; i++) { String columnName = (String)_columnNames.get(i); columns[i] = new Column(columnName, DataType.UNKNOWN); } DefaultTableMetaData metaData = new DefaultTableMetaData(tableName, columns); return metaData; } //////////////////////////////////////////////////////////////////////////// // IDataSetProducer interface public void setConsumer(IDataSetConsumer consumer) throws DataSetException { _consumer = consumer; } public void produce() throws DataSetException { try { if (_xmlReader == null) { SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser(); _xmlReader = saxParser.getXMLReader(); } _xmlReader.setContentHandler(this); _xmlReader.setEntityResolver(this); _xmlReader.parse(_inputSource); } catch (ParserConfigurationException e) { throw new DataSetException(e); } catch (SAXException e) { Exception exception = e.getException() == null ? e : e.getException(); throw new DataSetException(exception); } catch (IOException e) { throw new DataSetException(e); } } //////////////////////////////////////////////////////////////////////////// // EntityResolver interface public InputSource resolveEntity(String publicId, String systemId) throws SAXException { // TODO - returns dataset.dtd contents... return null; } //////////////////////////////////////////////////////////////////////// // ContentHandler interface public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { try { // dataset if (qName.equals(DATASET)) { _consumer.startDataSet(); return; } // table if (qName.equals(TABLE)) { _activeTableName = attributes.getValue(NAME); _activeColumnNames = new LinkedList(); return; } // column if (qName.equals(COLUMN)) { _activeCharacters = new StringBuffer(); return; } // row if (qName.equals(ROW)) { // End of metadata at first row if (_activeColumnNames != null) { ITableMetaData metaData = createMetaData(_activeTableName, _activeColumnNames); _consumer.startTable(metaData); _activeColumnNames = null; } _activeRowValues = new LinkedList(); return; } // value if (qName.equals(VALUE)) { _activeCharacters = new StringBuffer(); return; } // null if (qName.equals(NULL)) { _activeRowValues.add(null); return; } } catch (DataSetException e) { throw new SAXException(e); } } public void endElement(String uri, String localName, String qName) throws SAXException { try { // dataset if (qName.equals(DATASET)) { _consumer.endDataSet(); return; } // table if (qName.equals(TABLE)) { // End of metadata if (_activeColumnNames != null) { ITableMetaData metaData = createMetaData(_activeTableName, _activeColumnNames); _consumer.startTable(metaData); _activeColumnNames = null; } _consumer.endTable(); _activeTableName = null; return; } // column if (qName.equals(COLUMN)) { _activeColumnNames.add(_activeCharacters.toString()); _activeCharacters = null; } // row if (qName.equals(ROW)) { _consumer.row(_activeRowValues.toArray()); _activeRowValues = null; } // value if (qName.equals(VALUE)) { _activeRowValues.add(_activeCharacters.toString()); _activeCharacters = null; } // null if (qName.equals(NULL)) { // Nothing to do, already processed in startElement() } } catch (DataSetException e) { throw new SAXException(e); } } public void characters(char ch[], int start, int length) throws SAXException { // TODO - remove when EntityResolver is implemented... if (_activeCharacters != null) { _activeCharacters.append(ch, start, length); } } } |
From: <mla...@us...> - 2003-05-01 03:14:56
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit In directory sc8-pr-cvs1:/tmp/cvs-serv23664/src/test/org/dbunit Modified Files: Tag: branch-exml2sax Main.java Log Message: Added new XML producer. Index: Main.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/Main.java,v retrieving revision 1.30.2.2 retrieving revision 1.30.2.3 diff -C2 -d -r1.30.2.2 -r1.30.2.3 *** Main.java 30 Apr 2003 00:27:47 -0000 1.30.2.2 --- Main.java 1 May 2003 03:14:53 -0000 1.30.2.3 *************** *** 60,71 **** DatabaseEnvironment.getInstance().getConnection(); ! InputSource source = new InputSource(new FileReader("src/xml/flatXmlDataSetTest.xml")); IDataSet dataSet = new CachedDataSet(new FlatXmlProducer(source)); ! DatabaseOperation.INSERT.execute(connection, dataSet); ! FileWriter writer = new FileWriter("writerTest.xml"); // FlatXmlDataSet.write(connection.createDataSet(), writer); ! new FlatXmlWriter().write(connection.createDataSet(), writer); ! writer.close(); // ITableIterator iterator = connection.createDataSet().iterator(); // while(iterator.next()) --- 60,72 ---- DatabaseEnvironment.getInstance().getConnection(); ! InputSource source = new InputSource(new File("src/xml/flatXmlProducerTest.xml").toURL().toString()); IDataSet dataSet = new CachedDataSet(new FlatXmlProducer(source)); ! // DatabaseOperation.INSERT.execute(connection, dataSet); ! XmlDataSet.write(dataSet, new FileWriter("writerTest.xml")); ! // FileWriter writer = new FileWriter("writerTest.xml"); // FlatXmlDataSet.write(connection.createDataSet(), writer); ! // new FlatXmlWriter().write(connection.createDataSet(), writer); ! // writer.close(); // ITableIterator iterator = connection.createDataSet().iterator(); // while(iterator.next()) |
From: <mla...@us...> - 2003-05-01 03:14:56
|
Update of /cvsroot/dbunit/dbunit/src/dtd In directory sc8-pr-cvs1:/tmp/cvs-serv23664/src/dtd Modified Files: Tag: branch-exml2sax dataset.dtd Log Message: Added new XML producer. Index: dataset.dtd =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/dtd/dataset.dtd,v retrieving revision 1.4 retrieving revision 1.4.6.1 diff -C2 -d -r1.4 -r1.4.6.1 *** dataset.dtd 21 Mar 2002 00:41:42 -0000 1.4 --- dataset.dtd 1 May 2003 03:14:52 -0000 1.4.6.1 *************** *** 1,6 **** <?xml version='1.0' encoding='UTF-8' ?> - <!--Generated by XML Authority--> - <!ELEMENT dataset (table+)> --- 1,4 ---- |
From: <mla...@us...> - 2003-05-01 02:18:54
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv4613/src/test/org/dbunit/dataset Modified Files: Tag: branch-exml2sax AllTests.java Added Files: Tag: branch-exml2sax DataSetProducerAdapterTest.java Log Message: Added more producer tests. --- NEW FILE: DataSetProducerAdapterTest.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; import org.dbunit.dataset.AbstractTest; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.ITableMetaData; import org.dbunit.dataset.DataSetProducerAdapter; import org.dbunit.dataset.IDataSetConsumer; import org.dbunit.dataset.IDataSetProducer; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.dbunit.dataset.xml.FlatXmlProducer; import org.xml.sax.InputSource; import java.io.FileReader; import java.io.File; /** * @author Manuel Laflamme * @since Apr 17, 2003 * @version $Revision: 1.1.2.1 $ */ public class DataSetProducerAdapterTest extends AbstractProducerTest { private static final File DATASET_FILE = new File("src/xml/flatXmlProducerTest.xml"); public DataSetProducerAdapterTest(String s) { super(s); } protected IDataSetProducer createProducer() throws Exception { FlatXmlDataSet dataSet = new FlatXmlDataSet(DATASET_FILE); return new DataSetProducerAdapter(dataSet); } } Index: AllTests.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/AllTests.java,v retrieving revision 1.18.2.1 retrieving revision 1.18.2.2 diff -C2 -d -r1.18.2.1 -r1.18.2.2 *** AllTests.java 23 Apr 2003 02:30:35 -0000 1.18.2.1 --- AllTests.java 1 May 2003 02:18:51 -0000 1.18.2.2 *************** *** 44,47 **** --- 44,48 ---- suite.addTest(new TestSuite(CompositeDataSetTest.class)); suite.addTest(new TestSuite(CompositeTableTest.class)); + suite.addTest(new TestSuite(DataSetProducerAdapterTest.class)); suite.addTest(new TestSuite(DataSetUtilsTest.class)); suite.addTest(new TestSuite(DefaultDataSetTest.class)); |
From: <mla...@us...> - 2003-05-01 02:18:54
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv4613/src/java/org/dbunit/dataset Modified Files: Tag: branch-exml2sax DataSetProducerAdapter.java Log Message: Added more producer tests. Index: DataSetProducerAdapter.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/Attic/DataSetProducerAdapter.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 *** DataSetProducerAdapter.java 30 Apr 2003 00:27:45 -0000 1.1.2.1 --- DataSetProducerAdapter.java 1 May 2003 02:18:51 -0000 1.1.2.2 *************** *** 36,41 **** public class DataSetProducerAdapter implements IDataSetProducer { private final ITableIterator _iterator; ! private IDataSetConsumer _consumer; public DataSetProducerAdapter(ITableIterator iterator) --- 36,43 ---- public class DataSetProducerAdapter implements IDataSetProducer { + private static final IDataSetConsumer EMPTY_CONSUMER = new DefaultConsumer(); + private final ITableIterator _iterator; ! private IDataSetConsumer _consumer = EMPTY_CONSUMER; public DataSetProducerAdapter(ITableIterator iterator) |
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml In directory sc8-pr-cvs1:/tmp/cvs-serv15860/src/test/org/dbunit/dataset/xml Modified Files: Tag: branch-exml2sax AllTests.java FlatDtdDataSetTest.java FlatDtdProducerTest.java FlatXmlProducerTest.java Log Message: * Removed dtdparser.jar. Now use SAX to parse DTD. * Added more flat XML provider tests. Index: AllTests.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml/AllTests.java,v retrieving revision 1.6.2.1 retrieving revision 1.6.2.2 diff -C2 -d -r1.6.2.1 -r1.6.2.2 *** AllTests.java 30 Apr 2003 02:17:02 -0000 1.6.2.1 --- AllTests.java 30 Apr 2003 21:12:52 -0000 1.6.2.2 *************** *** 38,41 **** --- 38,42 ---- suite.addTest(new TestSuite(FlatDtdProducerTest.class)); suite.addTest(new TestSuite(FlatXmlDataSetTest.class)); + suite.addTest(new TestSuite(FlatXmlProducerTest.class)); suite.addTest(new TestSuite(FlatXmlTableTest.class)); suite.addTest(new TestSuite(FlatXmlTableWriteTest.class)); Index: FlatDtdDataSetTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml/FlatDtdDataSetTest.java,v retrieving revision 1.9 retrieving revision 1.9.2.1 diff -C2 -d -r1.9 -r1.9.2.1 *** FlatDtdDataSetTest.java 9 Apr 2003 22:52:16 -0000 1.9 --- FlatDtdDataSetTest.java 30 Apr 2003 21:12:53 -0000 1.9.2.1 *************** *** 12,22 **** import org.dbunit.DatabaseEnvironment; - import org.dbunit.util.FileAsserts; import org.dbunit.database.IDatabaseConnection; import org.dbunit.dataset.AbstractDataSetTest; import org.dbunit.dataset.FilteredDataSet; import org.dbunit.dataset.IDataSet; ! import java.io.*; /** --- 12,28 ---- import org.dbunit.DatabaseEnvironment; import org.dbunit.database.IDatabaseConnection; import org.dbunit.dataset.AbstractDataSetTest; import org.dbunit.dataset.FilteredDataSet; import org.dbunit.dataset.IDataSet; + import org.dbunit.dataset.ITable; + import org.dbunit.dataset.ITableMetaData; + import org.dbunit.util.FileAsserts; ! import java.io.BufferedReader; ! import java.io.File; ! import java.io.FileReader; ! import java.io.FileWriter; ! import java.io.Writer; /** *************** *** 56,59 **** --- 62,85 ---- //////////////////////////////////////////////////////////////////////////// // Test methods + + public void testGetDuplicateTable() throws Exception + { + String expectedTableName = getDuplicateTableName(); + + IDataSet dataSet = createDuplicateDataSet(); + ITable table = dataSet.getTable(expectedTableName); + String actualTableName = table.getTableMetaData().getTableName(); + assertEquals("table name", expectedTableName, actualTableName); + } + + public void testGetDuplicateTableMetaData() throws Exception + { + String expectedTableName = getDuplicateTableName(); + + IDataSet dataSet = createDuplicateDataSet(); + ITableMetaData metaData = dataSet.getTableMetaData(expectedTableName); + String actualTableName = metaData.getTableName(); + assertEquals("table name", expectedTableName, actualTableName); + } public void testWriteFromDtd() throws Exception Index: FlatDtdProducerTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml/Attic/FlatDtdProducerTest.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 *** FlatDtdProducerTest.java 30 Apr 2003 02:17:02 -0000 1.1.2.1 --- FlatDtdProducerTest.java 30 Apr 2003 21:12:53 -0000 1.1.2.2 *************** *** 21,25 **** package org.dbunit.dataset.xml; ! import org.dbunit.dataset.AbstractDataSetProducerTest; import org.dbunit.dataset.Column; import org.dbunit.dataset.IDataSetProducer; --- 21,25 ---- package org.dbunit.dataset.xml; ! import org.dbunit.dataset.AbstractProducerTest; import org.dbunit.dataset.Column; import org.dbunit.dataset.IDataSetProducer; *************** *** 37,41 **** * @version $Revision$ */ ! public class FlatDtdProducerTest extends AbstractDataSetProducerTest { private static final File DTD_FILE = --- 37,41 ---- * @version $Revision$ */ ! public class FlatDtdProducerTest extends AbstractProducerTest { private static final File DTD_FILE = *************** *** 53,88 **** } ! public void testProduce() throws Exception ! { ! // Setup consumer ! MockDataSetConsumer consumer = new MockDataSetConsumer(); ! consumer.addExpectedStartDataSet(); ! String[] expectedNames = getExpectedNames(); ! for (int i = 0; i < expectedNames.length; i++) ! { ! // All tables except the one have nullable columns ! boolean nullable = (i + 1 < expectedNames.length); ! Column[] expectedColumns = createExpectedColumns(nullable); ! ! String expectedName = expectedNames[i]; ! consumer.addExpectedStartTable(expectedName, ! expectedColumns); ! consumer.addExpectedEndTable(expectedName); ! } ! consumer.addExpectedEndDataSet(); ! ! // Setup producer ! IDataSetProducer producer = createProducer(); ! producer.setConsumer(consumer); ! ! // Produce and verify consumer ! producer.produce(); ! consumer.verify(); ! } ! ! public void testProduceWithoutConsumer() throws Exception { ! IDataSetProducer producer = createProducer(); ! producer.produce(); } --- 53,59 ---- } ! protected int[] getExpectedRowCount() throws Exception { ! return new int[] {0, 0, 0, 0, 0, 0}; } *************** *** 99,103 **** // Setup producer String content = ! "<!ELEMENT dataset (DUPLICATE_TABLE*,TEST_TABLE*,DUPLICATE_TABLE*)>" + "<!ELEMENT TEST_TABLE EMPTY>" + "<!ELEMENT DUPLICATE_TABLE EMPTY>"; --- 70,74 ---- // Setup producer String content = ! "<!ELEMENT dataset (DUPLICATE_TABLE*,TEST_TABLE+,DUPLICATE_TABLE?)>" + "<!ELEMENT TEST_TABLE EMPTY>" + "<!ELEMENT DUPLICATE_TABLE EMPTY>"; *************** *** 134,136 **** --- 105,134 ---- } + public void testAttrListBeforeParentElement() throws Exception + { + // Setup consumer + MockDataSetConsumer consumer = new MockDataSetConsumer(); + consumer.addExpectedStartDataSet(); + Column[] expectedColumns = createExpectedColumns(Column.NULLABLE); + consumer.addExpectedEmptyTable("TEST_TABLE", expectedColumns); + consumer.addExpectedEndDataSet(); + + // Setup producer + String content = + "<!ELEMENT dataset (TEST_TABLE)>" + + "<!ATTLIST TEST_TABLE " + + "COLUMN0 CDATA #IMPLIED " + + "COLUMN1 CDATA #IMPLIED " + + "COLUMN2 CDATA #IMPLIED " + + "COLUMN3 CDATA #IMPLIED>" + + "<!ELEMENT TEST_TABLE EMPTY>"; + + InputSource source = new InputSource(new StringReader(content)); + FlatDtdProducer producer = new FlatDtdProducer(source); + producer.setConsumer(consumer); + + // Produce and verify consumer + producer.produce(); + consumer.verify(); + } } Index: FlatXmlProducerTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml/Attic/FlatXmlProducerTest.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 *** FlatXmlProducerTest.java 30 Apr 2003 00:27:48 -0000 1.1.2.1 --- FlatXmlProducerTest.java 30 Apr 2003 21:12:54 -0000 1.1.2.2 *************** *** 1,13 **** package org.dbunit.dataset.xml; ! import org.dbunit.dataset.CachedDataSet; import org.dbunit.dataset.Column; ! import org.dbunit.dataset.IDataSet; ! import org.dbunit.dataset.ITable; import org.xml.sax.InputSource; import java.io.File; ! import java.io.FileInputStream; /** --- 1,19 ---- package org.dbunit.dataset.xml; ! import org.dbunit.dataset.AbstractProducerTest; import org.dbunit.dataset.Column; ! import org.dbunit.dataset.IDataSetProducer; ! import org.dbunit.dataset.MockDataSetConsumer; ! import org.dbunit.dataset.DefaultDataSet; ! import org.dbunit.dataset.DefaultTable; import org.xml.sax.InputSource; + import org.xml.sax.EntityResolver; + import org.xml.sax.SAXException; import java.io.File; ! import java.io.StringReader; ! import java.io.IOException; ! import java.util.ArrayList; /** *************** *** 18,23 **** * @version $Revision$ */ ! public class FlatXmlProducerTest extends FlatXmlDataSetTest { public FlatXmlProducerTest(String s) { --- 24,32 ---- * @version $Revision$ */ ! public class FlatXmlProducerTest extends AbstractProducerTest { + private static final File DATASET_FILE = + new File("src/xml/flatXmlProducerTest.xml"); + public FlatXmlProducerTest(String s) { *************** *** 25,67 **** } ! protected IDataSet createDataSet() throws Exception { ! InputSource source = new InputSource(new FileInputStream(DATASET_FILE)); ! return new CachedDataSet(new FlatXmlProducer(source)); } ! protected IDataSet createDuplicateDataSet() throws Exception { ! InputSource source = new InputSource(new FileInputStream(DUPLICATE_DATASET_FILE)); ! return new CachedDataSet(new FlatXmlProducer(source)); } ! public void testMissingColumnAndEnableDtdMetadata() throws Exception { ! File file = new File("src/xml/flatXmlTableTest.xml"); ! InputSource source = new InputSource(file.toURL().toString()); ! IDataSet dataSet = new CachedDataSet(new FlatXmlProducer(source)); ! ITable table = dataSet.getTable("MISSING_VALUES"); ! Column[] columns = table.getTableMetaData().getColumns(); ! assertEquals("column count", 3, columns.length); } ! public void testMissingColumnAndDisableDtdMetadata() throws Exception { ! File file = new File("src/xml/flatXmlTableTest.xml"); ! InputSource source = new InputSource(file.toURL().toString()); ! FlatXmlProducer provider = new FlatXmlProducer(source, true); ! IDataSet dataSet = new CachedDataSet(provider); ! ITable table = dataSet.getTable("MISSING_VALUES"); ! Column[] columns = table.getTableMetaData().getColumns(); ! assertEquals("column count", 2, columns.length); } ! public void testProduce() throws Exception { } } --- 34,185 ---- } ! protected IDataSetProducer createProducer() throws Exception { ! String uri = DATASET_FILE.getAbsoluteFile().toURL().toString(); ! InputSource source = new InputSource(uri); ! ! return new FlatXmlProducer(source); } ! public void testProduceEmptyDataSet() throws Exception { ! // Setup consumer ! MockDataSetConsumer consumer = new MockDataSetConsumer(); ! consumer.addExpectedStartDataSet(); ! consumer.addExpectedEndDataSet(); ! ! // Setup producer ! String content = ! "<?xml version=\"1.0\"?>" + ! "<dataset/>"; ! InputSource source = new InputSource(new StringReader(content)); ! IDataSetProducer producer = new FlatXmlProducer(source); ! producer.setConsumer(consumer); ! ! // Produce and verify consumer ! producer.produce(); ! consumer.verify(); } ! public void testProduceNoDtd() throws Exception { ! // Setup consumer ! String tableName = "EMPTY_TABLE"; ! MockDataSetConsumer consumer = new MockDataSetConsumer(); ! consumer.addExpectedStartDataSet(); ! Column[] expectedColumns = new Column[0]; ! consumer.addExpectedEmptyTable(tableName, expectedColumns); ! consumer.addExpectedEndDataSet(); ! // Setup producer ! String content = ! "<?xml version=\"1.0\"?>" + ! "<dataset>" + ! "<EMPTY_TABLE/>" + ! "</dataset>"; ! InputSource source = new InputSource(new StringReader(content)); ! IDataSetProducer producer = new FlatXmlProducer(source); ! producer.setConsumer(consumer); ! // Produce and verify consumer ! producer.produce(); ! consumer.verify(); } ! public void testProduceIgnoreDtd() throws Exception { ! // Setup consumer ! String tableName = "EMPTY_TABLE"; ! MockDataSetConsumer consumer = new MockDataSetConsumer(); ! consumer.addExpectedStartDataSet(); ! Column[] expectedColumns = new Column[0]; ! consumer.addExpectedEmptyTable(tableName, expectedColumns); ! consumer.addExpectedEndDataSet(); ! // Setup producer ! String content = ! "<?xml version=\"1.0\"?>" + ! "<!DOCTYPE dataset SYSTEM \"urn:/dummy.dtd\">" + ! "<dataset>" + ! "<EMPTY_TABLE/>" + ! "</dataset>"; ! InputSource source = new InputSource(new StringReader(content)); ! IDataSetProducer producer = new FlatXmlProducer(source, true); ! producer.setConsumer(consumer); ! // Produce and verify consumer ! producer.produce(); ! consumer.verify(); } ! public void testProduceMetaDataSet() throws Exception ! { ! // Setup consumer ! String tableName = "EMPTY_TABLE"; ! MockDataSetConsumer consumer = new MockDataSetConsumer(); ! consumer.addExpectedStartDataSet(); ! Column[] expectedColumns = createExpectedColumns(Column.NULLABLE); ! consumer.addExpectedEmptyTable(tableName, expectedColumns); ! consumer.addExpectedEndDataSet(); ! ! // Setup producer ! String content = ! "<?xml version=\"1.0\"?>" + ! "<!DOCTYPE dataset SYSTEM \"urn:/dummy.dtd\">" + ! "<dataset>" + ! "<EMPTY_TABLE/>" + ! "</dataset>"; ! InputSource source = new InputSource(new StringReader(content)); ! DefaultDataSet metaDataSet = new DefaultDataSet(); ! metaDataSet.addTable( ! new DefaultTable(tableName, expectedColumns, new ArrayList())); ! IDataSetProducer producer = new FlatXmlProducer(source, metaDataSet); ! producer.setConsumer(consumer); ! ! // Produce and verify consumer ! producer.produce(); ! consumer.verify(); ! } ! ! public void testProduceCustomEntityResolver() throws Exception { + // Setup consumer + String tableName = "EMPTY_TABLE"; + MockDataSetConsumer consumer = new MockDataSetConsumer(); + consumer.addExpectedStartDataSet(); + Column[] expectedColumns = createExpectedColumns(Column.NULLABLE); + consumer.addExpectedEmptyTable(tableName, expectedColumns); + consumer.addExpectedEndDataSet(); + + // Setup producer + String dtdContent = + "<!ELEMENT dataset (EMPTY_TABLE)>" + + "<!ATTLIST EMPTY_TABLE " + + "COLUMN0 CDATA #IMPLIED " + + "COLUMN1 CDATA #IMPLIED " + + "COLUMN2 CDATA #IMPLIED " + + "COLUMN3 CDATA #IMPLIED>" + + "<!ELEMENT TEST_TABLE EMPTY>"; + final InputSource dtdSource = new InputSource(new StringReader(dtdContent)); + + String xmlContent = + "<?xml version=\"1.0\"?>" + + "<!DOCTYPE dataset SYSTEM \"urn:/dummy.dtd\">" + + "<dataset>" + + "<EMPTY_TABLE/>" + + "</dataset>"; + InputSource xmlSource = new InputSource(new StringReader(xmlContent)); + IDataSetProducer producer = new FlatXmlProducer(xmlSource, new EntityResolver(){ + public InputSource resolveEntity(String s, String s1) throws SAXException, IOException + { + return dtdSource; + } + }); + producer.setConsumer(consumer); + + // Produce and verify consumer + producer.produce(); + consumer.verify(); } + } |
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv15860/src/test/org/dbunit/dataset Modified Files: Tag: branch-exml2sax MockDataSetConsumer.java Added Files: Tag: branch-exml2sax AbstractProducerTest.java Removed Files: Tag: branch-exml2sax AbstractDataSetProducerTest.java Log Message: * Removed dtdparser.jar. Now use SAX to parse DTD. * Added more flat XML provider tests. --- NEW FILE: AbstractProducerTest.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; import org.dbunit.dataset.datatype.DataType; import junit.framework.TestCase; /** * @author Manuel Laflamme * @since Apr 29, 2003 * @version $Revision: 1.1.2.1 $ */ public abstract class AbstractProducerTest extends TestCase { private static final String[] TABLE_NAMES = { "DUPLICATE_TABLE", "SECOND_TABLE", "TEST_TABLE", "DUPLICATE_TABLE", "NOT_NULL_TABLE", "EMPTY_TABLE", }; public AbstractProducerTest(String s) { super(s); } protected String[] getExpectedNames() throws Exception { return (String[])TABLE_NAMES.clone(); } protected int[] getExpectedRowCount() throws Exception { return new int[] {1, 2, 3, 2, 1, 0}; } protected String getNotNullTableName() throws Exception { return "NOT_NULL_TABLE"; } protected Column[] createExpectedColumns(Column.Nullable nullable) throws Exception { Column[] columns = new Column[4]; for (int i = 0; i < columns.length; i++) { columns[i] = new Column("COLUMN" + i, DataType.UNKNOWN, nullable); } return columns; } protected Object[] createExpectedRow(int row) throws Exception { Object[] values = new Object[4]; for (int i = 0; i < values.length; i++) { values[i] = "row " + row + " col " + i; } return values; } protected abstract IDataSetProducer createProducer() throws Exception; public void testProduce() throws Exception { // Setup consumer MockDataSetConsumer consumer = new MockDataSetConsumer(); consumer.addExpectedStartDataSet(); String[] expectedNames = getExpectedNames(); int[] rowCounts = getExpectedRowCount(); for (int i = 0; i < expectedNames.length; i++) { String expectedName = expectedNames[i]; Column.Nullable nullable = expectedName.equals(getNotNullTableName()) ? Column.NO_NULLS : Column.NULLABLE; Column[] expectedColumns = createExpectedColumns(nullable); consumer.addExpectedStartTable(expectedName, expectedColumns); for (int j = 0; j < rowCounts[i]; j++) { consumer.addExpectedRow(expectedName, createExpectedRow(j)); } consumer.addExpectedEndTable(expectedName); } consumer.addExpectedEndDataSet(); // Setup producer IDataSetProducer producer = createProducer(); producer.setConsumer(consumer); // Produce and verify consumer producer.produce(); consumer.verify(); } public void testProduceWithoutConsumer() throws Exception { IDataSetProducer producer = createProducer(); producer.produce(); } } Index: MockDataSetConsumer.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/Attic/MockDataSetConsumer.java,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -C2 -d -r1.1.2.3 -r1.1.2.4 *** MockDataSetConsumer.java 30 Apr 2003 02:17:01 -0000 1.1.2.3 --- MockDataSetConsumer.java 30 Apr 2003 21:12:51 -0000 1.1.2.4 *************** *** 21,25 **** private final ExpectationList _expectedList = new ExpectationList(""); private String _actualTableName; - private int _actualTableRow = 0; public void addExpectedStartDataSet() throws Exception --- 21,24 ---- *************** *** 48,51 **** --- 47,56 ---- } + public void addExpectedEmptyTable(String tableName, Column[] columns) throws Exception + { + addExpectedStartTable(tableName, columns); + addExpectedEndTable(tableName); + } + public void addExpectedEmptyTableIgnoreColumns(String tableName) throws Exception { *************** *** 59,65 **** } ! public void addExpectedRow(String tableName, int row, Object[] values) throws Exception { ! _expectedList.addExpected(new RowEvent(tableName, row, values)); } --- 64,70 ---- } ! public void addExpectedRow(String tableName, Object[] values) throws Exception { ! _expectedList.addExpected(new RowEvent(tableName, values)); } *************** *** 89,93 **** _expectedList.addActual(new StartTableEvent(metaData, false)); _actualTableName = metaData.getTableName(); - _actualTableRow = 0; } --- 94,97 ---- *************** *** 96,100 **** _expectedList.addActual(new EndTableEvent(_actualTableName)); _actualTableName = null; - _actualTableRow = 0; } --- 100,103 ---- *************** *** 102,107 **** { _expectedList.addActual( ! new RowEvent(_actualTableName, _actualTableRow, values)); ! _actualTableRow++; } --- 105,109 ---- { _expectedList.addActual( ! new RowEvent(_actualTableName, values)); } *************** *** 237,248 **** { private final String _tableName; - private final int _row; private final Object[] _values; ! public RowEvent(String tableName, int row, Object[] values) { super("row()"); _tableName = tableName; - _row = row; _values = values; } --- 239,248 ---- { private final String _tableName; private final Object[] _values; ! public RowEvent(String tableName, Object[] values) { super("row()"); _tableName = tableName; _values = values; } *************** *** 256,260 **** final RowEvent rowItem = (RowEvent)o; - if (_row != rowItem._row) return false; if (!_tableName.equals(rowItem._tableName)) return false; // Probably incorrect - comparing Object[] arrays with Arrays.equals --- 256,259 ---- *************** *** 268,272 **** int result = super.hashCode(); result = 29 * result + _tableName.hashCode(); - result = 29 * result + _row; return result; } --- 267,270 ---- *************** *** 274,279 **** public String toString() { ! return _name + ": table=" + _tableName + ", row=" + _row + ! ", values=" + Arrays.asList(_values); } --- 272,276 ---- public String toString() { ! return _name + ": table=" + _tableName + ", values=" + Arrays.asList(_values); } --- AbstractDataSetProducerTest.java DELETED --- |
From: <mla...@us...> - 2003-04-30 21:13:26
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/xml In directory sc8-pr-cvs1:/tmp/cvs-serv15860/src/java/org/dbunit/dataset/xml Modified Files: Tag: branch-exml2sax FlatDtdDataSet.java FlatDtdProducer.java FlatXmlProducer.java Log Message: * Removed dtdparser.jar. Now use SAX to parse DTD. * Added more flat XML provider tests. Index: FlatDtdDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/xml/FlatDtdDataSet.java,v retrieving revision 1.7 retrieving revision 1.7.2.1 diff -C2 -d -r1.7 -r1.7.2.1 *** FlatDtdDataSet.java 9 Apr 2003 22:52:10 -0000 1.7 --- FlatDtdDataSet.java 30 Apr 2003 21:12:49 -0000 1.7.2.1 *************** *** 12,29 **** import org.dbunit.dataset.*; - import org.dbunit.dataset.datatype.DataType; ! import com.wutka.dtd.DTD; ! import com.wutka.dtd.DTDAttlist; ! import com.wutka.dtd.DTDAttribute; ! import com.wutka.dtd.DTDContainer; ! import com.wutka.dtd.DTDDecl; ! import com.wutka.dtd.DTDItem; ! import com.wutka.dtd.DTDName; ! import com.wutka.dtd.DTDParser; import java.io.IOException; import java.io.InputStream; - import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; --- 12,20 ---- import org.dbunit.dataset.*; ! import org.xml.sax.InputSource; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; *************** *** 36,40 **** import java.util.List; import java.util.Map; - import java.util.Vector; /** --- 27,30 ---- *************** *** 42,85 **** * @version $Revision$ */ ! public class FlatDtdDataSet extends AbstractDataSet { private static final List EMPTY_LIST = Arrays.asList(new Object[0]); private final List _tableNames = new ArrayList(); private final Map _tableMap = new HashMap(); /** * @deprecated Use Reader overload instead */ ! public FlatDtdDataSet(InputStream in) throws IOException { ! this(new InputStreamReader(in)); } ! public FlatDtdDataSet(Reader in) throws IOException { ! DTDParser dtdParser = new DTDParser(in); ! DTD dtd = dtdParser.parse(true); ! ! // table names ! DTDContainer contents = (DTDContainer)dtd.rootElement.getContent(); ! DTDItem[] items = contents.getItems(); ! ! for (int i = 0; i < items.length; i++) ! { ! DTDName tableName = (DTDName)items[i]; ! _tableNames.add(tableName.getValue()); ! } ! // table metadata ! Vector attrLists = dtd.getItemsByType(DTDAttlist.class); ! for (int i = 0; i < attrLists.size(); i++) ! { ! DTDAttlist attrList = (DTDAttlist)attrLists.elementAt(i); ! if (_tableNames.contains(attrList.getName())) ! { ! _tableMap.put(attrList.getName(), new DefaultTable( ! createTableMetaData(attrList), EMPTY_LIST)); ! } ! } } --- 32,64 ---- * @version $Revision$ */ ! public class FlatDtdDataSet extends AbstractDataSet implements IDataSetConsumer { private static final List EMPTY_LIST = Arrays.asList(new Object[0]); + private final List _tableNames = new ArrayList(); private final Map _tableMap = new HashMap(); + private boolean _ready = false; + + public FlatDtdDataSet() + { + } /** * @deprecated Use Reader overload instead */ ! public FlatDtdDataSet(InputStream in) throws DataSetException, IOException { ! this(new FlatDtdProducer(new InputSource(in))); } ! public FlatDtdDataSet(Reader reader) throws DataSetException, IOException { ! this(new FlatDtdProducer(new InputSource(reader))); ! } ! public FlatDtdDataSet(IDataSetProducer producer) throws DataSetException ! { ! producer.setConsumer(this); ! producer.produce(); } *************** *** 151,170 **** } - private ITableMetaData createTableMetaData(DTDAttlist attrList) - { - DTDAttribute[] attributes = attrList.getAttribute(); - Column[] columns = new Column[attributes.length]; - for (int i = 0; i < attributes.length; i++) - { - DTDAttribute attribute = attributes[i]; - Column.Nullable nullable = (attribute.getDecl() == DTDDecl.REQUIRED) ? - Column.NO_NULLS : Column.NULLABLE; - columns[i] = new Column(attribute.getName(), DataType.UNKNOWN, - nullable); - } - - return new DefaultTableMetaData(attrList.getName(), columns); - } - //////////////////////////////////////////////////////////////////////////// // AbstractDataSet class --- 130,133 ---- *************** *** 173,176 **** --- 136,145 ---- throws DataSetException { + // Verify producer notifications completed + if (!_ready) + { + throw new IllegalStateException("Not ready!"); + } + String[] names = (String[])_tableNames.toArray(new String[0]); ITable[] tables = new ITable[names.length]; *************** *** 195,200 **** --- 164,241 ---- public String[] getTableNames() throws DataSetException { + // Verify producer notifications completed + if (!_ready) + { + throw new IllegalStateException("Not ready!"); + } + return (String[])_tableNames.toArray(new String[0]); } + + public ITableMetaData getTableMetaData(String tableName) throws DataSetException + { + // Verify producer notifications completed + if (!_ready) + { + throw new IllegalStateException("Not ready!"); + } + + String upperTableName = tableName.toUpperCase(); + if (_tableMap.containsKey(upperTableName)) + { + ITable table = (ITable)_tableMap.get(upperTableName); + return table.getTableMetaData(); + } + + throw new NoSuchTableException(tableName); + } + + public ITable getTable(String tableName) throws DataSetException + { + // Verify producer notifications completed + if (!_ready) + { + throw new IllegalStateException("Not ready!"); + } + + String upperTableName = tableName.toUpperCase(); + if (_tableMap.containsKey(upperTableName)) + { + return (ITable)_tableMap.get(upperTableName); + } + + throw new NoSuchTableException(tableName); + } + + //////////////////////////////////////////////////////////////////////// + // IDataSetConsumer interface + + public void startDataSet() throws DataSetException + { + _ready = false; + } + + public void endDataSet() throws DataSetException + { + _ready = true; + } + + public void startTable(ITableMetaData metaData) throws DataSetException + { + String tableName = metaData.getTableName(); + _tableNames.add(tableName); + _tableMap.put(tableName.toUpperCase(), new DefaultTable(metaData, EMPTY_LIST)); + } + + public void endTable() throws DataSetException + { + // no op + } + + public void row(Object[] values) throws DataSetException + { + // no op + } + } Index: FlatDtdProducer.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/xml/Attic/FlatDtdProducer.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** FlatDtdProducer.java 30 Apr 2003 02:17:00 -0000 1.1.2.2 --- FlatDtdProducer.java 30 Apr 2003 21:12:50 -0000 1.1.2.3 *************** *** 23,30 **** import org.dbunit.dataset.Column; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.DefaultTableMetaData; import org.dbunit.dataset.IDataSetConsumer; import org.dbunit.dataset.IDataSetProducer; - import org.dbunit.dataset.DefaultConsumer; import org.dbunit.dataset.datatype.DataType; --- 23,30 ---- import org.dbunit.dataset.Column; import org.dbunit.dataset.DataSetException; + import org.dbunit.dataset.DefaultConsumer; import org.dbunit.dataset.DefaultTableMetaData; import org.dbunit.dataset.IDataSetConsumer; import org.dbunit.dataset.IDataSetProducer; import org.dbunit.dataset.datatype.DataType; *************** *** 57,62 **** { private static final IDataSetConsumer EMPTY_CONSUMER = new DefaultConsumer(); private static final String XML_CONTENT = ! "<?xml version=\"1.0\"?>\n<!DOCTYPE dataset SYSTEM \"urn:/dummy.dtd\">\n<dataset/>"; private static final String DECL_HANDLER_PROPERTY_NAME = "http://xml.org/sax/properties/declaration-handler"; --- 57,65 ---- { private static final IDataSetConsumer EMPTY_CONSUMER = new DefaultConsumer(); + private static final String XML_CONTENT = ! "<?xml version=\"1.0\"?>" + ! "<!DOCTYPE dataset SYSTEM \"urn:/dummy.dtd\">" + ! "<dataset/>"; private static final String DECL_HANDLER_PROPERTY_NAME = "http://xml.org/sax/properties/declaration-handler"; *************** *** 95,98 **** --- 98,106 ---- } + private List createColumnList() + { + return new LinkedList(); + } + //////////////////////////////////////////////////////////////////////////// // IDataSetProducer interface *************** *** 150,157 **** _rootModel = model; } ! // Other elements ! else { ! _columnListMap.put(name, new LinkedList()); } } --- 158,164 ---- _rootModel = model; } ! else if (!_columnListMap.containsKey(name)) { ! _columnListMap.put(name, createColumnList()); } } *************** *** 165,168 **** --- 172,179 ---- Column column = new Column(attributeName, DataType.UNKNOWN, nullable); + if (!_columnListMap.containsKey(elementName)) + { + _columnListMap.put(elementName, createColumnList()); + } List columnList = (List)_columnListMap.get(elementName); columnList.add(column); Index: FlatXmlProducer.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/xml/Attic/FlatXmlProducer.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 *** FlatXmlProducer.java 30 Apr 2003 00:27:46 -0000 1.1.2.1 --- FlatXmlProducer.java 30 Apr 2003 21:12:50 -0000 1.1.2.2 *************** *** 21,25 **** package org.dbunit.dataset.xml; - import org.dbunit.dataset.CachedDataSet; import org.dbunit.dataset.Column; import org.dbunit.dataset.DataSetException; --- 21,24 ---- *************** *** 29,32 **** --- 28,32 ---- import org.dbunit.dataset.IDataSetProducer; import org.dbunit.dataset.ITableMetaData; + import org.dbunit.dataset.DefaultConsumer; import org.dbunit.dataset.datatype.DataType; *************** *** 36,39 **** --- 36,40 ---- import org.xml.sax.SAXException; import org.xml.sax.XMLReader; + import org.xml.sax.EntityResolver; import org.xml.sax.helpers.DefaultHandler; *************** *** 52,63 **** implements IDataSetProducer, ContentHandler { private static final String DATASET = "dataset"; private final InputSource _inputSource; private XMLReader _xmlReader; private IDataSet _metaDataSet; - boolean _ignoreDtd = false; ! private IDataSetConsumer _consumer; private ITableMetaData _activeMetaData; --- 53,66 ---- implements IDataSetProducer, ContentHandler { + private static final IDataSetConsumer EMPTY_CONSUMER = new DefaultConsumer(); private static final String DATASET = "dataset"; private final InputSource _inputSource; + private final EntityResolver _resolver; + private final boolean _ignoreDtd; private XMLReader _xmlReader; private IDataSet _metaDataSet; ! private IDataSetConsumer _consumer = EMPTY_CONSUMER; private ITableMetaData _activeMetaData; *************** *** 65,68 **** --- 68,73 ---- { _inputSource = xmlSource; + _ignoreDtd = false; + _resolver = this; } *************** *** 71,74 **** --- 76,80 ---- _inputSource = xmlSource; _ignoreDtd = ignoreDtd; + _resolver = this; } *************** *** 78,81 **** --- 84,95 ---- _metaDataSet = metaDataSet; _ignoreDtd = true; + _resolver = this; + } + + public FlatXmlProducer(InputSource xmlSource, EntityResolver resolver) + { + _inputSource = xmlSource; + _ignoreDtd = false; + _resolver = resolver; } *************** *** 131,135 **** _xmlReader.setContentHandler(this); ! _xmlReader.setEntityResolver(this); _xmlReader.parse(_inputSource); } --- 145,149 ---- _xmlReader.setContentHandler(this); ! _xmlReader.setEntityResolver(_resolver); _xmlReader.parse(_inputSource); } *************** *** 249,253 **** { // Cache the DTD content to use it as metadata ! CachedDataSet metaDataSet = new CachedDataSet(); this.setConsumer(metaDataSet); _metaDataSet = metaDataSet; --- 263,267 ---- { // Cache the DTD content to use it as metadata ! FlatDtdDataSet metaDataSet = new FlatDtdDataSet(); this.setConsumer(metaDataSet); _metaDataSet = metaDataSet; |
From: <mla...@us...> - 2003-04-30 21:13:23
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv15860/src/java/org/dbunit/dataset Modified Files: Tag: branch-exml2sax CachedDataSet.java Log Message: * Removed dtdparser.jar. Now use SAX to parse DTD. * Added more flat XML provider tests. Index: CachedDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/Attic/CachedDataSet.java,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -C2 -d -r1.1.2.4 -r1.1.2.5 *** CachedDataSet.java 30 Apr 2003 00:27:45 -0000 1.1.2.4 --- CachedDataSet.java 30 Apr 2003 21:12:48 -0000 1.1.2.5 *************** *** 52,59 **** } ! public CachedDataSet(IDataSetProducer provider) throws DataSetException { ! provider.setConsumer(this); ! provider.produce(); } --- 52,59 ---- } ! public CachedDataSet(IDataSetProducer producer) throws DataSetException { ! producer.setConsumer(this); ! producer.produce(); } |
From: <mla...@us...> - 2003-04-30 21:13:22
|
Update of /cvsroot/dbunit/dbunit/src/dtd In directory sc8-pr-cvs1:/tmp/cvs-serv15860/src/dtd Modified Files: Tag: branch-exml2sax flatDtdProducerTest.dtd Log Message: * Removed dtdparser.jar. Now use SAX to parse DTD. * Added more flat XML provider tests. Index: flatDtdProducerTest.dtd =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/dtd/Attic/flatDtdProducerTest.dtd,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** flatDtdProducerTest.dtd 30 Apr 2003 02:17:02 -0000 1.1.2.1 --- flatDtdProducerTest.dtd 30 Apr 2003 21:12:47 -0000 1.1.2.2 *************** *** 4,7 **** --- 4,8 ---- TEST_TABLE*, DUPLICATE_TABLE*, + NOT_NULL_TABLE*, EMPTY_TABLE*)> *************** *** 30,38 **** > ! <!ELEMENT EMPTY_TABLE EMPTY> ! <!ATTLIST EMPTY_TABLE COLUMN0 CDATA #REQUIRED COLUMN1 CDATA #REQUIRED COLUMN2 CDATA #REQUIRED COLUMN3 CDATA #REQUIRED ! > \ No newline at end of file --- 31,47 ---- > ! <!ELEMENT NOT_NULL_TABLE EMPTY> ! <!ATTLIST NOT_NULL_TABLE COLUMN0 CDATA #REQUIRED COLUMN1 CDATA #REQUIRED COLUMN2 CDATA #REQUIRED COLUMN3 CDATA #REQUIRED ! > ! ! <!ELEMENT EMPTY_TABLE EMPTY> ! <!ATTLIST EMPTY_TABLE ! COLUMN0 CDATA #IMPLIED ! COLUMN1 CDATA #IMPLIED ! COLUMN2 CDATA #IMPLIED ! COLUMN3 CDATA #IMPLIED ! > |
From: <mla...@us...> - 2003-04-30 21:13:00
|
Update of /cvsroot/dbunit/dbunit/lib In directory sc8-pr-cvs1:/tmp/cvs-serv15860/lib Removed Files: Tag: branch-exml2sax dtdparser.jar Log Message: * Removed dtdparser.jar. Now use SAX to parse DTD. * Added more flat XML provider tests. --- dtdparser.jar DELETED --- |
From: <mla...@us...> - 2003-04-30 21:12:59
|
Update of /cvsroot/dbunit/dbunit/src/xml In directory sc8-pr-cvs1:/tmp/cvs-serv15860/src/xml Added Files: Tag: branch-exml2sax flatXmlProducerTest.xml Log Message: * Removed dtdparser.jar. Now use SAX to parse DTD. * Added more flat XML provider tests. --- NEW FILE: flatXmlProducerTest.xml --- <!DOCTYPE dataset SYSTEM "../dtd/flatDtdProducerTest.dtd"> <dataset> <DUPLICATE_TABLE COLUMN0="row 0 col 0" COLUMN1="row 0 col 1" COLUMN2="row 0 col 2" COLUMN3="row 0 col 3"/> <SECOND_TABLE COLUMN0="row 0 col 0" COLUMN1="row 0 col 1" COLUMN2="row 0 col 2" COLUMN3="row 0 col 3"/> <SECOND_TABLE COLUMN0="row 1 col 0" COLUMN1="row 1 col 1" COLUMN2="row 1 col 2" COLUMN3="row 1 col 3"/> <TEST_TABLE COLUMN0="row 0 col 0" COLUMN1="row 0 col 1" COLUMN2="row 0 col 2" COLUMN3="row 0 col 3"/> <TEST_TABLE COLUMN0="row 1 col 0" COLUMN1="row 1 col 1" COLUMN2="row 1 col 2" COLUMN3="row 1 col 3"/> <TEST_TABLE COLUMN0="row 2 col 0" COLUMN1="row 2 col 1" COLUMN2="row 2 col 2" COLUMN3="row 2 col 3"/> <DUPLICATE_TABLE COLUMN0="row 0 col 0" COLUMN1="row 0 col 1" COLUMN2="row 0 col 2" COLUMN3="row 0 col 3"/> <DUPLICATE_TABLE COLUMN0="row 1 col 0" COLUMN1="row 1 col 1" COLUMN2="row 1 col 2" COLUMN3="row 1 col 3"/> <NOT_NULL_TABLE COLUMN0="row 0 col 0" COLUMN1="row 0 col 1" COLUMN2="row 0 col 2" COLUMN3="row 0 col 3"/> <EMPTY_TABLE/> </dataset> |
From: <mla...@us...> - 2003-04-30 02:17:34
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv8945/src/java/org/dbunit/dataset Modified Files: Tag: branch-exml2sax Column.java Added Files: Tag: branch-exml2sax DefaultConsumer.java Log Message: Added flat DTD producer tests. --- NEW FILE: DefaultConsumer.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; /** * This class provides no op implementations for all of the callbacks in the * {@link IDataSetConsumer} interface. * * @author Manuel Laflamme * @since Apr 29, 2003 * @version $Revision: 1.1.2.1 $ */ public class DefaultConsumer implements IDataSetConsumer { public void startDataSet() throws DataSetException { // no op } public void endDataSet() throws DataSetException { // no op } public void startTable(ITableMetaData metaData) throws DataSetException { // no op } public void endTable() throws DataSetException { // no op } public void row(Object[] values) throws DataSetException { // no op } } Index: Column.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/Column.java,v retrieving revision 1.10.6.1 retrieving revision 1.10.6.2 diff -C2 -d -r1.10.6.1 -r1.10.6.2 *** Column.java 29 Apr 2003 21:27:01 -0000 1.10.6.1 --- Column.java 30 Apr 2003 02:16:59 -0000 1.10.6.2 *************** *** 150,153 **** --- 150,163 ---- } + /** + * Returns the appropriate Nullable constant. + * + * @param nullable <code>true</code> if null is allowed + */ + public static Nullable nullableValue(boolean nullable) + { + return nullable ? NULLABLE : NO_NULLS; + } + //////////////////////////////////////////////////////////////////////////// // Object class |
From: <mla...@us...> - 2003-04-30 02:17:05
|
Update of /cvsroot/dbunit/dbunit/src/dtd In directory sc8-pr-cvs1:/tmp/cvs-serv8945/src/dtd Added Files: Tag: branch-exml2sax flatDtdProducerTest.dtd Log Message: Added flat DTD producer tests. --- NEW FILE: flatDtdProducerTest.dtd --- <!ELEMENT dataset ( DUPLICATE_TABLE*, SECOND_TABLE*, TEST_TABLE*, DUPLICATE_TABLE*, EMPTY_TABLE*)> <!ELEMENT TEST_TABLE EMPTY> <!ATTLIST TEST_TABLE COLUMN0 CDATA #IMPLIED COLUMN1 CDATA #IMPLIED COLUMN2 CDATA #IMPLIED COLUMN3 CDATA #IMPLIED > <!ELEMENT SECOND_TABLE EMPTY> <!ATTLIST SECOND_TABLE COLUMN0 CDATA #IMPLIED COLUMN1 CDATA #IMPLIED COLUMN2 CDATA #IMPLIED COLUMN3 CDATA #IMPLIED > <!ELEMENT DUPLICATE_TABLE EMPTY> <!ATTLIST DUPLICATE_TABLE COLUMN0 CDATA #IMPLIED COLUMN1 CDATA #IMPLIED COLUMN2 CDATA #IMPLIED COLUMN3 CDATA #IMPLIED > <!ELEMENT EMPTY_TABLE EMPTY> <!ATTLIST EMPTY_TABLE COLUMN0 CDATA #REQUIRED COLUMN1 CDATA #REQUIRED COLUMN2 CDATA #REQUIRED COLUMN3 CDATA #REQUIRED > |
From: <mla...@us...> - 2003-04-30 02:17:05
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml In directory sc8-pr-cvs1:/tmp/cvs-serv8945/src/test/org/dbunit/dataset/xml Modified Files: Tag: branch-exml2sax AllTests.java Added Files: Tag: branch-exml2sax FlatDtdProducerTest.java Log Message: Added flat DTD producer tests. --- NEW FILE: FlatDtdProducerTest.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.xml; import org.dbunit.dataset.AbstractDataSetProducerTest; import org.dbunit.dataset.Column; import org.dbunit.dataset.IDataSetProducer; import org.dbunit.dataset.MockDataSetConsumer; import org.xml.sax.InputSource; import java.io.File; import java.io.FileInputStream; import java.io.StringReader; /** * @author Manuel Laflamme * @since Apr 29, 2003 * @version $Revision: 1.1.2.1 $ */ public class FlatDtdProducerTest extends AbstractDataSetProducerTest { private static final File DTD_FILE = new File("src/dtd/flatDtdProducerTest.dtd"); public FlatDtdProducerTest(String s) { super(s); } protected IDataSetProducer createProducer() throws Exception { InputSource source = new InputSource(new FileInputStream(DTD_FILE)); return new FlatDtdProducer(source); } public void testProduce() throws Exception { // Setup consumer MockDataSetConsumer consumer = new MockDataSetConsumer(); consumer.addExpectedStartDataSet(); String[] expectedNames = getExpectedNames(); for (int i = 0; i < expectedNames.length; i++) { // All tables except the one have nullable columns boolean nullable = (i + 1 < expectedNames.length); Column[] expectedColumns = createExpectedColumns(nullable); String expectedName = expectedNames[i]; consumer.addExpectedStartTable(expectedName, expectedColumns); consumer.addExpectedEndTable(expectedName); } consumer.addExpectedEndDataSet(); // Setup producer IDataSetProducer producer = createProducer(); producer.setConsumer(consumer); // Produce and verify consumer producer.produce(); consumer.verify(); } public void testProduceWithoutConsumer() throws Exception { IDataSetProducer producer = createProducer(); producer.produce(); } public void testSequenceModel() throws Exception { // Setup consumer MockDataSetConsumer consumer = new MockDataSetConsumer(); consumer.addExpectedStartDataSet(); consumer.addExpectedEmptyTableIgnoreColumns("DUPLICATE_TABLE"); consumer.addExpectedEmptyTableIgnoreColumns("TEST_TABLE"); consumer.addExpectedEmptyTableIgnoreColumns("DUPLICATE_TABLE"); consumer.addExpectedEndDataSet(); // Setup producer String content = "<!ELEMENT dataset (DUPLICATE_TABLE*,TEST_TABLE*,DUPLICATE_TABLE*)>" + "<!ELEMENT TEST_TABLE EMPTY>" + "<!ELEMENT DUPLICATE_TABLE EMPTY>"; InputSource source = new InputSource(new StringReader(content)); FlatDtdProducer producer = new FlatDtdProducer(source); producer.setConsumer(consumer); // Produce and verify consumer producer.produce(); consumer.verify(); } public void testChoicesModel() throws Exception { // Setup consumer MockDataSetConsumer consumer = new MockDataSetConsumer(); consumer.addExpectedStartDataSet(); consumer.addExpectedEmptyTableIgnoreColumns("TEST_TABLE"); consumer.addExpectedEmptyTableIgnoreColumns("SECOND_TABLE"); consumer.addExpectedEndDataSet(); // Setup producer String content = "<!ELEMENT dataset (TEST_TABLE|SECOND_TABLE)>" + "<!ELEMENT TEST_TABLE EMPTY>" + "<!ELEMENT SECOND_TABLE EMPTY>"; InputSource source = new InputSource(new StringReader(content)); FlatDtdProducer producer = new FlatDtdProducer(source); producer.setConsumer(consumer); // Produce and verify consumer producer.produce(); consumer.verify(); } } Index: AllTests.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml/AllTests.java,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -C2 -d -r1.6 -r1.6.2.1 *** AllTests.java 13 Apr 2003 02:40:11 -0000 1.6 --- AllTests.java 30 Apr 2003 02:17:02 -0000 1.6.2.1 *************** *** 36,39 **** --- 36,40 ---- TestSuite suite = new TestSuite(); suite.addTest(new TestSuite(FlatDtdDataSetTest.class)); + suite.addTest(new TestSuite(FlatDtdProducerTest.class)); suite.addTest(new TestSuite(FlatXmlDataSetTest.class)); suite.addTest(new TestSuite(FlatXmlTableTest.class)); |
From: <mla...@us...> - 2003-04-30 02:17:05
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv8945/src/test/org/dbunit/dataset Modified Files: Tag: branch-exml2sax MockDataSetConsumer.java Added Files: Tag: branch-exml2sax AbstractDataSetProducerTest.java Log Message: Added flat DTD producer tests. --- NEW FILE: AbstractDataSetProducerTest.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; import org.dbunit.dataset.datatype.DataType; import junit.framework.TestCase; /** * @author Manuel Laflamme * @since Apr 29, 2003 * @version $Revision: 1.1.2.1 $ */ public abstract class AbstractDataSetProducerTest extends TestCase { private static final String[] TABLE_NAMES = { "DUPLICATE_TABLE", "SECOND_TABLE", "TEST_TABLE", "DUPLICATE_TABLE", "EMPTY_TABLE", }; public AbstractDataSetProducerTest(String s) { super(s); } protected String[] getExpectedNames() throws Exception { return (String[])TABLE_NAMES.clone(); } protected Column[] createExpectedColumns(boolean nullable) throws Exception { Column[] columns = new Column[4]; for (int i = 0; i < columns.length; i++) { columns[i] = new Column("COLUMN" + i, DataType.UNKNOWN, Column.nullableValue(nullable)); } return columns; } public abstract void testProduce() throws Exception; public abstract void testProduceWithoutConsumer() throws Exception; } Index: MockDataSetConsumer.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/Attic/MockDataSetConsumer.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** MockDataSetConsumer.java 30 Apr 2003 00:27:48 -0000 1.1.2.2 --- MockDataSetConsumer.java 30 Apr 2003 02:17:01 -0000 1.1.2.3 *************** *** 1,13 **** package org.dbunit.dataset; - import com.mockobjects.Verifiable; import com.mockobjects.ExpectationList; - import java.util.List; - import java.util.ArrayList; import java.util.Arrays; - import junit.framework.Assert; - /** * --- 1,9 ---- package org.dbunit.dataset; import com.mockobjects.ExpectationList; + import com.mockobjects.Verifiable; import java.util.Arrays; /** * *************** *** 39,43 **** public void addExpectedStartTable(ITableMetaData metaData) throws Exception { ! _expectedList.addExpected(new StartTableEvent(metaData)); } --- 35,39 ---- public void addExpectedStartTable(ITableMetaData metaData) throws Exception { ! _expectedList.addExpected(new StartTableEvent(metaData, false)); } *************** *** 47,50 **** --- 43,57 ---- } + public void addExpectedStartTableIgnoreColumns(String tableName) throws Exception + { + _expectedList.addExpected(new StartTableEvent(tableName, true)); + } + + public void addExpectedEmptyTableIgnoreColumns(String tableName) throws Exception + { + addExpectedStartTableIgnoreColumns(tableName); + addExpectedEndTable(tableName); + } + public void addExpectedEndTable(String tableName) throws Exception { *************** *** 80,84 **** public void startTable(ITableMetaData metaData) throws DataSetException { ! _expectedList.addActual(new StartTableEvent(metaData)); _actualTableName = metaData.getTableName(); _actualTableRow = 0; --- 87,91 ---- public void startTable(ITableMetaData metaData) throws DataSetException { ! _expectedList.addActual(new StartTableEvent(metaData, false)); _actualTableName = metaData.getTableName(); _actualTableRow = 0; *************** *** 138,147 **** private final String _tableName; private final Column[] _columns; ! public StartTableEvent(ITableMetaData metaData) throws DataSetException { super("startTable()"); _tableName = metaData.getTableName(); _columns = metaData.getColumns(); } --- 145,164 ---- private final String _tableName; private final Column[] _columns; + private final boolean _ignoreColumns; ! public StartTableEvent(ITableMetaData metaData, boolean ignoreColumns) throws DataSetException { super("startTable()"); _tableName = metaData.getTableName(); _columns = metaData.getColumns(); + _ignoreColumns = ignoreColumns; + } + + public StartTableEvent(String tableName, boolean ignoreColumns) throws DataSetException + { + super("startTable()"); + _tableName = tableName; + _columns = new Column[0]; + _ignoreColumns = ignoreColumns; } *************** *** 154,159 **** final StartTableEvent startTableItem = (StartTableEvent)o; - if (!Arrays.equals(_columns, startTableItem._columns)) return false; if (!_tableName.equals(startTableItem._tableName)) return false; return true; --- 171,179 ---- final StartTableEvent startTableItem = (StartTableEvent)o; if (!_tableName.equals(startTableItem._tableName)) return false; + if (!_ignoreColumns) + { + if (!Arrays.equals(_columns, startTableItem._columns)) return false; + } return true; *************** *** 169,173 **** public String toString() { ! return _name + ": table=" + _tableName + ", columns=" + Arrays.asList(_columns); } } --- 189,198 ---- public String toString() { ! String string = _name + ": table=" + _tableName; ! if (!_ignoreColumns) ! { ! string += ", columns=" + Arrays.asList(_columns); ! } ! return string; } } |
From: <mla...@us...> - 2003-04-30 02:17:04
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/xml In directory sc8-pr-cvs1:/tmp/cvs-serv8945/src/java/org/dbunit/dataset/xml Modified Files: Tag: branch-exml2sax FlatDtdProducer.java Log Message: Added flat DTD producer tests. Index: FlatDtdProducer.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/xml/Attic/FlatDtdProducer.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 *** FlatDtdProducer.java 30 Apr 2003 00:27:46 -0000 1.1.2.1 --- FlatDtdProducer.java 30 Apr 2003 02:17:00 -0000 1.1.2.2 *************** *** 26,29 **** --- 26,30 ---- import org.dbunit.dataset.IDataSetConsumer; import org.dbunit.dataset.IDataSetProducer; + import org.dbunit.dataset.DefaultConsumer; import org.dbunit.dataset.datatype.DataType; *************** *** 55,58 **** --- 56,60 ---- public class FlatDtdProducer implements IDataSetProducer, EntityResolver, DeclHandler, LexicalHandler { + private static final IDataSetConsumer EMPTY_CONSUMER = new DefaultConsumer(); private static final String XML_CONTENT = "<?xml version=\"1.0\"?>\n<!DOCTYPE dataset SYSTEM \"urn:/dummy.dtd\">\n<dataset/>"; *************** *** 66,70 **** private InputSource _inputSource; ! private IDataSetConsumer _consumer; private String _rootName; --- 68,72 ---- private InputSource _inputSource; ! private IDataSetConsumer _consumer = EMPTY_CONSUMER; private String _rootName; *************** *** 205,211 **** // Parse the root element model to determine the table sequence. ! // This implementation does not support choices yet and will never ! // support mixed model. ! StringTokenizer tokenizer = new StringTokenizer(rootModel, ","); while (tokenizer.hasMoreTokens()) { --- 207,213 ---- // Parse the root element model to determine the table sequence. ! // Support all sequence or choices model but not the mix of both. ! String delim = (rootModel.indexOf(",") != -1) ? "," : "|"; ! StringTokenizer tokenizer = new StringTokenizer(rootModel, delim); while (tokenizer.hasMoreTokens()) { |
From: <mla...@us...> - 2003-04-30 00:56:33
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml In directory sc8-pr-cvs1:/tmp/cvs-serv9273/src/test/org/dbunit/dataset/xml Added Files: Tag: branch-exml2sax FlatXmlTableWriteTest.java Removed Files: Tag: branch-exml2sax FlatXmlDataSetProviderTest.java Log Message: Oups! Deleted the wrong file. --- FlatXmlDataSetProviderTest.java DELETED --- |
From: <mla...@us...> - 2003-04-30 00:28:21
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv30700/src/java/org/dbunit/dataset Modified Files: Tag: branch-exml2sax CachedDataSet.java CompositeDataSet.java StreamingDataSet.java StreamingIterator.java Added Files: Tag: branch-exml2sax DataSetProducerAdapter.java IDataSetProducer.java Removed Files: Tag: branch-exml2sax DefaultDataSetProvider.java IDataSetProvider.java Log Message: More class renaming. Renamed IDataSetProvider to IDataSetProducer. Subclasses have also been renamed to follow the same pattern. My initial intent to rename Source to Producer but for some strange reasons this ended up as Provider. Are you confused? Me I was! --- NEW FILE: DataSetProducerAdapter.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; import org.dbunit.dataset.ITableIterator; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.ITableMetaData; import org.dbunit.dataset.ITable; import org.dbunit.dataset.Column; import org.dbunit.dataset.RowOutOfBoundsException; import org.dbunit.dataset.IDataSet; /** * @author Manuel Laflamme * @since Apr 17, 2003 * @version $Revision: 1.1.2.1 $ */ public class DataSetProducerAdapter implements IDataSetProducer { private final ITableIterator _iterator; private IDataSetConsumer _consumer; public DataSetProducerAdapter(ITableIterator iterator) { _iterator = iterator; } public DataSetProducerAdapter(IDataSet dataSet) throws DataSetException { _iterator = dataSet.iterator(); } //////////////////////////////////////////////////////////////////////////// // IDataSetProducer interface public void setConsumer(IDataSetConsumer consumer) throws DataSetException { _consumer = consumer; } public void produce() throws DataSetException { _consumer.startDataSet(); while(_iterator.next()) { ITable table = _iterator.getTable(); ITableMetaData metaData = table.getTableMetaData(); _consumer.startTable(metaData); try { Column[] columns = metaData.getColumns(); if (columns.length == 0) { _consumer.endTable(); continue; } for (int i = 0; ; i++) { Object[] values = new Object[columns.length]; for (int j = 0; j < columns.length; j++) { Column column = columns[j]; values[j] = table.getValue(i, column.getColumnName()); } _consumer.row(values); } } catch (RowOutOfBoundsException e) { // end of table _consumer.endTable(); } } _consumer.endDataSet(); } } --- NEW FILE: IDataSetProducer.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; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.IDataSetConsumer; /** * Interface for reading a dataset using callback. * * @author Manuel Laflamme * @since Apr 17, 2003 * @version $Revision: 1.1.2.1 $ */ public interface IDataSetProducer { public void setConsumer(IDataSetConsumer consumer) throws DataSetException; /** * Process this dataset source. During the processing, the IDataSetProducer * will provide information about the dataset through the specified event * listener. * <p> * This method is synchronous: it will not return until processing has ended. * If a client application wants to terminate parsing early, it should * throw an exception from the listener. */ public void produce() throws DataSetException; } Index: CachedDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/Attic/CachedDataSet.java,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -C2 -d -r1.1.2.3 -r1.1.2.4 *** CachedDataSet.java 28 Apr 2003 21:23:34 -0000 1.1.2.3 --- CachedDataSet.java 30 Apr 2003 00:27:45 -0000 1.1.2.4 *************** *** 52,59 **** } ! public CachedDataSet(IDataSetProvider provider) throws DataSetException { provider.setConsumer(this); ! provider.process(); } --- 52,59 ---- } ! public CachedDataSet(IDataSetProducer provider) throws DataSetException { provider.setConsumer(this); ! provider.produce(); } Index: CompositeDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/CompositeDataSet.java,v retrieving revision 1.12 retrieving revision 1.12.2.1 diff -C2 -d -r1.12 -r1.12.2.1 *** CompositeDataSet.java 9 Apr 2003 22:52:08 -0000 1.12 --- CompositeDataSet.java 30 Apr 2003 00:27:45 -0000 1.12.2.1 *************** *** 128,132 **** List tableList = new ArrayList(); ! // process each table for (int j = 0; j < tables.length; j++) { --- 128,132 ---- List tableList = new ArrayList(); ! // produce each table for (int j = 0; j < tables.length; j++) { Index: StreamingDataSet.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/Attic/StreamingDataSet.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** StreamingDataSet.java 28 Apr 2003 12:11:03 -0000 1.1.2.2 --- StreamingDataSet.java 30 Apr 2003 00:27:45 -0000 1.1.2.3 *************** *** 26,30 **** import org.dbunit.dataset.ITableIterator; import org.dbunit.dataset.ITableMetaData; ! import org.dbunit.dataset.IDataSetProvider; /** --- 26,30 ---- import org.dbunit.dataset.ITableIterator; import org.dbunit.dataset.ITableMetaData; ! import org.dbunit.dataset.IDataSetProducer; /** *************** *** 35,42 **** public class StreamingDataSet extends AbstractDataSet { ! private IDataSetProvider _source; private int _iteratorCount; ! public StreamingDataSet(IDataSetProvider source) { _source = source; --- 35,42 ---- public class StreamingDataSet extends AbstractDataSet { ! private IDataSetProducer _source; private int _iteratorCount; ! public StreamingDataSet(IDataSetProducer source) { _source = source; Index: StreamingIterator.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/Attic/StreamingIterator.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** StreamingIterator.java 28 Apr 2003 12:11:07 -0000 1.1.2.2 --- StreamingIterator.java 30 Apr 2003 00:27:45 -0000 1.1.2.3 *************** *** 29,33 **** import org.dbunit.dataset.RowOutOfBoundsException; import org.dbunit.dataset.IDataSetConsumer; ! import org.dbunit.dataset.IDataSetProvider; import org.dbunit.util.concurrent.BoundedBuffer; --- 29,33 ---- import org.dbunit.dataset.RowOutOfBoundsException; import org.dbunit.dataset.IDataSetConsumer; ! import org.dbunit.dataset.IDataSetProducer; import org.dbunit.util.concurrent.BoundedBuffer; *************** *** 50,54 **** private boolean _eod = false; ! public StreamingIterator(IDataSetProvider source) throws DataSetException { Channel channel = new BoundedBuffer(30); --- 50,54 ---- private boolean _eod = false; ! public StreamingIterator(IDataSetProducer source) throws DataSetException { Channel channel = new BoundedBuffer(30); *************** *** 198,205 **** private static class AsynchronousConsumer implements Runnable, IDataSetConsumer { ! private final IDataSetProvider _producer; private final Puttable _channel; ! public AsynchronousConsumer(IDataSetProvider source, Puttable channel) { _producer = source; --- 198,205 ---- private static class AsynchronousConsumer implements Runnable, IDataSetConsumer { ! private final IDataSetProducer _producer; private final Puttable _channel; ! public AsynchronousConsumer(IDataSetProducer source, Puttable channel) { _producer = source; *************** *** 215,219 **** { _producer.setConsumer(this); ! _producer.process(); // System.out.println("End of thread! - " + System.currentTimeMillis()); } --- 215,219 ---- { _producer.setConsumer(this); ! _producer.produce(); // System.out.println("End of thread! - " + System.currentTimeMillis()); } --- DefaultDataSetProvider.java DELETED --- --- IDataSetProvider.java DELETED --- |
From: <mla...@us...> - 2003-04-30 00:28:20
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/filter In directory sc8-pr-cvs1:/tmp/cvs-serv30700/src/java/org/dbunit/dataset/filter Modified Files: Tag: branch-exml2sax IncludeTableFilter.java Log Message: More class renaming. Renamed IDataSetProvider to IDataSetProducer. Subclasses have also been renamed to follow the same pattern. My initial intent to rename Source to Producer but for some strange reasons this ended up as Provider. Are you confused? Me I was! Index: IncludeTableFilter.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/dataset/filter/IncludeTableFilter.java,v retrieving revision 1.4 retrieving revision 1.4.4.1 diff -C2 -d -r1.4 -r1.4.4.1 *** IncludeTableFilter.java 20 Mar 2003 03:05:13 -0000 1.4 --- IncludeTableFilter.java 30 Apr 2003 00:27:46 -0000 1.4.4.1 *************** *** 207,211 **** } ! // process pattern between stars. padIdxStart and patIdxEnd point // always to a '*'. while (patIdxStart != patIdxEnd && strIdxStart <= strIdxEnd) --- 207,211 ---- } ! // produce pattern between stars. padIdxStart and patIdxEnd point // always to a '*'. while (patIdxStart != patIdxEnd && strIdxStart <= strIdxEnd) |
From: <mla...@us...> - 2003-04-30 00:27:53
|
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/xml In directory sc8-pr-cvs1:/tmp/cvs-serv30700/src/test/org/dbunit/dataset/xml Added Files: Tag: branch-exml2sax FlatXmlProducerTest.java Removed Files: Tag: branch-exml2sax FlatXmlTableWriteTest.java Log Message: More class renaming. Renamed IDataSetProvider to IDataSetProducer. Subclasses have also been renamed to follow the same pattern. My initial intent to rename Source to Producer but for some strange reasons this ended up as Provider. Are you confused? Me I was! --- NEW FILE: FlatXmlProducerTest.java --- package org.dbunit.dataset.xml; import org.dbunit.dataset.CachedDataSet; import org.dbunit.dataset.Column; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable; import org.xml.sax.InputSource; import java.io.File; import java.io.FileInputStream; /** * * <p> Copyright (c) 2002 OZ.COM. All Rights Reserved. </p> * @author manuel.laflamme$ * @since Apr 28, 2003$ * @version $Revision: 1.1.2.1 $ */ public class FlatXmlProducerTest extends FlatXmlDataSetTest { public FlatXmlProducerTest(String s) { super(s); } protected IDataSet createDataSet() throws Exception { InputSource source = new InputSource(new FileInputStream(DATASET_FILE)); return new CachedDataSet(new FlatXmlProducer(source)); } protected IDataSet createDuplicateDataSet() throws Exception { InputSource source = new InputSource(new FileInputStream(DUPLICATE_DATASET_FILE)); return new CachedDataSet(new FlatXmlProducer(source)); } public void testMissingColumnAndEnableDtdMetadata() throws Exception { File file = new File("src/xml/flatXmlTableTest.xml"); InputSource source = new InputSource(file.toURL().toString()); IDataSet dataSet = new CachedDataSet(new FlatXmlProducer(source)); ITable table = dataSet.getTable("MISSING_VALUES"); Column[] columns = table.getTableMetaData().getColumns(); assertEquals("column count", 3, columns.length); } public void testMissingColumnAndDisableDtdMetadata() throws Exception { File file = new File("src/xml/flatXmlTableTest.xml"); InputSource source = new InputSource(file.toURL().toString()); FlatXmlProducer provider = new FlatXmlProducer(source, true); IDataSet dataSet = new CachedDataSet(provider); ITable table = dataSet.getTable("MISSING_VALUES"); Column[] columns = table.getTableMetaData().getColumns(); assertEquals("column count", 2, columns.length); } public void testProduce() throws Exception { } } --- FlatXmlTableWriteTest.java DELETED --- |
From: <mla...@us...> - 2003-04-30 00:27:51
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation In directory sc8-pr-cvs1:/tmp/cvs-serv30700/src/java/org/dbunit/operation Modified Files: Tag: branch-exml2sax AbstractBatchOperation.java RefreshOperation.java Log Message: More class renaming. Renamed IDataSetProvider to IDataSetProducer. Subclasses have also been renamed to follow the same pattern. My initial intent to rename Source to Producer but for some strange reasons this ended up as Provider. Are you confused? Me I was! Index: AbstractBatchOperation.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation/AbstractBatchOperation.java,v retrieving revision 1.18 retrieving revision 1.18.2.1 diff -C2 -d -r1.18 -r1.18.2.1 *** AbstractBatchOperation.java 13 Apr 2003 16:49:58 -0000 1.18 --- AbstractBatchOperation.java 30 Apr 2003 00:27:47 -0000 1.18.2.1 *************** *** 126,130 **** ITable table = iterator.getTable(); ! // Do not process empty table if (isEmpty(table)) { --- 126,130 ---- ITable table = iterator.getTable(); ! // Do not produce empty table if (isEmpty(table)) { Index: RefreshOperation.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/operation/RefreshOperation.java,v retrieving revision 1.25 retrieving revision 1.25.2.1 diff -C2 -d -r1.25 -r1.25.2.1 *** RefreshOperation.java 13 Apr 2003 16:49:58 -0000 1.25 --- RefreshOperation.java 30 Apr 2003 00:27:47 -0000 1.25.2.1 *************** *** 77,81 **** ITable table = iterator.getTable(); ! // Do not process empty table if (isEmpty(table)) { --- 77,81 ---- ITable table = iterator.getTable(); ! // Do not produce empty table if (isEmpty(table)) { |
From: <mla...@us...> - 2003-04-30 00:27:51
|
Update of /cvsroot/dbunit/dbunit/src/java/org/dbunit/util/concurrent In directory sc8-pr-cvs1:/tmp/cvs-serv30700/src/java/org/dbunit/util/concurrent Modified Files: Tag: branch-exml2sax Channel.java Log Message: More class renaming. Renamed IDataSetProvider to IDataSetProducer. Subclasses have also been renamed to follow the same pattern. My initial intent to rename Source to Producer but for some strange reasons this ended up as Provider. Are you confused? Me I was! Index: Channel.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/java/org/dbunit/util/concurrent/Attic/Channel.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 *** Channel.java 23 Apr 2003 02:09:04 -0000 1.1.2.1 --- Channel.java 30 Apr 2003 00:27:47 -0000 1.1.2.2 *************** *** 97,101 **** * Object item = channel.poll(0); * if (item != null) ! * process(item); * else * break; --- 97,101 ---- * Object item = channel.poll(0); * if (item != null) ! * produce(item); * else * break; *************** *** 143,147 **** * // special actions; perhaps terminate * else ! * // process normally * </pre> * <p> --- 143,147 ---- * // special actions; perhaps terminate * else ! * // produce normally * </pre> * <p> |
Update of /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset In directory sc8-pr-cvs1:/tmp/cvs-serv30700/src/test/org/dbunit/dataset Modified Files: Tag: branch-exml2sax CachedDataSetTest.java MockDataSetConsumer.java StreamingDataSetTest.java StreamingTableTest.java Log Message: More class renaming. Renamed IDataSetProvider to IDataSetProducer. Subclasses have also been renamed to follow the same pattern. My initial intent to rename Source to Producer but for some strange reasons this ended up as Provider. Are you confused? Me I was! Index: CachedDataSetTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/Attic/CachedDataSetTest.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** CachedDataSetTest.java 28 Apr 2003 12:11:12 -0000 1.1.2.2 --- CachedDataSetTest.java 30 Apr 2003 00:27:48 -0000 1.1.2.3 *************** *** 22,26 **** import org.dbunit.dataset.xml.FlatXmlDataSet; ! import org.dbunit.dataset.xml.FlatXmlProvider; import org.xml.sax.InputSource; --- 22,26 ---- import org.dbunit.dataset.xml.FlatXmlDataSet; ! import org.dbunit.dataset.xml.FlatXmlProducer; import org.xml.sax.InputSource; *************** *** 43,49 **** { FileReader reader = new FileReader("src/xml/flatXmlDataSetTest.xml"); ! return new CachedDataSet(new FlatXmlProvider(new InputSource(reader))); // return new CachedDataSet( ! // new StreamingDataSet(new FlatXmlProvider(new InputSource(reader)))); // return new CachedDataSet(new ForwardOnlyDataSet(new FlatXmlDataSet(reader))); } --- 43,49 ---- { FileReader reader = new FileReader("src/xml/flatXmlDataSetTest.xml"); ! return new CachedDataSet(new FlatXmlProducer(new InputSource(reader))); // return new CachedDataSet( ! // new StreamingDataSet(new FlatXmlProducer(new InputSource(reader)))); // return new CachedDataSet(new ForwardOnlyDataSet(new FlatXmlDataSet(reader))); } Index: MockDataSetConsumer.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/Attic/MockDataSetConsumer.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 *** MockDataSetConsumer.java 29 Apr 2003 21:27:05 -0000 1.1.2.1 --- MockDataSetConsumer.java 30 Apr 2003 00:27:48 -0000 1.1.2.2 *************** *** 18,23 **** public class MockDataSetConsumer implements Verifiable, IDataSetConsumer { ! private static final Item START_DATASET = new Item("startDataSet()"); ! private static final Item END_DATASET = new Item("endDataSet()"); private final ExpectationList _expectedList = new ExpectationList(""); --- 18,25 ---- public class MockDataSetConsumer implements Verifiable, IDataSetConsumer { ! private static final ProducerEvent START_DATASET_EVENT = ! new ProducerEvent("startDataSet()"); ! private static final ProducerEvent END_DATASET_EVENT = ! new ProducerEvent("endDataSet()"); private final ExpectationList _expectedList = new ExpectationList(""); *************** *** 27,41 **** public void addExpectedStartDataSet() throws Exception { ! _expectedList.addExpected(START_DATASET); } public void addExpectedEndDataSet() throws Exception { ! _expectedList.addExpected(END_DATASET); } public void addExpectedStartTable(ITableMetaData metaData) throws Exception { ! _expectedList.addExpected(new StartTableItem(metaData)); } --- 29,43 ---- public void addExpectedStartDataSet() throws Exception { ! _expectedList.addExpected(START_DATASET_EVENT); } public void addExpectedEndDataSet() throws Exception { ! _expectedList.addExpected(END_DATASET_EVENT); } public void addExpectedStartTable(ITableMetaData metaData) throws Exception { ! _expectedList.addExpected(new StartTableEvent(metaData)); } *************** *** 47,56 **** public void addExpectedEndTable(String tableName) throws Exception { ! _expectedList.addExpected(new EndTableItem(tableName)); } public void addExpectedRow(String tableName, int row, Object[] values) throws Exception { ! _expectedList.addExpected(new RowItem(tableName, row, values)); } --- 49,58 ---- public void addExpectedEndTable(String tableName) throws Exception { ! _expectedList.addExpected(new EndTableEvent(tableName)); } public void addExpectedRow(String tableName, int row, Object[] values) throws Exception { ! _expectedList.addExpected(new RowEvent(tableName, row, values)); } *************** *** 68,82 **** public void startDataSet() throws DataSetException { ! _expectedList.addActual(START_DATASET); } public void endDataSet() throws DataSetException { ! _expectedList.addActual(END_DATASET); } public void startTable(ITableMetaData metaData) throws DataSetException { ! _expectedList.addActual(new StartTableItem(metaData)); _actualTableName = metaData.getTableName(); _actualTableRow = 0; --- 70,84 ---- public void startDataSet() throws DataSetException { ! _expectedList.addActual(START_DATASET_EVENT); } public void endDataSet() throws DataSetException { ! _expectedList.addActual(END_DATASET_EVENT); } public void startTable(ITableMetaData metaData) throws DataSetException { ! _expectedList.addActual(new StartTableEvent(metaData)); _actualTableName = metaData.getTableName(); _actualTableRow = 0; *************** *** 85,89 **** public void endTable() throws DataSetException { ! _expectedList.addActual(new EndTableItem(_actualTableName)); _actualTableName = null; _actualTableRow = 0; --- 87,91 ---- public void endTable() throws DataSetException { ! _expectedList.addActual(new EndTableEvent(_actualTableName)); _actualTableName = null; _actualTableRow = 0; *************** *** 93,97 **** { _expectedList.addActual( ! new RowItem(_actualTableName, _actualTableRow, values)); _actualTableRow++; } --- 95,99 ---- { _expectedList.addActual( ! new RowEvent(_actualTableName, _actualTableRow, values)); _actualTableRow++; } *************** *** 100,108 **** // ! private static class Item { protected final String _name; ! public Item(String name) { _name = name; --- 102,110 ---- // ! private static class ProducerEvent { protected final String _name; ! public ProducerEvent(String name) { _name = name; *************** *** 112,118 **** { if (this == o) return true; ! if (!(o instanceof Item)) return false; ! final Item item = (Item)o; if (!_name.equals(item._name)) return false; --- 114,120 ---- { if (this == o) return true; ! if (!(o instanceof ProducerEvent)) return false; ! final ProducerEvent item = (ProducerEvent)o; if (!_name.equals(item._name)) return false; *************** *** 132,141 **** } ! private static class StartTableItem extends Item { private final String _tableName; private final Column[] _columns; ! public StartTableItem(ITableMetaData metaData) throws DataSetException { super("startTable()"); --- 134,143 ---- } ! private static class StartTableEvent extends ProducerEvent { private final String _tableName; private final Column[] _columns; ! public StartTableEvent(ITableMetaData metaData) throws DataSetException { super("startTable()"); *************** *** 147,154 **** { if (this == o) return true; ! if (!(o instanceof StartTableItem)) return false; if (!super.equals(o)) return false; ! final StartTableItem startTableItem = (StartTableItem)o; if (!Arrays.equals(_columns, startTableItem._columns)) return false; --- 149,156 ---- { if (this == o) return true; ! if (!(o instanceof StartTableEvent)) return false; if (!super.equals(o)) return false; ! final StartTableEvent startTableItem = (StartTableEvent)o; if (!Arrays.equals(_columns, startTableItem._columns)) return false; *************** *** 171,179 **** } ! private static class EndTableItem extends Item { private final String _tableName; ! public EndTableItem(String tableName) { super("endTable()"); --- 173,181 ---- } ! private static class EndTableEvent extends ProducerEvent { private final String _tableName; ! public EndTableEvent(String tableName) { super("endTable()"); *************** *** 184,191 **** { if (this == o) return true; ! if (!(o instanceof EndTableItem)) return false; if (!super.equals(o)) return false; ! final EndTableItem endTableItem = (EndTableItem)o; if (!_tableName.equals(endTableItem._tableName)) return false; --- 186,193 ---- { if (this == o) return true; ! if (!(o instanceof EndTableEvent)) return false; if (!super.equals(o)) return false; ! final EndTableEvent endTableItem = (EndTableEvent)o; if (!_tableName.equals(endTableItem._tableName)) return false; *************** *** 207,211 **** } ! private static class RowItem extends Item { private final String _tableName; --- 209,213 ---- } ! private static class RowEvent extends ProducerEvent { private final String _tableName; *************** *** 213,217 **** private final Object[] _values; ! public RowItem(String tableName, int row, Object[] values) { super("row()"); --- 215,219 ---- private final Object[] _values; ! public RowEvent(String tableName, int row, Object[] values) { super("row()"); *************** *** 224,231 **** { if (this == o) return true; ! if (!(o instanceof RowItem)) return false; if (!super.equals(o)) return false; ! final RowItem rowItem = (RowItem)o; if (_row != rowItem._row) return false; --- 226,233 ---- { if (this == o) return true; ! if (!(o instanceof RowEvent)) return false; if (!super.equals(o)) return false; ! final RowEvent rowItem = (RowEvent)o; if (_row != rowItem._row) return false; Index: StreamingDataSetTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/Attic/StreamingDataSetTest.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** StreamingDataSetTest.java 28 Apr 2003 12:11:13 -0000 1.1.2.2 --- StreamingDataSetTest.java 30 Apr 2003 00:27:48 -0000 1.1.2.3 *************** *** 21,30 **** package org.dbunit.dataset; ! import org.dbunit.dataset.DefaultDataSetProvider; import org.dbunit.dataset.ForwardOnlyDataSetTest; import org.dbunit.dataset.IDataSet; ! import org.dbunit.dataset.IDataSetProvider; import org.dbunit.dataset.StreamingDataSet; ! import org.dbunit.dataset.xml.FlatXmlProvider; import org.xml.sax.InputSource; --- 21,30 ---- package org.dbunit.dataset; ! import org.dbunit.dataset.DataSetProducerAdapter; import org.dbunit.dataset.ForwardOnlyDataSetTest; import org.dbunit.dataset.IDataSet; ! import org.dbunit.dataset.IDataSetProducer; import org.dbunit.dataset.StreamingDataSet; ! import org.dbunit.dataset.xml.FlatXmlProducer; import org.xml.sax.InputSource; *************** *** 46,54 **** protected IDataSet createDataSet() throws Exception { ! IDataSetProvider source = new FlatXmlProvider( new InputSource(new FileReader("src/xml/flatXmlDataSetTest.xml"))); return new StreamingDataSet(source); // return new StreamingDataSet( ! // new DefaultDataSetProvider(super.createDataSet())); } --- 46,54 ---- protected IDataSet createDataSet() throws Exception { ! IDataSetProducer source = new FlatXmlProducer( new InputSource(new FileReader("src/xml/flatXmlDataSetTest.xml"))); return new StreamingDataSet(source); // return new StreamingDataSet( ! // new DataSetProducerAdapter(super.createDataSet())); } *************** *** 56,60 **** { return new StreamingDataSet( ! new DefaultDataSetProvider(super.createDuplicateDataSet())); } } --- 56,60 ---- { return new StreamingDataSet( ! new DataSetProducerAdapter(super.createDuplicateDataSet())); } } Index: StreamingTableTest.java =================================================================== RCS file: /cvsroot/dbunit/dbunit/src/test/org/dbunit/dataset/Attic/StreamingTableTest.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** StreamingTableTest.java 28 Apr 2003 12:11:14 -0000 1.1.2.2 --- StreamingTableTest.java 30 Apr 2003 00:27:48 -0000 1.1.2.3 *************** *** 21,25 **** package org.dbunit.dataset; ! import org.dbunit.dataset.xml.FlatXmlProvider; import org.xml.sax.InputSource; --- 21,25 ---- package org.dbunit.dataset; ! import org.dbunit.dataset.xml.FlatXmlProducer; import org.xml.sax.InputSource; *************** *** 45,50 **** FileReader reader = new FileReader("src/xml/flatXmlDataSetTest.xml"); ! // IDataSetProvider source = new DefaultDataSetProvider(new FlatXmlDataSet(reader)); ! IDataSetProvider source = new FlatXmlProvider(new InputSource(reader)); ITableIterator iterator = new StreamingDataSet(source).iterator(); while(iterator.next()) --- 45,50 ---- FileReader reader = new FileReader("src/xml/flatXmlDataSetTest.xml"); ! // IDataSetProducer source = new DataSetProducerAdapter(new FlatXmlDataSet(reader)); ! IDataSetProducer source = new FlatXmlProducer(new InputSource(reader)); ITableIterator iterator = new StreamingDataSet(source).iterator(); while(iterator.next()) |