1 21 package org.dbunit.dataset.stream; 22 23 import org.dbunit.dataset.Column; 24 import org.dbunit.dataset.DataSetException; 25 import org.dbunit.dataset.DefaultTableMetaData; 26 import org.dbunit.dataset.ITableMetaData; 27 import org.dbunit.dataset.datatype.DataType; 28 29 34 public class MockDataSetProducer implements IDataSetProducer 35 { 36 private int _tableCount; 37 private int _columnCount; 38 private int _rowCount; 39 private IDataSetConsumer _consumer = new DefaultConsumer(); 40 41 public void setupTableCount(int tableCount) 42 { 43 _tableCount = tableCount; 44 } 45 46 public void setupColumnCount(int columnCount) 47 { 48 _columnCount = columnCount; 49 } 50 51 public void setupRowCount(int rowCount) 52 { 53 _rowCount = rowCount; 54 } 55 56 59 public void setConsumer(IDataSetConsumer consumer) throws DataSetException 60 { 61 _consumer = consumer; 62 } 63 64 public void produce() throws DataSetException 65 { 66 _consumer.startDataSet(); 67 for (int i = 0; i < _tableCount; i++) 68 { 69 String tableName = "TABLE" + i; 70 Column[] columns = new Column[_columnCount]; 71 for (int j = 0; j < columns.length; j++) 72 { 73 columns[j] = new Column("COLUMN" + j, DataType.UNKNOWN); 74 } 75 ITableMetaData metaData = new DefaultTableMetaData(tableName, columns); 76 77 _consumer.startTable(metaData); 78 79 for (int j = 0; j < _rowCount; j++) 80 { 81 Object [] values = new Object [_columnCount]; 82 for (int k = 0; k < values.length; k++) 83 { 84 values[k] = j + "," + k; 85 } 86 _consumer.row(values); 87 } 88 _consumer.endTable(); 89 } 90 _consumer.endDataSet(); 91 } 92 } 93 | Popular Tags |