Polish for BATCH-2616

This commit is contained in:
Michael Minella
2017-06-01 08:45:07 -05:00
parent 50353b6dd0
commit 70c24f50e3
2 changed files with 13 additions and 3 deletions

View File

@@ -106,6 +106,7 @@ public class ScriptItemProcessorBuilder<I, O> {
if (this.scriptResource == null && !StringUtils.hasText(this.scriptSource)) {
throw new IllegalArgumentException("scriptResource or scriptSource is required.");
}
if (StringUtils.hasText(this.scriptSource)) {
Assert.hasText(this.language, "language is required when using scriptSource.");
}
@@ -114,12 +115,15 @@ public class ScriptItemProcessorBuilder<I, O> {
if (StringUtils.hasText(this.itemBindingVariableName)) {
processor.setItemBindingVariableName(this.itemBindingVariableName);
}
if (this.scriptResource != null) {
processor.setScript(this.scriptResource);
}
if (this.scriptSource != null) {
processor.setScriptSource(this.scriptSource, this.language);
}
return processor;
}
}

View File

@@ -57,7 +57,9 @@ public class ScriptItemProcessorBuilderTests {
@Test
public void testScriptSource() throws Exception {
ScriptItemProcessor<String, Object> scriptItemProcessor = new ScriptItemProcessorBuilder<String, Object>()
.scriptSource("item.toUpperCase();").language("javascript").build();
.scriptSource("item.toUpperCase();")
.language("javascript")
.build();
scriptItemProcessor.afterPropertiesSet();
assertEquals("Incorrect transformed value", "AA", scriptItemProcessor.process("aa"));
@@ -66,7 +68,10 @@ public class ScriptItemProcessorBuilderTests {
@Test
public void testItemBinding() throws Exception {
ScriptItemProcessor<String, Object> scriptItemProcessor = new ScriptItemProcessorBuilder<String, Object>()
.scriptSource("foo.contains('World');").language("javascript").itemBindingVariableName("foo").build();
.scriptSource("foo.contains('World');")
.language("javascript")
.itemBindingVariableName("foo")
.build();
scriptItemProcessor.afterPropertiesSet();
assertEquals("Incorrect transformed value", true, scriptItemProcessor.process("Hello World"));
@@ -76,7 +81,8 @@ public class ScriptItemProcessorBuilderTests {
public void testScriptResource() throws Exception {
Resource resource = new ClassPathResource("org/springframework/batch/item/support/processor-test-simple.js");
ScriptItemProcessor<String, Object> scriptItemProcessor = new ScriptItemProcessorBuilder<String, Object>()
.scriptResource(resource).build();
.scriptResource(resource)
.build();
scriptItemProcessor.afterPropertiesSet();
assertEquals("Incorrect transformed value", "BB", scriptItemProcessor.process("bb"));