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:
dsyer
2007-12-17 13:13:39 +00:00
parent ddc4a48de1
commit ab98d1ebe6
107 changed files with 828 additions and 826 deletions

View File

@@ -6,16 +6,16 @@ import java.util.List;
import junit.framework.TestCase;
import org.springframework.batch.io.file.support.StaxEventReaderInputSource;
import org.springframework.batch.io.file.support.StaxEventReaderItemReader;
import org.springframework.batch.io.file.support.oxm.UnmarshallingFragmentDeserializer;
import org.springframework.batch.io.oxm.domain.Trade;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.oxm.Unmarshaller;
public abstract class AbstractStaxEventReaderInputSourceTests extends TestCase {
public abstract class AbstractStaxEventReaderItemReaderTests extends TestCase {
private StaxEventReaderInputSource source = new StaxEventReaderInputSource();
private StaxEventReaderItemReader source = new StaxEventReaderItemReader();
protected Resource resource = new ClassPathResource(
"org/springframework/batch/io/oxm/input.xml");

View File

@@ -4,7 +4,7 @@ import org.springframework.core.io.ClassPathResource;
import org.springframework.oxm.Unmarshaller;
import org.springframework.oxm.castor.CastorMarshaller;
public class CastorUnmarshallingTests extends AbstractStaxEventReaderInputSourceTests {
public class CastorUnmarshallingTests extends AbstractStaxEventReaderItemReaderTests {
protected Unmarshaller getUnmarshaller() throws Exception {
CastorMarshaller unmarshaller = new CastorMarshaller();

View File

@@ -6,7 +6,7 @@ import org.springframework.batch.io.oxm.domain.Trade;
import org.springframework.oxm.Unmarshaller;
import org.springframework.oxm.xstream.XStreamMarshaller;
public class XStreamUnmarshallingTests extends AbstractStaxEventReaderInputSourceTests {
public class XStreamUnmarshallingTests extends AbstractStaxEventReaderItemReaderTests {
protected Unmarshaller getUnmarshaller() throws Exception {
XStreamMarshaller unmarshaller = new XStreamMarshaller();

View File

@@ -21,16 +21,16 @@ import java.util.List;
import javax.sql.DataSource;
import org.springframework.batch.item.AbstractItemReaderRecoverer;
import org.springframework.batch.item.ItemProcessor;
import org.springframework.batch.item.ItemProvider;
import org.springframework.batch.item.provider.AbstractItemProvider;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.repeat.ExitStatus;
import org.springframework.batch.repeat.RepeatCallback;
import org.springframework.batch.repeat.RepeatContext;
import org.springframework.batch.repeat.ExitStatus;
import org.springframework.batch.repeat.policy.SimpleCompletionPolicy;
import org.springframework.batch.repeat.support.RepeatTemplate;
import org.springframework.batch.retry.callback.ItemProviderRetryCallback;
import org.springframework.batch.retry.policy.ItemProviderRetryPolicy;
import org.springframework.batch.retry.callback.ItemReaderRetryCallback;
import org.springframework.batch.retry.policy.ItemReaderRetryPolicy;
import org.springframework.batch.retry.policy.SimpleRetryPolicy;
import org.springframework.batch.retry.support.RetryTemplate;
import org.springframework.jdbc.core.JdbcTemplate;
@@ -48,7 +48,7 @@ public class ExternalRetryInBatchTests extends AbstractDependencyInjectionSpring
private RepeatTemplate repeatTemplate;
private ItemProvider provider;
private ItemReader provider;
private JdbcTemplate jdbcTemplate;
@@ -80,8 +80,8 @@ public class ExternalRetryInBatchTests extends AbstractDependencyInjectionSpring
jdbcTemplate.execute("delete from T_FOOS");
jmsTemplate.convertAndSend("queue", "foo");
jmsTemplate.convertAndSend("queue", "bar");
provider = new AbstractItemProvider() {
public Object next() {
provider = new AbstractItemReaderRecoverer() {
public Object read() {
String text = (String) jmsTemplate.receiveAndConvert("queue");
list.add(text);
return text;
@@ -112,9 +112,9 @@ public class ExternalRetryInBatchTests extends AbstractDependencyInjectionSpring
public void testExternalRetryRecoveryInBatch() throws Exception {
assertInitialState();
retryTemplate.setRetryPolicy(new ItemProviderRetryPolicy(new SimpleRetryPolicy(1)));
retryTemplate.setRetryPolicy(new ItemReaderRetryPolicy(new SimpleRetryPolicy(1)));
final ItemProviderRetryCallback callback = new ItemProviderRetryCallback(provider, new ItemProcessor() {
final ItemReaderRetryCallback callback = new ItemReaderRetryCallback(provider, new ItemProcessor() {
public void process(final Object text) {
// No need for transaction here: the whole batch will roll
// back. When it comes back for recovery this code is not

View File

@@ -21,11 +21,11 @@ import java.util.List;
import javax.sql.DataSource;
import org.springframework.batch.item.AbstractItemReaderRecoverer;
import org.springframework.batch.item.ItemProcessor;
import org.springframework.batch.item.ItemProvider;
import org.springframework.batch.item.provider.AbstractItemProvider;
import org.springframework.batch.retry.callback.ItemProviderRetryCallback;
import org.springframework.batch.retry.policy.ItemProviderRetryPolicy;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.retry.callback.ItemReaderRetryCallback;
import org.springframework.batch.retry.policy.ItemReaderRetryPolicy;
import org.springframework.batch.retry.support.RetryTemplate;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jms.core.JmsTemplate;
@@ -41,7 +41,7 @@ public class ExternalRetryTests extends AbstractDependencyInjectionSpringContext
private RetryTemplate retryTemplate;
private ItemProvider provider;
private ItemReader provider;
private JdbcTemplate jdbcTemplate;
@@ -68,8 +68,8 @@ public class ExternalRetryTests extends AbstractDependencyInjectionSpringContext
getMessages(); // drain queue
jdbcTemplate.execute("delete from T_FOOS");
jmsTemplate.convertAndSend("queue", "foo");
provider = new AbstractItemProvider() {
public Object next() {
provider = new AbstractItemReaderRecoverer() {
public Object read() {
String text = (String) jmsTemplate.receiveAndConvert("queue");
list.add(text);
return text;
@@ -102,9 +102,9 @@ public class ExternalRetryTests extends AbstractDependencyInjectionSpringContext
assertInitialState();
retryTemplate.setRetryPolicy(new ItemProviderRetryPolicy());
retryTemplate.setRetryPolicy(new ItemReaderRetryPolicy());
final ItemProviderRetryCallback callback = new ItemProviderRetryCallback(provider, new ItemProcessor() {
final ItemReaderRetryCallback callback = new ItemReaderRetryCallback(provider, new ItemProcessor() {
public void process(final Object text) {
jdbcTemplate.update("INSERT into T_FOOS (id,name,foo_date) values (?,?,null)", new Object[] {
Integer.valueOf(list.size()), text });
@@ -167,9 +167,9 @@ public class ExternalRetryTests extends AbstractDependencyInjectionSpringContext
assertInitialState();
retryTemplate.setRetryPolicy(new ItemProviderRetryPolicy());
retryTemplate.setRetryPolicy(new ItemReaderRetryPolicy());
final ItemProviderRetryCallback callback = new ItemProviderRetryCallback(provider, new ItemProcessor() {
final ItemReaderRetryCallback callback = new ItemReaderRetryCallback(provider, new ItemProcessor() {
public void process(final Object text) {
jdbcTemplate.update("INSERT into T_FOOS (id,name,foo_date) values (?,?,null)", new Object[] {
Integer.valueOf(list.size()), text });

View File

@@ -20,10 +20,10 @@ import java.util.ArrayList;
import java.util.List;
import org.springframework.batch.item.ItemProcessor;
import org.springframework.batch.item.provider.JmsItemProvider;
import org.springframework.batch.item.provider.JmsItemReader;
import org.springframework.batch.retry.RetryCallback;
import org.springframework.batch.retry.RetryContext;
import org.springframework.batch.retry.callback.ItemProviderRetryCallback;
import org.springframework.batch.retry.callback.ItemReaderRetryCallback;
import org.springframework.batch.retry.support.RetryTemplate;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;
@@ -142,12 +142,12 @@ public class SynchronousTests extends AbstractTransactionalDataSourceSpringConte
assertInitialState();
JmsItemProvider provider = new JmsItemProvider();
JmsItemReader provider = new JmsItemReader();
// provider.setItemType(Message.class);
provider.setJmsTemplate(jmsTemplate);
jmsTemplate.setDefaultDestinationName("queue");
retryTemplate.execute(new ItemProviderRetryCallback(provider, new ItemProcessor() {
retryTemplate.execute(new ItemReaderRetryCallback(provider, new ItemProcessor() {
public void process(final Object text) {
TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);

View File

@@ -20,10 +20,10 @@ import java.util.ArrayList;
import java.util.List;
import org.springframework.batch.item.ItemProcessor;
import org.springframework.batch.item.provider.JmsItemProvider;
import org.springframework.batch.item.provider.JmsItemReader;
import org.springframework.batch.retry.RetryCallback;
import org.springframework.batch.retry.RetryContext;
import org.springframework.batch.retry.callback.ItemProviderRetryCallback;
import org.springframework.batch.retry.callback.ItemReaderRetryCallback;
import org.springframework.batch.retry.support.RetryTemplate;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;
@@ -138,12 +138,12 @@ public class SynchronousTests extends AbstractTransactionalDataSourceSpringConte
assertInitialState();
JmsItemProvider provider = new JmsItemProvider();
JmsItemReader provider = new JmsItemReader();
// provider.setItemType(Message.class);
provider.setJmsTemplate(jmsTemplate);
jmsTemplate.setDefaultDestinationName("queue");
retryTemplate.execute(new ItemProviderRetryCallback(provider, new ItemProcessor() {
retryTemplate.execute(new ItemReaderRetryCallback(provider, new ItemProcessor() {
public void process(final Object text) {
TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);