| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package org.ccframe.commons.dbunit;
- import org.ccframe.commons.util.DbUnitUtils;
- import org.ccframe.commons.util.DbUnitUtils.DBTYPE;
- import org.dbunit.database.IDatabaseConnection;
- import org.dbunit.dataset.*;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.util.ArrayList;
- import java.util.List;
- public class ReplacementDataSet extends AbstractDataSet {
- /**
- * Logger for this class
- */
- private static final Logger LOGGER = LoggerFactory.getLogger(ReplacementDataSet.class);
- private final IDataSet dataSet;
- private IDatabaseConnection connection;
- private DBTYPE dbType;
- private List<ReplacementProcessor> processorList = new ArrayList<ReplacementProcessor>();
- private static int tableId = 0;
-
- public ReplacementDataSet(IDataSet dataSet, IDatabaseConnection connection, DBTYPE dbType, List<ReplacementProcessor> processorList)
- {
- this.dataSet = dataSet;
- this.connection = connection;
- this.dbType = dbType;
- this.processorList.addAll(processorList);
- }
- private ReplacementTable createReplacementTable(ITable table)
- {
- tableId ++;
- return new ReplacementTable(table, tableId, connection, dbType, processorList);
- }
- ////////////////////////////////////////////////////////////////////////////
- // AbstractDataSet class
- protected ITableIterator createIterator(boolean reversed)
- throws DataSetException
- {
- return new ReplacementIterator(reversed ?
- dataSet.reverseIterator() : dataSet.iterator());
- }
- ////////////////////////////////////////////////////////////////////////////
- // IDataSet interface
- public String[] getTableNames() throws DataSetException
- {
- LOGGER.debug("getTableNames() - start");
- return dataSet.getTableNames();
- }
- public ITableMetaData getTableMetaData(String tableName)
- throws DataSetException
- {
- return dataSet.getTableMetaData(tableName);
- }
- public ITable getTable(String tableName) throws DataSetException
- {
- return createReplacementTable(dataSet.getTable(tableName));
- }
- ////////////////////////////////////////////////////////////////////////////
- // ReplacementIterator class
- private class ReplacementIterator implements ITableIterator
- {
- // private final Logger logger = LoggerFactory.getLogger(ReplacementIterator.class);
- private final ITableIterator iterator;
- public ReplacementIterator(ITableIterator iterator)
- {
- this.iterator = iterator;
- }
- ////////////////////////////////////////////////////////////////////////
- // ITableIterator interface
- public boolean next() throws DataSetException
- {
- return iterator.next();
- }
- public ITableMetaData getTableMetaData() throws DataSetException
- {
- return iterator.getTableMetaData();
- }
- public ITable getTable() throws DataSetException
- {
- return createReplacementTable(iterator.getTable());
- }
- }
- }
|