BATCH-1181:

* Added test to make sure <step/> element's parent= attribute could reference a beans:bean
 * Some small cleanup
This commit is contained in:
dhgarrette
2009-04-05 20:49:28 +00:00
parent d71b260cc6
commit a686033674
5 changed files with 72 additions and 28 deletions

View File

@@ -146,7 +146,7 @@ public class StepParserStepFactoryBeanTests {
@Test
public void testSimpleStep() throws Exception {
StepParserStepFactoryBean<Object, Object> fb = new StepParserStepFactoryBean<Object, Object>();
fb.setHasChunkTaskletElement(true);
fb.setHasChunkElement(true);
fb.setBeanName("step1");
fb.setAllowStartIfComplete(true);
fb.setJobRepository(new JobRepositorySupport());
@@ -172,7 +172,7 @@ public class StepParserStepFactoryBeanTests {
@Test
public void testFaultTolerantStep() throws Exception {
StepParserStepFactoryBean<Object, Object> fb = new StepParserStepFactoryBean<Object, Object>();
fb.setHasChunkTaskletElement(true);
fb.setHasChunkElement(true);
fb.setBeanName("step1");
fb.setAllowStartIfComplete(true);
fb.setJobRepository(new JobRepositorySupport());

View File

@@ -26,6 +26,7 @@ import org.springframework.aop.framework.Advised;
import org.springframework.batch.core.Step;
import org.springframework.batch.core.StepExecutionListener;
import org.springframework.batch.core.listener.StepExecutionListenerSupport;
import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.core.step.tasklet.TaskletStep;
import org.springframework.batch.repeat.CompletionPolicy;
import org.springframework.batch.repeat.policy.SimpleCompletionPolicy;
@@ -209,4 +210,23 @@ public class StepParserTests {
return txa;
}
@Test
public void testInheritFromBean() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"org/springframework/batch/core/configuration/xml/StepParserParentAttributeTests-context.xml");
assertTrue(getTasklet("s9", ctx) instanceof DummyTasklet);
assertTrue(getTasklet("s10", ctx) instanceof DummyTasklet);
}
@SuppressWarnings("unchecked")
private Tasklet getTasklet(String stepName, ApplicationContext ctx) {
Map<String, Object> beans = ctx.getBeansOfType(Step.class);
assertTrue(beans.containsKey(stepName));
Step step = (Step) ctx.getBean(stepName);
assertTrue(step instanceof TaskletStep);
Object tasklet = ReflectionTestUtils.getField(step, "tasklet");
assertTrue(tasklet instanceof Tasklet);
return (Tasklet)tasklet;
}
}