From fc7b07e9adcce4ef55c5cf1711a94f5960a0500e Mon Sep 17 00:00:00 2001 From: robokaso Date: Fri, 7 Nov 2008 14:28:17 +0000 Subject: [PATCH] IN PROGRESS - BATCH-34: Support for multiple I/O files in a single jobRun for a particular scheduleDate. take advantage of ExecutionContextUserSupport superclass --- .../batch/item/file/MultiResourceItemWriter.java | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemWriter.java index f2a2f71b9..b2b9053b2 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemWriter.java @@ -29,7 +29,7 @@ import org.springframework.util.ClassUtils; * * @author Robert Kasanicky */ -public class MultiResourceItemWriter implements ItemWriter, ItemStream { +public class MultiResourceItemWriter extends ExecutionContextUserSupport implements ItemWriter, ItemStream { final static private String RESOURCE_INDEX_KEY = "resource.index"; @@ -45,8 +45,6 @@ public class MultiResourceItemWriter implements ItemWriter, ItemStream { private int resourceIndex = 1; - private ExecutionContextUserSupport ecSupport = new ExecutionContextUserSupport(); - public MultiResourceItemWriter() { setName(ClassUtils.getShortName(MultiResourceItemWriter.class)); } @@ -82,9 +80,9 @@ public class MultiResourceItemWriter implements ItemWriter, ItemStream { } public void open(ExecutionContext executionContext) throws ItemStreamException { - resourceIndex = Long.valueOf(executionContext.getLong(ecSupport.getKey(RESOURCE_INDEX_KEY), 1L)).intValue(); + resourceIndex = Long.valueOf(executionContext.getLong(getKey(RESOURCE_INDEX_KEY), 1L)).intValue(); currentResourceItemCount = Long.valueOf( - executionContext.getLong(ecSupport.getKey(CURRENT_RESOURCE_ITEM_COUNT), 0L)).intValue(); + executionContext.getLong(getKey(CURRENT_RESOURCE_ITEM_COUNT), 0L)).intValue(); try { pointDelegateToNextResource(); } @@ -96,12 +94,8 @@ public class MultiResourceItemWriter implements ItemWriter, ItemStream { public void update(ExecutionContext executionContext) throws ItemStreamException { delegate.update(executionContext); - executionContext.put(ecSupport.getKey(CURRENT_RESOURCE_ITEM_COUNT), Long.valueOf(currentResourceItemCount)); - executionContext.put(ecSupport.getKey(RESOURCE_INDEX_KEY), Long.valueOf(resourceIndex)); - } - - public void setName(String name) { - ecSupport.setName(name); + executionContext.put(getKey(CURRENT_RESOURCE_ITEM_COUNT), Long.valueOf(currentResourceItemCount)); + executionContext.put(getKey(RESOURCE_INDEX_KEY), Long.valueOf(resourceIndex)); } /**