IN PROGRESS - issue BATCH-267: Re-organise I/O (io) packages

http://jira.springframework.org/browse/BATCH-267

Initial draft - separating flat file and xml processing
This commit is contained in:
dsyer
2007-12-31 15:42:15 +00:00
parent 193f406e12
commit 3ee3007c46
116 changed files with 233 additions and 225 deletions

View File

@@ -16,7 +16,7 @@
package org.springframework.batch.sample.dao;
import org.springframework.batch.io.ItemWriter;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.sample.domain.CustomerCredit;
/**

View File

@@ -16,7 +16,7 @@
package org.springframework.batch.sample.dao;
import org.springframework.batch.io.ItemWriter;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.item.ResourceLifecycle;
import org.springframework.batch.sample.domain.CustomerCredit;
import org.springframework.beans.factory.DisposableBean;

View File

@@ -16,8 +16,8 @@
package org.springframework.batch.sample.dao;
import org.springframework.batch.io.ItemWriter;
import org.springframework.batch.io.file.support.transform.Converter;
import org.springframework.batch.io.file.transform.Converter;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.sample.domain.Order;

View File

@@ -15,7 +15,7 @@
*/
package org.springframework.batch.sample.dao;
import org.springframework.batch.io.ItemWriter;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.sample.domain.CustomerCredit;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

View File

@@ -1,6 +1,6 @@
package org.springframework.batch.sample.dao;
import org.springframework.batch.io.ItemWriter;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.sample.domain.Game;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.springframework.util.Assert;

View File

@@ -1,6 +1,6 @@
package org.springframework.batch.sample.dao;
import org.springframework.batch.io.ItemWriter;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.sample.domain.PlayerSummary;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.springframework.util.Assert;

View File

@@ -21,8 +21,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.springframework.batch.io.file.support.transform.Converter;
import org.springframework.batch.io.file.support.transform.LineAggregator;
import org.springframework.batch.io.file.transform.Converter;
import org.springframework.batch.io.file.transform.LineAggregator;
import org.springframework.batch.sample.domain.Address;
import org.springframework.batch.sample.domain.BillingInfo;
import org.springframework.batch.sample.domain.Customer;

View File

@@ -16,7 +16,7 @@
package org.springframework.batch.sample.dao;
import org.springframework.batch.io.ItemWriter;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.sample.domain.Trade;

View File

@@ -2,8 +2,8 @@ package org.springframework.batch.sample.item.processor;
import java.math.BigDecimal;
import org.springframework.batch.io.ItemWriter;
import org.springframework.batch.item.ItemProcessor;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.sample.domain.CustomerCredit;
/**

View File

@@ -1,6 +1,6 @@
package org.springframework.batch.sample.item.processor;
import org.springframework.batch.io.file.support.FlatFileItemWriter;
import org.springframework.batch.io.file.FlatFileItemWriter;
import org.springframework.batch.item.ItemProcessor;
public class DefaultFlatFileProcessor implements ItemProcessor{

View File

@@ -20,7 +20,7 @@ import java.util.Properties;
import org.springframework.batch.core.tasklet.Tasklet;
import org.springframework.batch.execution.tasklet.ItemOrientedTasklet;
import org.springframework.batch.io.file.support.DefaultFlatFileItemReader;
import org.springframework.batch.io.file.DefaultFlatFileItemReader;
import org.springframework.batch.repeat.ExitStatus;
import org.springframework.batch.sample.dao.TradeWriter;
import org.springframework.batch.sample.domain.Trade;

View File

@@ -50,7 +50,7 @@
<!-- INFRASTRUCTURE SETUP -->
<bean id="fileInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
<bean id="fileInputTemplate" class="org.springframework.batch.io.file.DefaultFlatFileItemReader"
scope="step" >
<aop:scoped-proxy />
<property name="resource" ref="fileLocator" />
@@ -58,7 +58,7 @@
<property name="fieldSetMapper" ref="fieldSetMapper" />
</bean>
<bean id="fileInputTemplate2" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
<bean id="fileInputTemplate2" class="org.springframework.batch.io.file.DefaultFlatFileItemReader"
scope="step">
<aop:scoped-proxy />
<property name="resource" ref="fileLocator2" />
@@ -68,13 +68,13 @@
</bean>
<bean id="fixedFileDescriptor"
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN,Quantity,price, CUSTOMER" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>
<bean id="fixedFileDescriptor2"
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
<property name="names" value="Title, FirstName, LastName, Age, Address.AddrLine1, children[0].name, children[1].name" />
<property name="columns" value="1-5, 6-20, 21-40, 41-45, 46-55, 56-65, 66-75" />
</bean>
@@ -114,11 +114,11 @@
value="data/beanWrapperMapperSampleJob/input/20070122.teststream.ImportPersonDataStep.txt" />
</bean>
<bean id="fieldSetMapper" class="org.springframework.batch.io.file.support.mapping.BeanWrapperFieldSetMapper">
<bean id="fieldSetMapper" class="org.springframework.batch.io.file.mapping.BeanWrapperFieldSetMapper">
<property name="prototypeBeanName" value="trade"/>
</bean>
<bean id="fieldSetMapper2" class="org.springframework.batch.io.file.support.mapping.BeanWrapperFieldSetMapper">
<bean id="fieldSetMapper2" class="org.springframework.batch.io.file.mapping.BeanWrapperFieldSetMapper">
<property name="prototypeBeanName" value="person"/>
</bean>

View File

@@ -46,7 +46,7 @@
<!-- INFRASTRUCTURE SETUP -->
<bean id="fileInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
<bean id="fileInputTemplate" class="org.springframework.batch.io.file.DefaultFlatFileItemReader"
scope="step">
<aop:scoped-proxy />
<property name="resource" ref="fileLocator" />
@@ -54,7 +54,7 @@
<property name="fieldSetMapper" ref="fieldSetMapper" />
</bean>
<bean id="fixedFileDescriptor" class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
<bean id="fixedFileDescriptor" class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN, Quantity, Price, Customer" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>
@@ -83,7 +83,7 @@
</property>
</bean>
<bean class="org.springframework.batch.io.file.support.FlatFileItemWriter" id="flatFileOutputSource">
<bean class="org.springframework.batch.io.file.FlatFileItemWriter" id="flatFileOutputSource">
<property name="resource" ref="customerFileLocator" />
</bean>

View File

@@ -37,7 +37,7 @@
<!-- INFRASTRUCTURE SETUP -->
<!-- This input source is injected into the test case to verify the output - not used by the job at all -->
<bean id="testInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader">
<bean id="testInputTemplate" class="org.springframework.batch.io.file.DefaultFlatFileItemReader">
<property name="resource" ref="fileLocator" />
<property name="tokenizer" ref="fixedFileDescriptor" />
<property name="fieldSetMapper" ref="fieldSetMapper" />
@@ -47,7 +47,7 @@
<aop:scoped-proxy/>
</bean>
<bean id="fixedFileDescriptor" class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
<bean id="fixedFileDescriptor" class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN, Quantity, Price, Customer" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>

View File

@@ -96,12 +96,12 @@
</bean>
<bean id="playerFileItemReader"
class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader" scope="step">
class="org.springframework.batch.io.file.DefaultFlatFileItemReader" scope="step">
<aop:scoped-proxy/>
<property name="resource" value="classpath:data/footballjob/input/player.csv" />
<property name="tokenizer">
<bean
class="org.springframework.batch.io.file.support.transform.DelimitedLineTokenizer">
class="org.springframework.batch.io.file.transform.DelimitedLineTokenizer">
<property name="names"
value="ID,lastName,firstName,position,birthYear,debutYear" />
</bean>
@@ -113,12 +113,12 @@
</bean>
<bean id="gameFileItemReader"
class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader" scope="step">
class="org.springframework.batch.io.file.DefaultFlatFileItemReader" scope="step">
<aop:scoped-proxy/>
<property name="resource" value="classpath:data/footballjob/input/games.csv"/>
<property name="tokenizer">
<bean
class="org.springframework.batch.io.file.support.transform.DelimitedLineTokenizer">
class="org.springframework.batch.io.file.transform.DelimitedLineTokenizer">
<property name="names"
value="id,year,team,week,opponent,completes,attempts,passingYards,passingTd,interceptions,rushes,rushYards,receptions,receptionYards,totalTd" />
</bean>

View File

@@ -28,7 +28,7 @@
class="org.springframework.batch.sample.item.processor.DefaultFlatFileProcessor">
<property name="flatFileOutputSource">
<bean
class="org.springframework.batch.io.file.support.FlatFileItemWriter"
class="org.springframework.batch.io.file.FlatFileItemWriter"
scope="step">
<aop:scoped-proxy />
<property name="resource"
@@ -44,7 +44,7 @@
</bean>
<bean id="fileItemReader"
class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
class="org.springframework.batch.io.file.DefaultFlatFileItemReader"
scope="step">
<aop:scoped-proxy />
<property name="resource"
@@ -58,7 +58,7 @@
class="org.springframework.batch.sample.mapping.TradeFieldSetMapper" />
<bean id="fixedFileDescriptor"
class="org.springframework.batch.io.file.support.transform.PrefixMatchingCompositeLineTokenizer">
class="org.springframework.batch.io.file.transform.PrefixMatchingCompositeLineTokenizer">
<property name="tokenizers">
<map>
<entry key="BEGIN" value-ref="beginRecordDescriptor" />
@@ -69,17 +69,17 @@
</bean>
<bean id="beginRecordDescriptor"
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
<property name="columns" value="1-5" />
</bean>
<bean id="endRecordDescriptor"
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
<property name="columns" value="1-3" />
</bean>
<bean id="tradeRecordDescriptor"
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN,Quantity,Price,Customer" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>

View File

@@ -4,7 +4,7 @@
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="orderFileDescriptor"
class="org.springframework.batch.io.file.support.transform.PrefixMatchingCompositeLineTokenizer">
class="org.springframework.batch.io.file.transform.PrefixMatchingCompositeLineTokenizer">
<property name="tokenizers">
<map>
<entry key="HEA" value-ref="headerRecordDescriptor" />
@@ -22,12 +22,12 @@
</bean>
<bean id="defaultLineDescriptor"
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
<property name="columns" value="1-120" />
</bean>
<bean id="parentLineDescriptor" abstract="true"
class="org.springframework.batch.io.file.support.transform.DelimitedLineTokenizer">
class="org.springframework.batch.io.file.transform.DelimitedLineTokenizer">
<property name="delimiter" value=";"/>
</bean>

View File

@@ -8,7 +8,7 @@
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<bean id="fileInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
<bean id="fileInputTemplate" class="org.springframework.batch.io.file.DefaultFlatFileItemReader"
scope="step">
<aop:scoped-proxy />
<property name="resource" ref="fileInputLocator" />
@@ -18,14 +18,14 @@
</property>
</bean>
<bean id="flatFileOutputSource" class="org.springframework.batch.io.file.support.FlatFileItemWriter"
<bean id="flatFileOutputSource" class="org.springframework.batch.io.file.FlatFileItemWriter"
scope="step" >
<aop:scoped-proxy />
<property name="resource" ref="fileOutputLocator" />
</bean>
<bean id="delimitedLineAggregator" class="org.springframework.batch.io.file.support.transform.DelimitedLineTokenizer" />
<bean id="delimitedLineAggregator" class="org.springframework.batch.io.file.transform.DelimitedLineTokenizer" />
<bean id="fixedLineAggregator" class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator" />
<bean id="fixedLineAggregator" class="org.springframework.batch.io.file.transform.FixedLengthLineAggregator" />
</beans>

View File

@@ -14,26 +14,26 @@
<entry key="item" value-ref="outputLineItem" />
</util:map>
<bean id="outputHeader" class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
<bean id="outputHeader" class="org.springframework.batch.io.file.transform.FixedLengthLineAggregator"
p:columns="1-12,13-22,23-52" />
<bean id="outputFooter"
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
class="org.springframework.batch.io.file.transform.FixedLengthLineAggregator"
p:columns="1-10,11-30" />
<bean id="outputCustomer" class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
<bean id="outputCustomer" class="org.springframework.batch.io.file.transform.FixedLengthLineAggregator"
p:columns="1-9,10-19,20-29,30-39,40-49" />
<bean id="outputAddress"
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
class="org.springframework.batch.io.file.transform.FixedLengthLineAggregator"
p:columns="1-8,9-28,29-38,39-48" />
<bean id="outputBilling"
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
class="org.springframework.batch.io.file.transform.FixedLengthLineAggregator"
p:columns="1-8,9-18,19-38" />
<bean id="outputLineItem"
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
class="org.springframework.batch.io.file.transform.FixedLengthLineAggregator"
p:columns="1-5,6-15,16-25" />
</beans>

View File

@@ -104,7 +104,7 @@
<!-- This input source is injected into the test case to verify the output - not used by the job at all -->
<bean id="testInputTemplate"
class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader">
class="org.springframework.batch.io.file.DefaultFlatFileItemReader">
<property name="resource" ref="fileLocator" />
<property name="tokenizer" ref="fixedFileDescriptor" />
<property name="fieldSetMapper" ref="fieldSetMapper" />
@@ -116,7 +116,7 @@
</bean>
<bean id="fixedFileDescriptor"
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN, Quantity, Price, Customer" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>

View File

@@ -38,7 +38,7 @@
<!-- INFRASTRUCTURE SETUP -->
<bean id="fileItemReader" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
<bean id="fileItemReader" class="org.springframework.batch.io.file.DefaultFlatFileItemReader"
scope="step" >
<aop:scoped-proxy />
<property name="resource" ref="fileLocator" />
@@ -46,7 +46,7 @@
<property name="fieldSetMapper" ref="fieldSetMapper" />
</bean>
<bean id="fixedFileDescriptor" class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
<bean id="fixedFileDescriptor" class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN, Quantity, Price, Customer" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>

View File

@@ -39,7 +39,7 @@
</bean>
<!-- This input source is injected into the test case to verify the output - not used by the job at all -->
<bean id="testInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader">
<bean id="testInputTemplate" class="org.springframework.batch.io.file.DefaultFlatFileItemReader">
<property name="resource" ref="fileLocator" />
<property name="tokenizer" ref="tradeTokenizer" />
<property name="fieldSetMapper" ref="tradeMapper" />
@@ -60,7 +60,7 @@
</bean>
<bean id="tradeTokenizer"
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN, Quantity, Price, Customer" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>

View File

@@ -28,7 +28,7 @@
<aop:scoped-proxy />
<property name="outputSource">
<bean
class="org.springframework.batch.io.file.support.FlatFileItemWriter"
class="org.springframework.batch.io.file.FlatFileItemWriter"
id="customerFlatFileOutputSource">
<property name="resource" ref="customerFileLocator" />
</bean>
@@ -36,7 +36,7 @@
</bean>
<bean
class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
class="org.springframework.batch.io.file.DefaultFlatFileItemReader"
id="fileInputTemplate" scope="step">
<aop:scoped-proxy />
<property name="resource" ref="fileLocator" />
@@ -48,7 +48,7 @@
</bean>
<bean id="tradeFileDescriptor"
class="org.springframework.batch.io.file.support.transform.DelimitedLineTokenizer">
class="org.springframework.batch.io.file.transform.DelimitedLineTokenizer">
<property name="names" value="ISIN, Quantity, Price, Customer" />
</bean>

View File

@@ -22,7 +22,7 @@
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
<property name="itemReader">
<bean
class="org.springframework.batch.io.file.support.StaxEventReaderItemReader"
class="org.springframework.batch.io.xml.StaxEventReaderItemReader"
scope="step">
<aop:scoped-proxy />
<property name="fragmentRootElementName"
@@ -31,7 +31,7 @@
value="data/staxJob/input/20070918.testStream.xmlFileStep.xml" />
<property name="fragmentDeserializer">
<bean
class="org.springframework.batch.io.file.support.oxm.UnmarshallingFragmentDeserializer">
class="org.springframework.batch.io.xml.oxm.UnmarshallingFragmentDeserializer">
<constructor-arg>
<bean
class="org.springframework.oxm.xstream.XStreamMarshaller">
@@ -56,7 +56,7 @@
</bean>
<bean
class="org.springframework.batch.io.file.support.StaxEventWriterItemWriter"
class="org.springframework.batch.io.xml.StaxEventWriterItemWriter"
id="tradeStaxWriter">
<property name="resource"
value="file:target/test-outputs/20070918.testStream.xmlFileStep.output.xml" />
@@ -66,7 +66,7 @@
</bean>
<bean
class="org.springframework.batch.io.file.support.oxm.MarshallingObjectToXmlSerializer"
class="org.springframework.batch.io.xml.oxm.MarshallingObjectToXmlSerializer"
id="tradeMarshallingSerializer">
<constructor-arg>
<bean

View File

@@ -133,9 +133,9 @@
class="org.springframework.batch.support.IntArrayPropertyEditor" />
</entry>
<entry
key="org.springframework.batch.io.file.support.transform.Range[]">
key="org.springframework.batch.io.file.transform.Range[]">
<bean
class="org.springframework.batch.io.file.support.transform.RangeArrayPropertyEditor" />
class="org.springframework.batch.io.file.transform.RangeArrayPropertyEditor" />
</entry>
<entry key="java.util.Date">
<bean

View File

@@ -21,7 +21,7 @@ import java.io.FileReader;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.batch.io.file.support.DefaultFlatFileItemReader;
import org.springframework.batch.io.file.DefaultFlatFileItemReader;
import org.springframework.batch.sample.domain.Trade;
import org.springframework.core.io.Resource;
import org.springframework.jdbc.core.JdbcOperations;

View File

@@ -16,7 +16,7 @@
package org.springframework.batch.sample;
import org.springframework.batch.io.file.support.transform.LineAggregator;
import org.springframework.batch.io.file.transform.LineAggregator;
/**

View File

@@ -2,7 +2,7 @@ package org.springframework.batch.sample.dao;
import java.math.BigDecimal;
import org.springframework.batch.io.ItemWriter;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.item.ResourceLifecycle;
import org.springframework.batch.sample.domain.CustomerCredit;

View File

@@ -9,8 +9,8 @@ import java.util.Map;
import junit.framework.TestCase;
import org.springframework.batch.io.ItemWriter;
import org.springframework.batch.io.file.support.transform.LineAggregator;
import org.springframework.batch.io.file.transform.LineAggregator;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.sample.LineAggregatorStub;
import org.springframework.batch.sample.domain.Address;
import org.springframework.batch.sample.domain.BillingInfo;

View File

@@ -23,7 +23,7 @@ import java.util.HashMap;
import junit.framework.TestCase;
import org.springframework.batch.io.file.support.transform.DelimitedLineAggregator;
import org.springframework.batch.io.file.transform.DelimitedLineAggregator;
import org.springframework.batch.sample.domain.Address;
import org.springframework.batch.sample.domain.BillingInfo;
import org.springframework.batch.sample.domain.Customer;

View File

@@ -5,7 +5,7 @@ import java.math.BigDecimal;
import junit.framework.TestCase;
import org.easymock.MockControl;
import org.springframework.batch.io.ItemWriter;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.sample.domain.CustomerCredit;
/**

View File

@@ -2,7 +2,7 @@ package org.springframework.batch.sample.item.processor;
import junit.framework.TestCase;
import org.springframework.batch.io.file.support.FlatFileItemWriter;
import org.springframework.batch.io.file.FlatFileItemWriter;
import org.springframework.batch.sample.item.processor.DefaultFlatFileProcessor;
public class DefaultFlatFileProcessorTests extends TestCase {

View File

@@ -4,7 +4,7 @@ import java.math.BigDecimal;
import junit.framework.TestCase;
import org.springframework.batch.io.file.support.DefaultFlatFileItemReader;
import org.springframework.batch.io.file.DefaultFlatFileItemReader;
import org.springframework.batch.sample.dao.TradeWriter;
import org.springframework.batch.sample.domain.Trade;