JBERET-24 Implement csv ItemReader (to be continued)
Merge branch 'master' of https://github.com/jberet/jsr352
add DumpItemWriter and test for CsvBeanReader
add support of list and map beanType and rename CsvBeanReader to CsvItemReader.
add comment line to person.csv and verify the comment line is skipped; start working on cell processors in CsvItemReader.
JBERET-24 CSV reader: add support for supercsv built-in cell processors and custom cell processors, except Collector and HashMapper.
JBERET-24 CSV reader: change the between-column cell processor delimiter from new line to semi-colon(;); add test for ParseInt and null cell processor.
JBERET-24 CSV reader: use more complete person.csv data with 37 columns; add UnicodeBOMInputStream to handle BOM; change quoteChar to | to enable reading feetInches column, which contains ' and ".
JBERET-24 CSV reader: add tests for more cell processor types; add tests for pipe-delimited and tab-delimited files.
JBERET-24 CSV reader: add support for multi-valued true/false string values for ParseBool cell processor; add ParseBoolTest.
JBERET-24 CSV reader: improve CellProcessorConfig to support the use of chars like ( ' ), inside the single-quoted string values, which is often needed when specifying regex; add tests for cell processors and constraints.
JBERET-24 CSV reader: tolerate the missing ending single quote in cell processor params, with a warning and still try to get the intended param value.
JBERET-24 CSV reader: add a custom cell processor org.jberet.support.io.ToggleCase and verify custom processors with params are processed.
JBERET-25 CSV writer: introduce a common superclass CsvItemReaderWriterBase for CsvItemReader and CsvItemWriter and code reorganization; add UniqueHashCode cell processor to CsvItemReaderTest.
JBERET-25 CSV writer: renamed skipComments property key to commentMatcher; first impl of CsvItemWriter completed; add CsvItemWriter to ParseBoolTest.
JBERET-25 CSV writer: add code to test CsvItemWriter into CsvItemReaderTest (renamed to CsvItemReaderWriterTest).
JBERET-25 CSV writer: add tests for FmtBool cell processor; add tests for writing output to StepContext transient user data; add ValidatingStepListener to validate csv writer output.
add null check in the close method of CsvItemReader and CsvItemWriter to avoid NPE and so they can be safely called multiple times. If the reader/writer is already closed then invoking this method has no effect.
replace csv writer property overwrite with the more general writeMode that supports append, overwrite and failIfExists; add tests to ParseBoolTest class to cover writeMode property.
fix the execution flow after StepListener.afterStep(); add tests to SleepBatchletTest to verify that step and job are in correct status after exception from beforeJob, afterJob, beforeStep, or afterStep.