Introduce KeyedItemReader to push the getKey() method into a separate place.

This commit is contained in:
dsyer
2008-01-30 08:55:53 +00:00
parent 152829ba5f
commit 6ffefbc184
31 changed files with 139 additions and 115 deletions

View File

@@ -41,14 +41,6 @@ public class DelegatingItemReaderIntegrationTests extends AbstractDependencyInje
}
}
/**
* getKey(..) is implemented trivially.
*/
public void testGetKey() {
Object item = new Object();
assertSame(item, provider.getKey(item));
}
public void setProvider(ItemReaderAdapter provider) {
this.provider = provider;
}

View File

@@ -18,11 +18,11 @@ package org.springframework.batch.retry;
import java.util.List;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.ItemRecoverer;
import org.springframework.batch.item.KeyedItemReader;
import org.springframework.batch.item.reader.ListItemReader;
public class ListItemReaderRecoverer extends ListItemReader implements ItemReader, ItemRecoverer {
public class ListItemReaderRecoverer extends ListItemReader implements KeyedItemReader, ItemRecoverer {
/**
* Delegate to super class constructor.
@@ -43,5 +43,14 @@ public class ListItemReaderRecoverer extends ListItemReader implements ItemReade
public boolean recover(Object item, Throwable cause) {
return false;
}
/**
* Return the item (assume it is its own key).
*
* @see org.springframework.batch.item.KeyedItemReader#getKey(java.lang.Object)
*/
public Object getKey(Object item) {
return item;
}
}

View File

@@ -22,7 +22,6 @@ import java.util.List;
import junit.framework.TestCase;
import org.springframework.batch.item.reader.ListItemReader;
import org.springframework.batch.item.writer.AbstractItemWriter;
import org.springframework.batch.retry.ListItemReaderRecoverer;
import org.springframework.batch.retry.RetryContext;
@@ -40,7 +39,7 @@ public class ItemReaderRetryCallbackTests extends TestCase {
RetryTemplate template;
ListItemReader provider;
ListItemReaderRecoverer provider;
ItemReaderRetryCallback callback;

View File

@@ -24,7 +24,7 @@ import java.util.List;
import junit.framework.TestCase;
import org.springframework.batch.item.FailedItemIdentifier;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.KeyedItemReader;
import org.springframework.batch.item.reader.ListItemReader;
import org.springframework.batch.item.writer.AbstractItemWriter;
import org.springframework.batch.repeat.RepeatContext;
@@ -41,7 +41,7 @@ public class ItemReaderRetryPolicyTests extends TestCase {
private ItemReaderRetryPolicy policy = new ItemReaderRetryPolicy();
private ItemReader provider;
private org.springframework.batch.item.KeyedItemReader provider;
private int count = 0;
@@ -299,7 +299,7 @@ public class ItemReaderRetryPolicyTests extends TestCase {
assertTrue(policy.hasFailed(provider, "foo"));
}
private static class MockFailedItemProvider extends ListItemReader implements FailedItemIdentifier {
private static class MockFailedItemProvider extends ListItemReader implements KeyedItemReader, FailedItemIdentifier {
private int hasFailedCount = 0;