From 56dafae8f1b3b2136491f1bb2ddb2fa1c5b38844 Mon Sep 17 00:00:00 2001 From: dsyer Date: Thu, 14 Jan 2010 13:05:43 +0000 Subject: [PATCH] Fix some issues from last commit --- .../batch/core/launch/SimpleJobLauncherTests.java | 4 ++-- .../batch/item/adapter/AbstractMethodInvokingDelegator.java | 2 +- .../batch/item/file/MultiResourceItemReader.java | 1 + .../batch/item/file/transform/AbstractLineTokenizer.java | 2 +- .../batch/item/file/transform/BeanWrapperFieldExtractor.java | 1 + .../item/file/MultiResourceItemReaderIntegrationTests.java | 3 +++ 6 files changed, 9 insertions(+), 4 deletions(-) diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/launch/SimpleJobLauncherTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/launch/SimpleJobLauncherTests.java index e0870de00..e8dcf3cee 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/launch/SimpleJobLauncherTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/launch/SimpleJobLauncherTests.java @@ -207,8 +207,8 @@ public class SimpleJobLauncherTests { run(ExitStatus.FAILED); fail("Expected Error"); } - catch (RuntimeException e) { - assertEquals("foo", e.getCause().getMessage()); + catch (Error e) { + assertEquals("foo", e.getMessage()); } } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/AbstractMethodInvokingDelegator.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/AbstractMethodInvokingDelegator.java index 7382aeaac..326df0daa 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/AbstractMethodInvokingDelegator.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/AbstractMethodInvokingDelegator.java @@ -207,7 +207,7 @@ public abstract class AbstractMethodInvokingDelegator implements Initializing * is assumed correct values will be supplied at runtime. */ public void setArguments(Object[] arguments) { - this.arguments = Arrays.asList(arguments).toArray(); + this.arguments = arguments == null ? null : Arrays.asList(arguments).toArray(); } /** 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 1320b491e..101b77f28 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 @@ -204,6 +204,7 @@ public class MultiResourceItemReader implements ItemReader, ItemStream { * @param resources input resources */ public void setResources(Resource[] resources) { + Assert.notNull(resources, "The resources must not be null"); this.resources = Arrays.asList(resources).toArray(new Resource[resources.length]); } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/AbstractLineTokenizer.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/AbstractLineTokenizer.java index 793320c86..d7e1ca6e8 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/AbstractLineTokenizer.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/AbstractLineTokenizer.java @@ -79,7 +79,7 @@ public abstract class AbstractLineTokenizer implements LineTokenizer { * @param names */ public void setNames(String[] names) { - this.names = Arrays.asList(names).toArray(new String[names.length]); + this.names = names==null ? null : Arrays.asList(names).toArray(new String[names.length]); } /** diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/BeanWrapperFieldExtractor.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/BeanWrapperFieldExtractor.java index 19a4ade8a..66ece9e6d 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/BeanWrapperFieldExtractor.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/BeanWrapperFieldExtractor.java @@ -41,6 +41,7 @@ public class BeanWrapperFieldExtractor implements FieldExtractor, Initiali * @param names field names to be extracted by the {@link #extract(Object)} method. */ public void setNames(String[] names) { + Assert.notNull(names, "Names must be non-null"); this.names = Arrays.asList(names).toArray(new String[names.length]); } 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 a4d855133..0a7cd7c29 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 @@ -19,6 +19,7 @@ import org.springframework.core.io.AbstractResource; import org.springframework.core.io.ByteArrayResource; import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.Resource; +import org.springframework.test.util.ReflectionTestUtils; /** * Tests for {@link MultiResourceItemReader}. @@ -237,6 +238,8 @@ public class MultiResourceItemReaderIntegrationTests { tested.setComparator(comp); tested.setResources(resources); tested.open(ctx); + + resources = (Resource[]) ReflectionTestUtils.getField(tested, "resources"); assertSame(r3, resources[0]); assertSame(r1, resources[1]);