From 44ee192ee4d9e8b6a30a22d72ac51b86c0a98799 Mon Sep 17 00:00:00 2001 From: robokaso Date: Fri, 18 Jul 2008 12:10:56 +0000 Subject: [PATCH] IN PROGRESS - BATCH-712: Upgrade ItemReaders to use Parameterized types parameterized MRIR --- .../item/file/MultiResourceItemReader.java | 19 ++++++++++--------- .../MultiResourceItemReaderFlatFileTests.java | 14 +++++++------- ...ltiResourceItemReaderIntegrationTests.java | 4 ++-- .../file/MultiResourceItemReaderXmlTests.java | 14 +++++++------- 4 files changed, 26 insertions(+), 25 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemReader.java index c75ceadb1..d6f48ca75 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemReader.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemReader.java @@ -34,7 +34,7 @@ import org.springframework.util.ClassUtils; * * @author Robert Kasanicky */ -public class MultiResourceItemReader extends ExecutionContextUserSupport implements ItemReader, ItemStream, +public class MultiResourceItemReader extends ExecutionContextUserSupport implements ItemReader, ItemStream, InitializingBean { /** @@ -42,7 +42,7 @@ public class MultiResourceItemReader extends ExecutionContextUserSupport impleme */ private static final Object END_OF_RESOURCE_MARKER = new Object(); - private ResourceAwareItemReaderItemStream delegate; + private ResourceAwareItemReaderItemStream delegate; private Resource[] resources; @@ -74,9 +74,9 @@ public class MultiResourceItemReader extends ExecutionContextUserSupport impleme /** * Reads the next item, jumping to next resource if necessary. */ - public Object read() throws Exception, UnexpectedInputException, NoWorkFoundException, ParseException { + public T read() throws Exception, UnexpectedInputException, NoWorkFoundException, ParseException { - Object item; + T item; if (shouldReadBuffer) { item = readBufferedItem(); } @@ -94,9 +94,9 @@ public class MultiResourceItemReader extends ExecutionContextUserSupport impleme * one is exhausted. Items are appended to the buffer. * @return next item from input */ - private Object readNextItem() throws Exception { + private T readNextItem() throws Exception { - Object item = delegate.read(); + T item = delegate.read(); while (item == null) { @@ -124,7 +124,8 @@ public class MultiResourceItemReader extends ExecutionContextUserSupport impleme * input for possible restart. * @return next item from buffer */ - private Object readBufferedItem() { + @SuppressWarnings("unchecked") + private T readBufferedItem() { Object buffered = itemBufferIterator.next(); while (buffered == END_OF_RESOURCE_MARKER) { @@ -137,7 +138,7 @@ public class MultiResourceItemReader extends ExecutionContextUserSupport impleme shouldReadBuffer = false; itemBufferIterator = null; } - return buffered; + return (T) buffered; } /** @@ -228,7 +229,7 @@ public class MultiResourceItemReader extends ExecutionContextUserSupport impleme /** * @param delegate reads items from single {@link Resource}. */ - public void setDelegate(ResourceAwareItemReaderItemStream delegate) { + public void setDelegate(ResourceAwareItemReaderItemStream delegate) { this.delegate = delegate; } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderFlatFileTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderFlatFileTests.java index d41c27054..02112e889 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderFlatFileTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderFlatFileTests.java @@ -14,13 +14,13 @@ import org.springframework.core.io.Resource; public class MultiResourceItemReaderFlatFileTests extends CommonItemStreamItemReaderTests { - protected ItemReader getItemReader() throws Exception { + protected ItemReader getItemReader() throws Exception { - MultiResourceItemReader multiReader = new MultiResourceItemReader(); - FlatFileItemReader fileReader = new FlatFileItemReader(); + MultiResourceItemReader multiReader = new MultiResourceItemReader(); + FlatFileItemReader fileReader = new FlatFileItemReader(); - fileReader.setFieldSetMapper(new FieldSetMapper() { - public Object mapLine(FieldSet fs, int lineNum) { + fileReader.setFieldSetMapper(new FieldSetMapper() { + public Foo mapLine(FieldSet fs, int lineNum) { Foo foo = new Foo(); foo.setValue(fs.readInt(0)); return foo; @@ -48,8 +48,8 @@ public class MultiResourceItemReaderFlatFileTests extends return multiReader; } - protected void pointToEmptyInput(ItemReader tested) throws Exception { - MultiResourceItemReader multiReader = (MultiResourceItemReader) tested; + protected void pointToEmptyInput(ItemReader tested) throws Exception { + MultiResourceItemReader multiReader = (MultiResourceItemReader) tested; multiReader.close(new ExecutionContext()); multiReader.setResources(new Resource[] { new ByteArrayResource("" .getBytes()) }); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderIntegrationTests.java index 9164f151c..a75339994 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderIntegrationTests.java @@ -15,9 +15,9 @@ import org.springframework.core.io.Resource; */ public class MultiResourceItemReaderIntegrationTests extends TestCase { - private MultiResourceItemReader tested = new MultiResourceItemReader(); + private MultiResourceItemReader
tested = new MultiResourceItemReader
(); - private FlatFileItemReader itemReader = new FlatFileItemReader(); + private FlatFileItemReader
itemReader = new FlatFileItemReader
(); private ExecutionContext ctx = new ExecutionContext(); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderXmlTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderXmlTests.java index c8d545b83..61f725c4b 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderXmlTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/MultiResourceItemReaderXmlTests.java @@ -18,14 +18,14 @@ import org.springframework.core.io.Resource; public class MultiResourceItemReaderXmlTests extends CommonItemStreamItemReaderTests { - protected ItemReader getItemReader() throws Exception { - MultiResourceItemReader multiReader = new MultiResourceItemReader(); + protected ItemReader getItemReader() throws Exception { + MultiResourceItemReader multiReader = new MultiResourceItemReader(); - StaxEventItemReader reader = new StaxEventItemReader(); + StaxEventItemReader reader = new StaxEventItemReader(); reader.setFragmentRootElementName("foo"); - reader.setFragmentDeserializer(new EventReaderDeserializer() { - public Object deserializeFragment(XMLEventReader eventReader) { + reader.setFragmentDeserializer(new EventReaderDeserializer() { + public Foo deserializeFragment(XMLEventReader eventReader) { Attribute attr; try { assertTrue(eventReader.nextEvent().isStartDocument()); @@ -61,8 +61,8 @@ public class MultiResourceItemReaderXmlTests extends CommonItemStreamItemReaderT return multiReader; } - protected void pointToEmptyInput(ItemReader tested) throws Exception { - MultiResourceItemReader multiReader = (MultiResourceItemReader) tested; + protected void pointToEmptyInput(ItemReader tested) throws Exception { + MultiResourceItemReader multiReader = (MultiResourceItemReader) tested; multiReader.close(new ExecutionContext()); multiReader.setResources(new Resource[] { new ByteArrayResource("" .getBytes()) });