*Renamed the "master" step factory bean to StepParserStepFactoryBean
*Moved it to the same package as the parser
*Made it package visibility since it should only be used by the parser
- Created StepFactoryBean, as a "master" factory that holds all the properties
configurable on a step and decides which type of step to create.
- the StepFactoryBean is used to generate a tasklet step as well as chunk-oriented step because if the 'tasklet=' attribute is specified on at one level and the <tasklet/> element is specified at another, the factory bean will be able to throw a useful error, whereas the parser would not know.
- removed hacks from TaskletStep and SimpleStepFactoryBean
BATCH-1145:
Since both <step/> and <tasklet/> set directly to the *StepFactoryBean, their "parent" attributes were overwriting each other. As a solution, the top-level <tasklet/> element has been removed. To achieve the same result, the user can use an abstract top-level step with nothing declared but the <tasklet/>.
*Move "transaction-attribute" attribute from <tasklet/> to <step/> as <transaction-attributes/>
BATCH-1152:
*Allow comma and newline as delimiters in exception lists in namespace
*Fixed SimpleChunkProcessor so that the filter count is applied correctly
*Updated SimpleChunkProcessorTests and CustomerFilterJobFunctionalTests to check the filter count.
*Add a "parent" attribute to <tasklet/>. This will allow tasklets to inherit properties from other tasklets that have been configured.
*A "merge" attribute for will have to be added to the following elements that occur with in <tasklet/>:
<skippable-exception-classes/>
<fatal-exception-classes/>
<retryable-exception-classes/>
<streams/>
<retry-listeners/>
*<tasklet/> should become a top-level element with an "abstract" attribute.
*Updated parsers to handle 'parent' attribute of <step/>.
*Attribute "parent" can be used on standalone and inline step declaration as well as with the 'tasklet' attribute.
*To be consistent with treatment of listeners and tasklets, 'parent' can't be combined with 'ref' on <step/>.
*Updated JobListenerFactoryBean so that listener methods specified via annotations or the metaDataMap are checked eagerly for correct signatures
*Extracted common processing of Job/StepListenerFactoryBean classes into new superclass AbstractListenerFactoryBean
*Created AbstractListenerMetaData interface for Job/StepListenerMetaData enums
*Fixed JobExecutionListenerParser which had a bug in parsing listener method attributes
*Corrected job listener attributes in xsd to use before/after-job-method
*Added unit tests for job listener annotations and metaDataMap
*Fixed typo in StepListenerFactoryBeanTests