SpringSource/spring-batch — pull request #74 by snicoll (2012-11-24 09:53:32+00:00)
Title: BATCH-1911

Added the concept of a StepRegistry that tracks the Step instance attached to a Job.

- Added a simple MapStepRegistry that keeps track of the step in a simple map per job
- MapJobRegistry implements StepRegistry as well using the delegate pattern
- DefaultJobLoader makes sure to initialize both registries now. Auto-detects that the JobRegistry implements StepRegistry
- JobSupport now implements StepLocator so that such job can be loaded by the DefaultJobLoader
- Also registering any "detached" step available for a particular job to that job if that wasn't done yet. Since a partition handler may link to any step by name, the step registry must be filled with any step that are available in the context of a job. If each job is located in its own application context, this is just fine. If more than one job is defined in the same context, the step registry may be able to return a step that is not related to that job but it shouldn't hurt as this happens only if a component is explicitly asking to execute a step by name for a particular job.