package proj.zoie.test.mock; import java.util.Collection; import org.apache.log4j.Logger; import proj.zoie.api.DataConsumer; import proj.zoie.api.ZoieException; public class MockDataLoader<V> implements DataConsumer<V> { private static final Logger log = Logger.getLogger(MockDataLoader.class); private long _delay; private int _count; private V _lastConsumed; private int _numCalls = 0; private int _numEvents = 0; private int _maxBatch = 0; public MockDataLoader() { _delay=100L; _count=0; _lastConsumed=null; } public V getLastConsumed() { return _lastConsumed; } public void setDelay(long delay) { _delay=delay; } public long getDelay() { return _delay; } public int getCount() { return _count; } public void consume(Collection<DataEvent<V>> data) throws ZoieException { _numCalls++; if(data != null) { _numEvents += data.size(); _maxBatch = Math.max(_maxBatch, data.size()); } if (data!=null && data.size()>0) { for (DataEvent<V> event : data) { _lastConsumed=event.getData(); } _count+=data.size(); } try { Thread.sleep(_delay); } catch (InterruptedException e) { } } public int getNumCalls() { return _numCalls; } public int getNumEvents() { return _numEvents; } public int getMaxBatch() { return _maxBatch; } }