IN PROGRESS - issue BATCH-212: Merge InputSource with ItemProvider
http://opensource.atlassian.com/projects/spring/browse/BATCH-212 Merge InputSource/ItemProvider -> ItemReader.
This commit is contained in:
@@ -20,12 +20,12 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.batch.item.ItemProcessor;
|
||||
import org.springframework.batch.item.ItemProvider;
|
||||
import org.springframework.batch.item.ItemReader;
|
||||
|
||||
|
||||
/**
|
||||
* Custom class that contains logic that would normally be
|
||||
* be contained in {@link ItemProvider} (<code>getData()</code>) and
|
||||
* be contained in {@link ItemReader} (<code>getData()</code>) and
|
||||
* {@link ItemProcessor} (<code>processData(..)</code>).
|
||||
*
|
||||
* @author tomas.slanina
|
||||
|
||||
@@ -22,10 +22,10 @@ import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.batch.core.configuration.StepConfiguration;
|
||||
import org.springframework.batch.core.domain.StepExecution;
|
||||
import org.springframework.batch.io.InputSource;
|
||||
import org.springframework.batch.io.file.FieldSet;
|
||||
import org.springframework.batch.io.file.FieldSetMapper;
|
||||
import org.springframework.batch.item.provider.AbstractItemProvider;
|
||||
import org.springframework.batch.item.ItemReader;
|
||||
import org.springframework.batch.item.provider.AbstractItemReader;
|
||||
import org.springframework.batch.item.validator.Validator;
|
||||
import org.springframework.batch.sample.domain.Address;
|
||||
import org.springframework.batch.sample.domain.BillingInfo;
|
||||
@@ -40,9 +40,9 @@ import org.springframework.batch.sample.domain.ShippingInfo;
|
||||
* @author peter.zozom
|
||||
*
|
||||
*/
|
||||
public class OrderItemProvider extends AbstractItemProvider {
|
||||
private static Log log = LogFactory.getLog(OrderItemProvider.class);
|
||||
private InputSource inputSource;
|
||||
public class OrderItemReader extends AbstractItemReader {
|
||||
private static Log log = LogFactory.getLog(OrderItemReader.class);
|
||||
private ItemReader inputSource;
|
||||
private Order order;
|
||||
private boolean recordFinished;
|
||||
private FieldSetMapper headerMapper;
|
||||
@@ -54,9 +54,10 @@ public class OrderItemProvider extends AbstractItemProvider {
|
||||
private Validator validator;
|
||||
|
||||
/**
|
||||
* @see org.springframework.batch.item.ItemProvider#next()
|
||||
* @throws Exception
|
||||
* @see org.springframework.batch.item.ItemReader#read()
|
||||
*/
|
||||
public Object next() {
|
||||
public Object read() throws Exception {
|
||||
recordFinished = false;
|
||||
|
||||
while (!recordFinished) {
|
||||
@@ -190,7 +191,7 @@ public class OrderItemProvider extends AbstractItemProvider {
|
||||
this.headerMapper = headerMapper;
|
||||
}
|
||||
|
||||
public void setInputSource(InputSource inputSource) {
|
||||
public void setItemReader(ItemReader inputSource) {
|
||||
this.inputSource = inputSource;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.batch.execution.scope.StepContext;
|
||||
import org.springframework.batch.execution.scope.StepContextAware;
|
||||
import org.springframework.batch.item.ItemProvider;
|
||||
import org.springframework.batch.item.ItemReader;
|
||||
import org.springframework.batch.item.ResourceLifecycle;
|
||||
import org.springframework.batch.repeat.synch.BatchTransactionSynchronizationManager;
|
||||
import org.springframework.batch.sample.item.processor.StagingItemProcessor;
|
||||
@@ -26,14 +26,14 @@ import org.springframework.transaction.support.TransactionSynchronizationAdapter
|
||||
import org.springframework.transaction.support.TransactionSynchronizationManager;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
public class StagingItemProvider extends JdbcDaoSupport implements
|
||||
ItemProvider, ResourceLifecycle, DisposableBean,
|
||||
public class StagingItemReader extends JdbcDaoSupport implements
|
||||
ItemReader, ResourceLifecycle, DisposableBean,
|
||||
StepContextAware {
|
||||
|
||||
// Key for buffer in transaction synchronization manager
|
||||
private static final String BUFFER_KEY = StagingItemProvider.class.getName()+".BUFFER";
|
||||
private static final String BUFFER_KEY = StagingItemReader.class.getName()+".BUFFER";
|
||||
|
||||
private static Log logger = LogFactory.getLog(StagingItemProvider.class);
|
||||
private static Log logger = LogFactory.getLog(StagingItemReader.class);
|
||||
|
||||
private StepContext stepContext;
|
||||
|
||||
@@ -49,7 +49,7 @@ public class StagingItemProvider extends JdbcDaoSupport implements
|
||||
|
||||
/**
|
||||
*
|
||||
* @see org.springframework.batch.io.driving.DrivingQueryInputSource#close()
|
||||
* @see org.springframework.batch.io.driving.DrivingQueryItemReader#close()
|
||||
*/
|
||||
public void close() {
|
||||
initialized = false;
|
||||
@@ -61,7 +61,7 @@ public class StagingItemProvider extends JdbcDaoSupport implements
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
* @see org.springframework.batch.io.driving.DrivingQueryInputSource#destroy()
|
||||
* @see org.springframework.batch.io.driving.DrivingQueryItemReader#destroy()
|
||||
*/
|
||||
public void destroy() throws Exception {
|
||||
close();
|
||||
@@ -69,7 +69,7 @@ public class StagingItemProvider extends JdbcDaoSupport implements
|
||||
|
||||
/**
|
||||
*
|
||||
* @see org.springframework.batch.io.driving.DrivingQueryInputSource#open()
|
||||
* @see org.springframework.batch.io.driving.DrivingQueryItemReader#open()
|
||||
*/
|
||||
public void open() {
|
||||
Assert.state(keys == null || initialized,
|
||||
@@ -122,8 +122,8 @@ public class StagingItemProvider extends JdbcDaoSupport implements
|
||||
return item;
|
||||
}
|
||||
|
||||
public Object next() throws Exception {
|
||||
Long id = read();
|
||||
public Object read() throws Exception {
|
||||
Long id = doRead();
|
||||
|
||||
if (id == null) {
|
||||
return null;
|
||||
@@ -152,7 +152,7 @@ public class StagingItemProvider extends JdbcDaoSupport implements
|
||||
return result;
|
||||
}
|
||||
|
||||
private Long read() {
|
||||
private Long doRead() {
|
||||
if (!initialized) {
|
||||
open();
|
||||
}
|
||||
@@ -18,7 +18,7 @@ package org.springframework.batch.sample.tasklet;
|
||||
|
||||
|
||||
import org.springframework.batch.core.tasklet.Tasklet;
|
||||
import org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet;
|
||||
import org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet;
|
||||
import org.springframework.batch.io.exception.BatchCriticalException;
|
||||
import org.springframework.batch.repeat.ExitStatus;
|
||||
|
||||
@@ -29,7 +29,7 @@ import org.springframework.batch.repeat.ExitStatus;
|
||||
* @author Robert Kasanicky
|
||||
*
|
||||
*/
|
||||
public class ExceptionRestartableTasklet extends RestartableItemProviderTasklet {
|
||||
public class ExceptionRestartableTasklet extends RestartableItemOrientedTasklet {
|
||||
|
||||
private int counter = 0;
|
||||
private int throwExceptionOnRecordNumber = 4;
|
||||
|
||||
@@ -19,8 +19,8 @@ package org.springframework.batch.sample.tasklet;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.springframework.batch.core.tasklet.Tasklet;
|
||||
import org.springframework.batch.execution.tasklet.ItemProviderProcessTasklet;
|
||||
import org.springframework.batch.io.file.support.DefaultFlatFileInputSource;
|
||||
import org.springframework.batch.execution.tasklet.ItemOrientedTasklet;
|
||||
import org.springframework.batch.io.file.support.DefaultFlatFileItemReader;
|
||||
import org.springframework.batch.repeat.ExitStatus;
|
||||
import org.springframework.batch.sample.dao.TradeWriter;
|
||||
import org.springframework.batch.sample.domain.Trade;
|
||||
@@ -31,7 +31,7 @@ import org.springframework.batch.statistics.StatisticsProvider;
|
||||
* and processing of input data. This can be viable in cases, when the input
|
||||
* reading and processing logic need not to be reused in different contexts. In
|
||||
* general it is recommended to separate these two concerns using an
|
||||
* {@link ItemProviderProcessTasklet}.
|
||||
* {@link ItemOrientedTasklet}.
|
||||
*
|
||||
* Note this class is thread-safe, as per the 'standard' module implementations
|
||||
* provided by the framework.
|
||||
@@ -45,7 +45,7 @@ public class SimpleTradeTasklet implements Tasklet, StatisticsProvider {
|
||||
/*
|
||||
* reads the data from input file
|
||||
*/
|
||||
private DefaultFlatFileInputSource inputSource;
|
||||
private DefaultFlatFileItemReader inputSource;
|
||||
|
||||
/*
|
||||
* writes a Trade object to output
|
||||
@@ -76,7 +76,7 @@ public class SimpleTradeTasklet implements Tasklet, StatisticsProvider {
|
||||
return ExitStatus.CONTINUABLE;
|
||||
}
|
||||
|
||||
public void setInputSource(DefaultFlatFileInputSource inputTemplate) {
|
||||
public void setItemReader(DefaultFlatFileItemReader inputTemplate) {
|
||||
this.inputSource = inputTemplate;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
<bean id="step1" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.ValidatingItemProvider">
|
||||
<property name="inputSource" ref="fileInputTemplate" />
|
||||
class="org.springframework.batch.item.provider.ValidatingItemReader">
|
||||
<property name="itemReader" ref="fileInputTemplate" />
|
||||
<property name="validator" ref="fixedValidator" />
|
||||
</bean>
|
||||
</property>
|
||||
@@ -35,11 +35,11 @@
|
||||
<bean id="step2" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource" ref="fileInputTemplate2" />
|
||||
class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader" ref="fileInputTemplate2" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemProcessor">
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
<!-- INFRASTRUCTURE SETUP -->
|
||||
|
||||
<bean id="fileInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileInputSource"
|
||||
<bean id="fileInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
|
||||
scope="step" >
|
||||
<aop:scoped-proxy />
|
||||
<property name="resource" ref="fileLocator" />
|
||||
@@ -63,7 +63,7 @@
|
||||
<property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
</bean>
|
||||
|
||||
<bean id="fileInputTemplate2" class="org.springframework.batch.io.file.support.DefaultFlatFileInputSource"
|
||||
<bean id="fileInputTemplate2" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="resource" ref="fileLocator2" />
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
<bean id="step1" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.ValidatingItemProvider">
|
||||
<property name="inputSource" ref="fileInputTemplate" />
|
||||
class="org.springframework.batch.item.provider.ValidatingItemReader">
|
||||
<property name="itemReader" ref="fileInputTemplate" />
|
||||
<property name="validator" ref="fixedValidator" />
|
||||
</bean>
|
||||
</property>
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
<!-- INFRASTRUCTURE SETUP -->
|
||||
|
||||
<bean id="fileInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileInputSource"
|
||||
<bean id="fileInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="resource" ref="fileLocator" />
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
<bean id="step1" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.ItemProviderProcessTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.ItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean class="org.springframework.batch.item.provider.DelegatingItemProvider">
|
||||
<bean class="org.springframework.batch.item.provider.ItemReaderAdapter">
|
||||
<property name="targetObject" ref="delegatingObject" />
|
||||
<property name="targetMethod" value="getData" />
|
||||
</bean>
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
<bean id="step1" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.ValidatingItemProvider">
|
||||
<property name="inputSource" ref="fileInputTemplate" />
|
||||
class="org.springframework.batch.item.provider.ValidatingItemReader">
|
||||
<property name="itemReader" ref="fileInputTemplate" />
|
||||
<property name="validator" ref="fixedValidator" />
|
||||
</bean>
|
||||
</property>
|
||||
@@ -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.DefaultFlatFileInputSource">
|
||||
<bean id="testInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader">
|
||||
<property name="resource" ref="fileLocator" />
|
||||
<property name="tokenizer" ref="fixedFileDescriptor" />
|
||||
<property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
|
||||
@@ -26,12 +26,12 @@
|
||||
<property name="allowStartIfComplete" value="false" />
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource"
|
||||
ref="playerFileInputSource" />
|
||||
class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="playerFileItemReader" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemProcessor">
|
||||
@@ -56,12 +56,12 @@
|
||||
<property name="saveRestartData" value="true" />
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource"
|
||||
ref="gameFileInputSource" />
|
||||
class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="gameFileItemReader" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemProcessor">
|
||||
@@ -86,11 +86,11 @@
|
||||
<property name="saveRestartData" value="true" />
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource"
|
||||
class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="playerSummarizationSource" />
|
||||
</bean>
|
||||
</property>
|
||||
@@ -113,8 +113,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="playerFileInputSource"
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileInputSource" scope="step">
|
||||
<bean id="playerFileItemReader"
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader" scope="step">
|
||||
<aop:scoped-proxy/>
|
||||
<property name="resource" value="classpath:data/footballjob/input/player.csv" />
|
||||
<property name="tokenizer">
|
||||
@@ -130,8 +130,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="gameFileInputSource"
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileInputSource" scope="step">
|
||||
<bean id="gameFileItemReader"
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader" scope="step">
|
||||
<aop:scoped-proxy/>
|
||||
<property name="resource" value="classpath:data/footballjob/input/games.csv"/>
|
||||
<property name="tokenizer">
|
||||
@@ -148,7 +148,7 @@
|
||||
</bean>
|
||||
|
||||
<bean id="playerSummarizationSource"
|
||||
class="org.springframework.batch.io.cursor.JdbcCursorInputSource" scope="step">
|
||||
class="org.springframework.batch.io.cursor.JdbcCursorItemReader" scope="step">
|
||||
<aop:scoped-proxy/>
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="mapper">
|
||||
|
||||
@@ -20,12 +20,12 @@
|
||||
class="org.springframework.batch.execution.step.RepeatOperationsStepConfiguration">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource"
|
||||
ref="hibernateInputSource" />
|
||||
class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="hibernateItemReader" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemProcessor">
|
||||
@@ -76,8 +76,8 @@
|
||||
<property name="sessionFactory" ref="sessionFactory" />
|
||||
</bean>
|
||||
|
||||
<bean id="hibernateInputSource"
|
||||
class="org.springframework.batch.io.cursor.HibernateCursorInputSource"
|
||||
<bean id="hibernateItemReader"
|
||||
class="org.springframework.batch.io.cursor.HibernateCursorItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="queryString" value="from CustomerCredit" />
|
||||
|
||||
@@ -19,10 +19,10 @@
|
||||
<bean id="step1" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource" ref="ibatisInputSource" />
|
||||
<bean class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader" ref="ibatisItemReader" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemProcessor">
|
||||
@@ -43,7 +43,7 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="ibatisInputSource" class="org.springframework.batch.io.driving.IbatisDrivingQueryInputSource"
|
||||
<bean id="ibatisItemReader" class="org.springframework.batch.io.driving.IbatisDrivingQueryItemReader"
|
||||
scope="step" >
|
||||
<aop:scoped-proxy />
|
||||
<property name="detailsQueryId" value="getCustomerCreditById" />
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
<bean id="step1" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.AggregateItemProvider">
|
||||
<property name="inputSource"
|
||||
ref="fileInputSource" />
|
||||
class="org.springframework.batch.item.provider.AggregateItemReader">
|
||||
<property name="itemReader"
|
||||
ref="fileItemReader" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemProcessor">
|
||||
@@ -43,8 +43,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="fileInputSource"
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileInputSource"
|
||||
<bean id="fileItemReader"
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="resource"
|
||||
|
||||
@@ -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.DefaultFlatFileInputSource"
|
||||
<bean id="fileInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="resource" ref="fileInputLocator" />
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
<bean id="step1" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean class="org.springframework.batch.sample.item.provider.OrderItemProvider">
|
||||
<property name="inputSource" ref="fileInputTemplate" />
|
||||
<bean class="org.springframework.batch.sample.item.provider.OrderItemReader">
|
||||
<property name="itemReader" ref="fileInputTemplate" />
|
||||
<property name="headerMapper" ref="headerFieldSetMapper" />
|
||||
<property name="customerMapper" ref="customerFieldSetMapper" />
|
||||
<property name="addressMapper" ref="addressFieldSetMapper" />
|
||||
|
||||
@@ -21,12 +21,12 @@
|
||||
<bean id="staging" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource"
|
||||
ref="playerFileInputSource" />
|
||||
class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="playerFileItemReader" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemProcessor">
|
||||
@@ -56,10 +56,10 @@
|
||||
class="org.springframework.batch.execution.step.RepeatOperationsStepConfiguration">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.ItemProviderProcessTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.ItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.item.provider.StagingItemProvider"
|
||||
class="org.springframework.batch.sample.item.provider.StagingItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="dataSource"
|
||||
@@ -109,12 +109,12 @@
|
||||
<property name="saveRestartData" value="true" />
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource"
|
||||
ref="gameFileInputSource" />
|
||||
class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="gameFileItemReader" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemProcessor">
|
||||
@@ -139,11 +139,11 @@
|
||||
<property name="saveRestartData" value="true" />
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource"
|
||||
class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="playerSummarizationSource" />
|
||||
</bean>
|
||||
</property>
|
||||
@@ -166,8 +166,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="playerFileInputSource"
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileInputSource"
|
||||
<bean id="playerFileItemReader"
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="resource"
|
||||
@@ -185,8 +185,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="gameFileInputSource"
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileInputSource"
|
||||
<bean id="gameFileItemReader"
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="resource"
|
||||
@@ -205,7 +205,7 @@
|
||||
</bean>
|
||||
|
||||
<bean id="playerSummarizationSource"
|
||||
class="org.springframework.batch.io.cursor.JdbcCursorInputSource"
|
||||
class="org.springframework.batch.io.cursor.JdbcCursorItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
<bean class="org.springframework.batch.sample.tasklet.ExceptionRestartableTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.ValidatingItemProvider">
|
||||
<property name="inputSource" ref="fileInputSource" />
|
||||
class="org.springframework.batch.item.provider.ValidatingItemReader">
|
||||
<property name="itemReader" ref="fileItemReader" />
|
||||
<property name="validator" ref="fixedValidator" />
|
||||
</bean>
|
||||
</property>
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
<!-- INFRASTRUCTURE SETUP -->
|
||||
|
||||
<bean id="fileInputSource" class="org.springframework.batch.io.file.support.DefaultFlatFileInputSource"
|
||||
<bean id="fileItemReader" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
|
||||
scope="step" >
|
||||
<aop:scoped-proxy />
|
||||
<property name="resource" ref="fileLocator" />
|
||||
|
||||
@@ -43,11 +43,11 @@
|
||||
</property>
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.ValidatingItemProvider">
|
||||
<property name="inputSource"
|
||||
class="org.springframework.batch.item.provider.ValidatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="fileInputTemplate" />
|
||||
<property name="validator"
|
||||
ref="tradeValidator" />
|
||||
@@ -64,11 +64,11 @@
|
||||
<bean id="step2" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.InputSourceItemProvider"
|
||||
p:input-source-ref="tradeSqlInputSource" />
|
||||
class="org.springframework.batch.item.provider.DelegatingItemReader"
|
||||
p:item-reader-ref="tradeSqlItemReader" />
|
||||
</property>
|
||||
<property name="itemProcessor">
|
||||
<bean
|
||||
@@ -81,8 +81,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="tradeSqlInputSource"
|
||||
class="org.springframework.batch.io.cursor.JdbcCursorInputSource"
|
||||
<bean id="tradeSqlItemReader"
|
||||
class="org.springframework.batch.io.cursor.JdbcCursorItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
@@ -94,8 +94,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="customerSqlInputSource"
|
||||
class="org.springframework.batch.io.cursor.JdbcCursorInputSource"
|
||||
<bean id="customerSqlItemReader"
|
||||
class="org.springframework.batch.io.cursor.JdbcCursorItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
<property name="tasklet">
|
||||
<bean id="tradeTasklet"
|
||||
class="org.springframework.batch.sample.tasklet.SimpleTradeTasklet">
|
||||
<property name="inputSource"
|
||||
ref="fileInputSource" />
|
||||
<property name="itemReader"
|
||||
ref="fileItemReader" />
|
||||
<property name="tradeDao" ref="tradeDao" />
|
||||
</bean>
|
||||
</property>
|
||||
@@ -39,13 +39,13 @@
|
||||
</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.DefaultFlatFileInputSource">
|
||||
<bean id="testInputTemplate" class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader">
|
||||
<property name="resource" ref="fileLocator" />
|
||||
<property name="tokenizer" ref="tradeTokenizer" />
|
||||
<property name="fieldSetMapper" ref="tradeMapper" />
|
||||
</bean>
|
||||
|
||||
<bean id="fileInputSource" parent="testInputTemplate"
|
||||
<bean id="fileItemReader" parent="testInputTemplate"
|
||||
autowire-candidate="false" scope="step">
|
||||
<aop:scoped-proxy />
|
||||
</bean>
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
<bean id="step1" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.ValidatingItemProvider">
|
||||
<property name="inputSource"
|
||||
class="org.springframework.batch.item.provider.ValidatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="fileInputTemplate" />
|
||||
<property name="validator"
|
||||
ref="tradeValidator" />
|
||||
@@ -40,12 +40,12 @@
|
||||
<bean id="step2" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource"
|
||||
ref="tradeSqlInputSource" />
|
||||
class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="tradeSqlItemReader" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemProcessor">
|
||||
@@ -59,11 +59,11 @@
|
||||
<bean id="step3" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean
|
||||
class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource" ref="customerSqlInputSource" />
|
||||
class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader" ref="customerSqlItemReader" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemProcessor">
|
||||
@@ -78,8 +78,8 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="tradeSqlInputSource"
|
||||
class="org.springframework.batch.io.cursor.JdbcCursorInputSource"
|
||||
<bean id="tradeSqlItemReader"
|
||||
class="org.springframework.batch.io.cursor.JdbcCursorItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
@@ -92,7 +92,7 @@
|
||||
</bean>
|
||||
|
||||
|
||||
<bean id="customerSqlInputSource" class="org.springframework.batch.io.cursor.JdbcCursorInputSource"
|
||||
<bean id="customerSqlItemReader" class="org.springframework.batch.io.cursor.JdbcCursorItemReader"
|
||||
scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
</bean>
|
||||
|
||||
<bean
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileInputSource"
|
||||
class="org.springframework.batch.io.file.support.DefaultFlatFileItemReader"
|
||||
id="fileInputTemplate" scope="step">
|
||||
<aop:scoped-proxy />
|
||||
<property name="resource" ref="fileLocator" />
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
<bean id="step1" parent="simpleStep">
|
||||
<property name="tasklet">
|
||||
<bean
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemProviderTasklet">
|
||||
class="org.springframework.batch.execution.tasklet.RestartableItemOrientedTasklet">
|
||||
<property name="itemProvider">
|
||||
<bean class="org.springframework.batch.item.provider.InputSourceItemProvider">
|
||||
<property name="inputSource">
|
||||
<bean class="org.springframework.batch.io.file.support.StaxEventReaderInputSource" scope="step">
|
||||
<bean class="org.springframework.batch.item.provider.DelegatingItemReader">
|
||||
<property name="itemReader">
|
||||
<bean class="org.springframework.batch.io.file.support.StaxEventReaderItemReader" scope="step">
|
||||
<aop:scoped-proxy/>
|
||||
<property name="fragmentRootElementName" value="trade" />
|
||||
<property name="resource" value="data/staxJob/input/20070918.testStream.xmlFileStep.xml" />
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.io.FileReader;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.springframework.batch.io.file.support.DefaultFlatFileInputSource;
|
||||
import org.springframework.batch.io.file.support.DefaultFlatFileItemReader;
|
||||
import org.springframework.batch.sample.domain.Trade;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.jdbc.core.JdbcOperations;
|
||||
@@ -35,7 +35,7 @@ public class FixedLengthImportJobFunctionalTests extends AbstractValidatingBatch
|
||||
//auto-injected attributes
|
||||
private JdbcOperations jdbcTemplate;
|
||||
private Resource fileLocator;
|
||||
private DefaultFlatFileInputSource inputSource;
|
||||
private DefaultFlatFileItemReader inputSource;
|
||||
|
||||
protected void onSetUp() throws Exception {
|
||||
super.onSetUp();
|
||||
@@ -89,7 +89,7 @@ public class FixedLengthImportJobFunctionalTests extends AbstractValidatingBatch
|
||||
this.fileLocator = fileLocator;
|
||||
}
|
||||
|
||||
public void setDefaultFlatFileInputSource(DefaultFlatFileInputSource inputSource){
|
||||
public void setDefaultFlatFileItemReader(DefaultFlatFileItemReader inputSource){
|
||||
this.inputSource = inputSource;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,9 +5,9 @@ import java.util.Iterator;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.easymock.MockControl;
|
||||
import org.springframework.batch.io.InputSource;
|
||||
import org.springframework.batch.io.file.FieldSet;
|
||||
import org.springframework.batch.io.file.FieldSetMapper;
|
||||
import org.springframework.batch.item.ItemReader;
|
||||
import org.springframework.batch.item.validator.Validator;
|
||||
import org.springframework.batch.sample.domain.Address;
|
||||
import org.springframework.batch.sample.domain.BillingInfo;
|
||||
@@ -15,13 +15,12 @@ import org.springframework.batch.sample.domain.Customer;
|
||||
import org.springframework.batch.sample.domain.LineItem;
|
||||
import org.springframework.batch.sample.domain.Order;
|
||||
import org.springframework.batch.sample.domain.ShippingInfo;
|
||||
import org.springframework.batch.sample.item.provider.OrderItemProvider;
|
||||
|
||||
public class OrderItemProviderTests extends TestCase {
|
||||
public class OrderItemReaderTests extends TestCase {
|
||||
|
||||
private OrderItemProvider provider;
|
||||
private OrderItemReader provider;
|
||||
private MockControl inputControl;
|
||||
private InputSource input;
|
||||
private ItemReader input;
|
||||
private MockControl mapperControl;
|
||||
private FieldSetMapper mapper;
|
||||
private MockControl validatorControl;
|
||||
@@ -29,11 +28,11 @@ public class OrderItemProviderTests extends TestCase {
|
||||
|
||||
public void setUp() {
|
||||
|
||||
inputControl = MockControl.createControl(InputSource.class);
|
||||
input = (InputSource)inputControl.getMock();
|
||||
inputControl = MockControl.createControl(ItemReader.class);
|
||||
input = (ItemReader)inputControl.getMock();
|
||||
|
||||
provider = new OrderItemProvider();
|
||||
provider.setInputSource(input);
|
||||
provider = new OrderItemReader();
|
||||
provider.setItemReader(input);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -47,7 +46,7 @@ public class OrderItemProviderTests extends TestCase {
|
||||
* In testNext method we are going to test these responsibilities. So we need create mock
|
||||
* objects for input source, mapper and validator.
|
||||
*/
|
||||
public void testNext() {
|
||||
public void testNext() throws Exception {
|
||||
|
||||
//create fieldsets and set return values for input source
|
||||
FieldSet headerFS = new FieldSet(new String[] {Order.LINE_ID_HEADER});
|
||||
@@ -127,7 +126,7 @@ public class OrderItemProviderTests extends TestCase {
|
||||
provider.setShippingMapper(mapper);
|
||||
|
||||
//call tested method
|
||||
Object result = provider.next();
|
||||
Object result = provider.read();
|
||||
|
||||
//verify result
|
||||
assertNotNull(result);
|
||||
@@ -152,7 +151,7 @@ public class OrderItemProviderTests extends TestCase {
|
||||
}
|
||||
|
||||
//try to retrieve next object - nothing should be returned
|
||||
assertNull(provider.next());
|
||||
assertNull(provider.read());
|
||||
|
||||
//verify method calls on input source, mapper and validator
|
||||
inputControl.verify();
|
||||
@@ -14,18 +14,18 @@ import org.springframework.batch.sample.item.processor.StagingItemProcessor;
|
||||
import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;
|
||||
import org.springframework.util.ClassUtils;
|
||||
|
||||
public class StagingItemProviderTests extends
|
||||
public class StagingItemReaderTests extends
|
||||
AbstractTransactionalDataSourceSpringContextTests {
|
||||
|
||||
private StagingItemProcessor processor;
|
||||
private StagingItemProvider provider;
|
||||
private StagingItemReader provider;
|
||||
private Long jobId;
|
||||
|
||||
public void setProcessor(StagingItemProcessor processor) {
|
||||
this.processor = processor;
|
||||
}
|
||||
|
||||
public void setProvider(StagingItemProvider provider) {
|
||||
public void setProvider(StagingItemReader provider) {
|
||||
this.provider = provider;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ public class StagingItemProviderTests extends
|
||||
new Object[] { new Long(id) }, String.class);
|
||||
assertEquals(StagingItemProcessor.NEW, before);
|
||||
|
||||
Object item = provider.next();
|
||||
Object item = provider.read();
|
||||
assertEquals("FOO", item);
|
||||
|
||||
String after = (String) getJdbcTemplate().queryForObject(
|
||||
@@ -103,27 +103,27 @@ public class StagingItemProviderTests extends
|
||||
new Object[] { jobId, StagingItemProcessor.NEW });
|
||||
assertEquals(4, count);
|
||||
|
||||
Object item = provider.next();
|
||||
Object item = provider.read();
|
||||
assertEquals("FOO", item);
|
||||
item = provider.next();
|
||||
item = provider.read();
|
||||
assertEquals("BAR", item);
|
||||
|
||||
endTransaction();
|
||||
startNewTransaction();
|
||||
BatchTransactionSynchronizationManager.resynchronize();
|
||||
|
||||
item = provider.next();
|
||||
item = provider.read();
|
||||
assertEquals("FOO", item);
|
||||
item = provider.next();
|
||||
item = provider.read();
|
||||
assertEquals("BAR", item);
|
||||
item = provider.next();
|
||||
item = provider.read();
|
||||
assertEquals("SPAM", item);
|
||||
|
||||
endTransaction();
|
||||
startNewTransaction();
|
||||
BatchTransactionSynchronizationManager.resynchronize();
|
||||
|
||||
item = provider.next();
|
||||
item = provider.read();
|
||||
assertEquals("FOO", item);
|
||||
|
||||
}
|
||||
@@ -144,7 +144,7 @@ public class StagingItemProviderTests extends
|
||||
new Object[] { new Long(id) }, String.class);
|
||||
assertEquals(StagingItemProcessor.NEW, before);
|
||||
|
||||
Object item = provider.next();
|
||||
Object item = provider.read();
|
||||
assertEquals("FOO", item);
|
||||
|
||||
endTransaction();
|
||||
@@ -157,7 +157,7 @@ public class StagingItemProviderTests extends
|
||||
new Object[] { new Long(id) }, String.class);
|
||||
assertEquals(StagingItemProcessor.NEW, after);
|
||||
|
||||
item = provider.next();
|
||||
item = provider.read();
|
||||
assertEquals("FOO", item);
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ import junit.framework.TestCase;
|
||||
import org.easymock.MockControl;
|
||||
import org.springframework.batch.io.exception.BatchCriticalException;
|
||||
import org.springframework.batch.item.ItemProcessor;
|
||||
import org.springframework.batch.item.provider.ListItemProvider;
|
||||
import org.springframework.batch.item.provider.ListItemReader;
|
||||
import org.springframework.batch.repeat.context.RepeatContextSupport;
|
||||
import org.springframework.batch.repeat.synch.RepeatSynchronizationManager;
|
||||
import org.springframework.batch.sample.tasklet.ExceptionRestartableTasklet;
|
||||
@@ -38,7 +38,7 @@ public class ExceptionRestartableTaskletTests extends TestCase {
|
||||
module.setItemProcessor(itemProcessor);
|
||||
module.setThrowExceptionOnRecordNumber(ITER_COUNT + 1);
|
||||
|
||||
module.setItemProvider(new ListItemProvider(new ArrayList() {{
|
||||
module.setItemProvider(new ListItemReader(new ArrayList() {{
|
||||
add("a");
|
||||
add("b");
|
||||
add("c");
|
||||
|
||||
@@ -4,7 +4,7 @@ import java.math.BigDecimal;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.springframework.batch.io.file.support.DefaultFlatFileInputSource;
|
||||
import org.springframework.batch.io.file.support.DefaultFlatFileItemReader;
|
||||
import org.springframework.batch.sample.dao.TradeWriter;
|
||||
import org.springframework.batch.sample.domain.Trade;
|
||||
|
||||
@@ -16,7 +16,7 @@ public class SimpleTradeTaskletTests extends TestCase {
|
||||
public void testReadAndProcess() throws Exception {
|
||||
|
||||
//create input
|
||||
DefaultFlatFileInputSource input = new DefaultFlatFileInputSource() {
|
||||
DefaultFlatFileItemReader input = new DefaultFlatFileItemReader() {
|
||||
|
||||
private boolean done = false;
|
||||
|
||||
@@ -46,7 +46,7 @@ public class SimpleTradeTaskletTests extends TestCase {
|
||||
|
||||
//create module
|
||||
SimpleTradeTasklet module = new SimpleTradeTasklet();
|
||||
module.setInputSource(input);
|
||||
module.setItemReader(input);
|
||||
module.setTradeDao(writer);
|
||||
|
||||
//call tested methods
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
</bean>
|
||||
|
||||
<bean id="provider"
|
||||
class="org.springframework.batch.sample.item.provider.StagingItemProvider"
|
||||
class="org.springframework.batch.sample.item.provider.StagingItemReader"
|
||||
scope="step">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
|
||||
Reference in New Issue
Block a user