List of usage examples for org.springframework.batch.item.support IteratorItemReader IteratorItemReader
public IteratorItemReader(Iterator<T> iterator)
From source file:de.langmi.spring.batch.examples.readers.list.IteratorItemReaderTest.java
/** * Test should read succesfully./*w w w .j a v a2 s. c om*/ * * @throws Exception */ @Test public void testSuccessfulReading() throws Exception { // setup reader with test data List<String> testData = new TestDataFactoryBean().getObject(); reader = new IteratorItemReader<String>(testData); // read int count = 0; String line; while ((line = reader.read()) != null) { assertEquals(String.valueOf(count), line); count++; } assertEquals(testData.size(), count); }
From source file:de.langmi.spring.batch.examples.complex.aggregating.reader.AggregateSimpleItemsReaderTest.java
/** * Test with ID change, should result in two aggregated items. *//*from ww w . j a v a 2s . c o m*/ @Test public void testReadWithIdChange() throws Exception { // create first set of simple items with shared id int count = 5; int sharedId = 1000; int value = 1; List<SimpleItem> testData = createTestData(count, sharedId, value); // create second set of simple items with shared id int countSecond = 6; int sharedIdSecond = 2000; int valueSecond = 3; List<SimpleItem> testData2 = createTestData(countSecond, sharedIdSecond, valueSecond); // combine them testData.addAll(testData2); // setup wrapped delegate ItemReader<SimpleItem> delegate = new IteratorItemReader<SimpleItem>(testData); reader.setDelegate(delegate); // 1. aggregated item AggregatedItem item = reader.read(); assertNotNull(item); assertEquals(sharedId, item.getId()); assertEquals(count * value, item.getSum()); // 2. aggregated item AggregatedItem itemSecond = reader.read(); assertNotNull(itemSecond); assertEquals(sharedIdSecond, itemSecond.getId()); assertEquals(countSecond * valueSecond, itemSecond.getSum()); // there should be no next item assertNull(reader.read()); }
From source file:de.langmi.spring.batch.examples.complex.aggregating.reader.AggregateSimpleItemsReaderTest.java
/** * Test without ID change, should result in one aggregated item only. */// www . ja v a2 s .co m @Test public void testReadWithoutIdChange() throws Exception { int count = 5; int sharedId = 1000; int value = 1; ItemReader<SimpleItem> delegate = new IteratorItemReader<SimpleItem>( createTestData(count, sharedId, value)); reader.setDelegate(delegate); AggregatedItem item = reader.read(); assertNotNull(item); assertEquals(sharedId, item.getId()); assertEquals(count * value, item.getSum()); // there should be no next item assertNull(reader.read()); }