IN PROGRESS - BATCH-826: Create callback for header and footer reading in xml and flat files

added header callback to FFIR
This commit is contained in:
robokaso
2008-09-11 11:44:45 +00:00
parent 13e5796b85
commit df870a5df6
3 changed files with 33 additions and 0 deletions

View File

@@ -20,6 +20,7 @@ import java.io.IOException;
import java.io.InputStream;
import junit.framework.TestCase;
import static org.easymock.EasyMock.*;
import org.springframework.batch.item.ExecutionContext;
import org.springframework.batch.item.ItemStreamException;
@@ -228,15 +229,21 @@ public class FlatFileItemReaderBasicTests extends TestCase {
/**
* Header line is skipped and used to setup fieldSet column names.
* It is also passed to header callback.
*/
public void testColumnNamesInHeader() throws Exception {
final String INPUT = "name1|name2\nvalue1|value2\nvalue3|value4";
LineCallbackHandler headerCallback = createStrictMock(LineCallbackHandler.class);
headerCallback.handleLine("name1|name2");
replay(headerCallback);
itemReader = new FlatFileItemReader<FieldSet>();
itemReader.setResource(getInputResource(INPUT));
itemReader.setLineTokenizer(new DelimitedLineTokenizer('|'));
itemReader.setFieldSetMapper(fieldSetMapper);
itemReader.setFirstLineIsHeader(true);
itemReader.setHeaderCallback(headerCallback);
itemReader.afterPropertiesSet();
itemReader.open(executionContext);
@@ -247,6 +254,8 @@ public class FlatFileItemReaderBasicTests extends TestCase {
fs = itemReader.read();
assertEquals("value3", fs.readString("name1"));
assertEquals("value4", fs.readString("name2"));
verify(headerCallback);
}
/**