IN PROGRESS - issue BATCH-212: Merge InputSource with ItemProvider

http://opensource.atlassian.com/projects/spring/browse/BATCH-212

Remove unnecessary uses of Delegating ItemReader from samples.
This commit is contained in:
dsyer
2007-12-18 18:47:33 +00:00
parent 77e6a321f1
commit 7f71dc55ce
9 changed files with 98 additions and 151 deletions

View File

@@ -145,14 +145,14 @@ public class ItemReaderRetryPolicy extends AbstractStatefulRetryPolicy {
// The delegate context...
private RetryContext delegateContext;
private ItemReader provider;
private ItemReader reader;
private ItemRecoverer recoverer;
public ItemProviderRetryContext(ItemReaderRetryCallback callback) {
super(RetrySynchronizationManager.getContext());
item = callback.next(this);
this.provider = callback.getReader();
this.reader = callback.getReader();
this.recoverer = callback.getRecoverer();
}
@@ -165,8 +165,8 @@ public class ItemReaderRetryPolicy extends AbstractStatefulRetryPolicy {
}
public RetryContext open(RetryCallback callback) {
if (hasFailed(provider, item)) {
this.delegateContext = retryContextCache.get(provider
if (hasFailed(reader, item)) {
this.delegateContext = retryContextCache.get(reader
.getKey(item));
}
if (this.delegateContext == null) {
@@ -180,7 +180,7 @@ public class ItemReaderRetryPolicy extends AbstractStatefulRetryPolicy {
public void registerThrowable(RetryContext context, Throwable throwable)
throws TerminatedRetryException {
retryContextCache.put(provider.getKey(item), this.delegateContext);
retryContextCache.put(reader.getKey(item), this.delegateContext);
delegate.registerThrowable(this.delegateContext, throwable);
}
@@ -199,7 +199,7 @@ public class ItemReaderRetryPolicy extends AbstractStatefulRetryPolicy {
public Object handleRetryExhausted(RetryContext context)
throws Exception {
// If there is no going back, then we can remove the history
retryContextCache.remove(provider.getKey(item));
retryContextCache.remove(reader.getKey(item));
RepeatSynchronizationManager.setCompleteOnly();
if (recoverer != null) {
boolean success = recoverer.recover(item, context