From 7e99df92a0b039fc875832f6b39c1713c1a029f5 Mon Sep 17 00:00:00 2001 From: robokaso Date: Tue, 22 Jul 2008 11:57:20 +0000 Subject: [PATCH] IN PROGRESS - BATCH-711: Upgrade ItemWriter and implementations to use parameterized types --- .../batch/item/xml/EventWriterSerializer.java | 4 ++-- .../batch/item/xml/StaxEventItemWriter.java | 22 +++++++++---------- .../oxm/MarshallingEventWriterSerializer.java | 4 ++-- .../callback/ItemReaderRepeatCallback.java | 4 ++-- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/EventWriterSerializer.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/EventWriterSerializer.java index 089768adb..f8127940e 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/EventWriterSerializer.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/EventWriterSerializer.java @@ -10,12 +10,12 @@ import javax.xml.stream.XMLEventWriter; * @author Lucas Ward * */ -public interface EventWriterSerializer { +public interface EventWriterSerializer { /** * Serialize an Object. * * @param output */ - void serializeObject(XMLEventWriter writer, Object output); + void serializeObject(XMLEventWriter writer, T output); } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java index 876ebbbce..ea2ee7bc3 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java @@ -47,7 +47,7 @@ import org.springframework.util.CollectionUtils; * @author Robert Kasanicky * */ -public class StaxEventItemWriter extends ExecutionContextUserSupport implements ItemWriter, ItemStream, +public class StaxEventItemWriter extends ExecutionContextUserSupport implements ItemWriter, ItemStream, InitializingBean { // default encoding @@ -69,7 +69,7 @@ public class StaxEventItemWriter extends ExecutionContextUserSupport implements private Resource resource; // xml serializer - private EventWriterSerializer serializer; + private EventWriterSerializer serializer; // encoding to be used while reading from the resource private String encoding = DEFAULT_ENCODING; @@ -113,9 +113,9 @@ public class StaxEventItemWriter extends ExecutionContextUserSupport implements // holds the list of items for writing before they are actually written on // #flush() - private List buffer = new ArrayList(); + private List buffer = new ArrayList(); - private List headers = new ArrayList(); + private List headers = new ArrayList(); public StaxEventItemWriter() { setName(ClassUtils.getShortName(StaxEventItemWriter.class)); @@ -135,7 +135,7 @@ public class StaxEventItemWriter extends ExecutionContextUserSupport implements * * @param serializer the Object to XML serializer */ - public void setSerializer(EventWriterSerializer serializer) { + public void setSerializer(EventWriterSerializer serializer) { this.serializer = serializer; } @@ -227,7 +227,7 @@ public class StaxEventItemWriter extends ExecutionContextUserSupport implements * any calls to {@link #write(Object)}. * @param headers */ - public void setHeaderItems(Object[] headers) { + public void setHeaderItems(T[] headers) { this.headers = Arrays.asList(headers); } @@ -264,9 +264,8 @@ public class StaxEventItemWriter extends ExecutionContextUserSupport implements open(startAtPosition); if (startAtPosition == 0) { - for (Iterator iterator = headers.listIterator(); iterator.hasNext();) { - Object header = iterator.next(); - write(header); + for (Iterator iterator = headers.listIterator(); iterator.hasNext();) { + write(iterator.next()); } } } @@ -391,7 +390,7 @@ public class StaxEventItemWriter extends ExecutionContextUserSupport implements * @param item the value object * @see #flush() */ - public void write(Object item) { + public void write(T item) { currentRecordCount++; buffer.add(item); @@ -456,8 +455,7 @@ public class StaxEventItemWriter extends ExecutionContextUserSupport implements */ public void flush() throws FlushFailedException { - for (Iterator iterator = buffer.listIterator(); iterator.hasNext();) { - Object item = iterator.next(); + for (T item : buffer) { serializer.serializeObject(eventWriter, item); } try { diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/oxm/MarshallingEventWriterSerializer.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/oxm/MarshallingEventWriterSerializer.java index fa6a9d74f..a0276e7c5 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/oxm/MarshallingEventWriterSerializer.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/oxm/MarshallingEventWriterSerializer.java @@ -16,7 +16,7 @@ import org.springframework.xml.transform.StaxResult; * @author Lucas Ward * */ -public class MarshallingEventWriterSerializer implements EventWriterSerializer { +public class MarshallingEventWriterSerializer implements EventWriterSerializer { private Marshaller marshaller; @@ -24,7 +24,7 @@ public class MarshallingEventWriterSerializer implements EventWriterSerializer { this.marshaller = marshaller; } - public void serializeObject(XMLEventWriter writer, Object output) { + public void serializeObject(XMLEventWriter writer, T output) { Result result = new StaxResult(writer); try { marshaller.marshal(output, result); diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/callback/ItemReaderRepeatCallback.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/callback/ItemReaderRepeatCallback.java index 171a5d320..d623cc250 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/callback/ItemReaderRepeatCallback.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/callback/ItemReaderRepeatCallback.java @@ -33,9 +33,9 @@ public class ItemReaderRepeatCallback implements RepeatCallback { ItemReader reader; - ItemWriter writer; + ItemWriter writer; - public ItemReaderRepeatCallback(ItemReader reader, ItemWriter writer) { + public ItemReaderRepeatCallback(ItemReader reader, ItemWriter writer) { super(); this.reader = reader; this.writer = writer;