From 1ce4da5cceb84211abce52d3edddd63e6a5f27f7 Mon Sep 17 00:00:00 2001 From: Parikshit Dutta Date: Wed, 23 Sep 2020 20:14:26 +0530 Subject: [PATCH] Fix for setting name of StaxEventItemReader at build --- .../batch/item/xml/builder/StaxEventItemReaderBuilder.java | 4 +--- .../item/xml/builder/StaxEventItemReaderBuilderTests.java | 4 ++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/builder/StaxEventItemReaderBuilder.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/builder/StaxEventItemReaderBuilder.java index bb29f623f..5f9c7bb36 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/builder/StaxEventItemReaderBuilder.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/builder/StaxEventItemReaderBuilder.java @@ -231,12 +231,10 @@ public class StaxEventItemReaderBuilder { if (this.saveState) { Assert.state(StringUtils.hasText(this.name), "A name is required when saveState is set to true."); } - else { - reader.setName(this.name); - } Assert.notEmpty(this.fragmentRootElements, "At least one fragment root element is required"); + reader.setName(this.name); reader.setSaveState(this.saveState); reader.setResource(this.resource); reader.setFragmentRootElementNames( diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/builder/StaxEventItemReaderBuilderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/builder/StaxEventItemReaderBuilderTests.java index 690217038..2a8fde2eb 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/builder/StaxEventItemReaderBuilderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/builder/StaxEventItemReaderBuilderTests.java @@ -37,6 +37,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; +import static org.springframework.test.util.ReflectionTestUtils.getField; /** * @author Michael Minella @@ -122,6 +123,9 @@ public class StaxEventItemReaderBuilderTests { assertEquals("five", item.getSecond()); assertEquals("six", item.getThird()); assertEquals(2, executionContext.size()); + + Object executionContextUserSupport = getField(reader, "executionContextUserSupport"); + assertEquals("fooReader", getField(executionContextUserSupport, "name")); } @Test