diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/scope/util/PlaceholderTargetSource.java b/spring-batch-core/src/main/java/org/springframework/batch/core/scope/util/PlaceholderTargetSource.java index 1f505a918..7373d58bb 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/scope/util/PlaceholderTargetSource.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/scope/util/PlaceholderTargetSource.java @@ -177,7 +177,7 @@ public class PlaceholderTargetSource extends SimpleBeanTargetSource implements I BeanWrapper wrapper = new BeanWrapperImpl(contextFactory.getContext()); if (wrapper.isReadableProperty(key)) { Object property = wrapper.getPropertyValue(key); - if (property==null || requiredType.isAssignableFrom(property.getClass())) { + if (property == null || requiredType.isAssignableFrom(property.getClass())) { result = property; } } @@ -218,9 +218,8 @@ public class PlaceholderTargetSource extends SimpleBeanTargetSource implements I // here. // replaceIfTypeMatches(result, first, next, key, Date.class, // typeConverter); - - first = result.indexOf(PLACEHOLDER_PREFIX, next + 1); - next = result.indexOf(PLACEHOLDER_SUFFIX, first + 1); + first = result.indexOf(PLACEHOLDER_PREFIX, first + 1);; + next = result.indexOf(PLACEHOLDER_SUFFIX, first + 1);; } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/scope/util/PlaceholderTargetSourceTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/scope/util/PlaceholderTargetSourceTests.java index 88400f186..84702280b 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/scope/util/PlaceholderTargetSourceTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/scope/util/PlaceholderTargetSourceTests.java @@ -34,6 +34,10 @@ public class PlaceholderTargetSourceTests extends ContextFactorySupport { @Qualifier("withInteger") private PlaceholderTargetSource withInteger; + @Autowired + @Qualifier("withMultiple") + private PlaceholderTargetSource withMultiple; + @Autowired @Qualifier("withDate") private PlaceholderTargetSource withDate; @@ -144,6 +148,12 @@ public class PlaceholderTargetSourceTests extends ContextFactorySupport { assertEquals("bar-4321", target.getName()); } + @Test + public void testGetMultiple() { + Node target = (Node) withMultiple.getTarget(); + assertEquals("bar-4321-4321", target.getName()); + } + @Test public void testGetDate() { Node target = (Node) withDate.getTarget(); diff --git a/spring-batch-core/src/test/resources/org/springframework/batch/core/scope/util/PlaceholderTargetSourceTests-context.xml b/spring-batch-core/src/test/resources/org/springframework/batch/core/scope/util/PlaceholderTargetSourceTests-context.xml index 6d0750d7b..2423d4e35 100644 --- a/spring-batch-core/src/test/resources/org/springframework/batch/core/scope/util/PlaceholderTargetSourceTests-context.xml +++ b/spring-batch-core/src/test/resources/org/springframework/batch/core/scope/util/PlaceholderTargetSourceTests-context.xml @@ -48,6 +48,12 @@ + + + + + @@ -98,6 +104,12 @@ + + + +