diff --git a/spring-batch-execution/src/test/java/org/springframework/batch/execution/configuration/JobConfigurationRegistryBeanPostProcessorTests.java b/spring-batch-execution/src/test/java/org/springframework/batch/execution/configuration/JobConfigurationRegistryBeanPostProcessorTests.java
index e7b26a593..ebc24ecef 100644
--- a/spring-batch-execution/src/test/java/org/springframework/batch/execution/configuration/JobConfigurationRegistryBeanPostProcessorTests.java
+++ b/spring-batch-execution/src/test/java/org/springframework/batch/execution/configuration/JobConfigurationRegistryBeanPostProcessorTests.java
@@ -37,8 +37,7 @@ public class JobConfigurationRegistryBeanPostProcessorTests extends TestCase {
try {
processor.afterPropertiesSet();
fail("Expected IllegalArgumentException");
- }
- catch (IllegalArgumentException e) {
+ } catch (IllegalArgumentException e) {
// expected
assertTrue(e.getMessage().indexOf("JobConfigurationRegistry") >= 0);
}
@@ -46,12 +45,14 @@ public class JobConfigurationRegistryBeanPostProcessorTests extends TestCase {
public void testBeforeInitialization() throws Exception {
// should be a no-op
- assertEquals("foo", processor.postProcessAfterInitialization("foo", "bar"));
+ assertEquals("foo", processor.postProcessAfterInitialization("foo",
+ "bar"));
}
public void testAfterInitializationWithWrongType() throws Exception {
// should be a no-op
- assertEquals("foo", processor.postProcessAfterInitialization("foo", "bar"));
+ assertEquals("foo", processor.postProcessAfterInitialization("foo",
+ "bar"));
}
public void testAfterInitializationWithCorrectType() throws Exception {
@@ -59,7 +60,8 @@ public class JobConfigurationRegistryBeanPostProcessorTests extends TestCase {
processor.setJobConfigurationRegistry(registry);
JobConfiguration configuration = new JobConfiguration();
configuration.setBeanName("foo");
- assertEquals(configuration, processor.postProcessAfterInitialization(configuration, "bar"));
+ assertEquals(configuration, processor.postProcessAfterInitialization(
+ configuration, "bar"));
assertEquals(configuration, registry.getJobConfiguration("foo"));
}
@@ -83,7 +85,8 @@ public class JobConfigurationRegistryBeanPostProcessorTests extends TestCase {
processor.setJobConfigurationRegistry(registry);
JobConfiguration configuration = new JobConfiguration();
configuration.setBeanName("foo");
- assertEquals(configuration, processor.postProcessAfterInitialization(configuration, "bar"));
+ assertEquals(configuration, processor.postProcessAfterInitialization(
+ configuration, "bar"));
processor.destroy();
try {
assertEquals(null, registry.getJobConfiguration("foo"));
@@ -92,16 +95,37 @@ public class JobConfigurationRegistryBeanPostProcessorTests extends TestCase {
// expected
}
}
-
+
public void testExecutionWithApplicationContext() throws Exception {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("test-context.xml", getClass());
- MapJobConfigurationRegistry registry = (MapJobConfigurationRegistry) context.getBean("registry");
+ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
+ "test-context.xml", getClass());
+ MapJobConfigurationRegistry registry = (MapJobConfigurationRegistry) context
+ .getBean("registry");
Collection configurations = registry.getJobConfigurations();
- assertEquals(6, configurations.size());
+ // System.err.println(configurations);
+ String[] names = context.getBeanNamesForType(JobConfiguration.class);
+ int count = names.length;
+ // Each concrete bean of type JobConfiguration is registered...
+ assertEquals(count, configurations.size());
+ // N.B. there is a failure / wonky mode where a parent bean is given an
+ // explicit name or beanName (using property setter): in this case then
+ // child beans will have the same name and will be re-registered (and
+ // override, if the registry supports that).
assertNotNull(registry.getJobConfiguration("test-job"));
- assertEquals(context.getBean("test-job-with-name"), registry.getJobConfiguration("foo"));
- assertEquals(context.getBean("test-job-with-bean-name"), registry.getJobConfiguration("bar"));
- assertEquals(context.getBean("test-job-with-parent-and-name"), registry.getJobConfiguration("spam"));
- assertEquals(context.getBean("test-job-with-parent-and-bean-name"), registry.getJobConfiguration("bucket"));
+ assertEquals(context.getBean("test-job-with-name"), registry
+ .getJobConfiguration("foo"));
+ assertEquals(context.getBean("test-job-with-bean-name"), registry
+ .getJobConfiguration("bar"));
+ assertEquals(context.getBean("test-job-with-parent-and-name"), registry
+ .getJobConfiguration("spam"));
+ assertEquals(context.getBean("test-job-with-parent-and-bean-name"),
+ registry.getJobConfiguration("bucket"));
+ assertEquals(context.getBean("test-job-with-concrete-parent"), registry
+ .getJobConfiguration("maps"));
+ assertEquals(context.getBean("test-job-with-concrete-parent-and-name"),
+ registry.getJobConfiguration("oof"));
+ assertEquals(context
+ .getBean("test-job-with-concrete-parent-and-bean-name"),
+ registry.getJobConfiguration("rab"));
}
}
diff --git a/spring-batch-execution/src/test/resources/org/springframework/batch/execution/configuration/test-context.xml b/spring-batch-execution/src/test/resources/org/springframework/batch/execution/configuration/test-context.xml
index 33d001bac..345a8b28d 100644
--- a/spring-batch-execution/src/test/resources/org/springframework/batch/execution/configuration/test-context.xml
+++ b/spring-batch-execution/src/test/resources/org/springframework/batch/execution/configuration/test-context.xml
@@ -50,4 +50,12 @@
+
+
+
+
+
+
+
+