OPEN - issue BATCH-771: Refactor Listeners for chunk changes
Make CompositeItemWriteListener more correct generically
This commit is contained in:
@@ -28,14 +28,14 @@ import org.springframework.core.Ordered;
|
||||
*/
|
||||
public class CompositeItemWriteListener<S> implements ItemWriteListener<S> {
|
||||
|
||||
private OrderedComposite<ItemWriteListener<S>> listeners = new OrderedComposite<ItemWriteListener<S>>();
|
||||
private OrderedComposite<ItemWriteListener<? super S>> listeners = new OrderedComposite<ItemWriteListener<? super S>>();
|
||||
|
||||
/**
|
||||
* Public setter for the listeners.
|
||||
*
|
||||
* @param itemWriteListeners
|
||||
*/
|
||||
public void setListeners(List<ItemWriteListener<S>> itemWriteListeners) {
|
||||
public void setListeners(List<ItemWriteListener<? super S>> itemWriteListeners) {
|
||||
this.listeners.setItems(itemWriteListeners);
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ public class CompositeItemWriteListener<S> implements ItemWriteListener<S> {
|
||||
*
|
||||
* @param itemWriteListener
|
||||
*/
|
||||
public void register(ItemWriteListener<S> itemWriteListener) {
|
||||
public void register(ItemWriteListener<? super S> itemWriteListener) {
|
||||
listeners.add(itemWriteListener);
|
||||
}
|
||||
|
||||
@@ -54,8 +54,8 @@ public class CompositeItemWriteListener<S> implements ItemWriteListener<S> {
|
||||
* @see ItemWriteListener#afterWrite(java.util.List)
|
||||
*/
|
||||
public void afterWrite(List<? extends S> items) {
|
||||
for (Iterator<ItemWriteListener<S>> iterator = listeners.reverse(); iterator.hasNext();) {
|
||||
ItemWriteListener<S> listener = iterator.next();
|
||||
for (Iterator<ItemWriteListener<? super S>> iterator = listeners.reverse(); iterator.hasNext();) {
|
||||
ItemWriteListener<? super S> listener = iterator.next();
|
||||
listener.afterWrite(items);
|
||||
}
|
||||
}
|
||||
@@ -66,8 +66,8 @@ public class CompositeItemWriteListener<S> implements ItemWriteListener<S> {
|
||||
* @see ItemWriteListener#beforeWrite(List)
|
||||
*/
|
||||
public void beforeWrite(List<? extends S> items) {
|
||||
for (Iterator<ItemWriteListener<S>> iterator = listeners.iterator(); iterator.hasNext();) {
|
||||
ItemWriteListener<S> listener = iterator.next();
|
||||
for (Iterator<ItemWriteListener<? super S>> iterator = listeners.iterator(); iterator.hasNext();) {
|
||||
ItemWriteListener<? super S> listener = iterator.next();
|
||||
listener.beforeWrite(items);
|
||||
}
|
||||
}
|
||||
@@ -78,8 +78,8 @@ public class CompositeItemWriteListener<S> implements ItemWriteListener<S> {
|
||||
* @see ItemWriteListener#onWriteError(Exception, List)
|
||||
*/
|
||||
public void onWriteError(Exception ex, List<? extends S> items) {
|
||||
for (Iterator<ItemWriteListener<S>> iterator = listeners.reverse(); iterator.hasNext();) {
|
||||
ItemWriteListener<S> listener = iterator.next();
|
||||
for (Iterator<ItemWriteListener<? super S>> iterator = listeners.reverse(); iterator.hasNext();) {
|
||||
ItemWriteListener<? super S> listener = iterator.next();
|
||||
listener.onWriteError(ex, items);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ public class MulticasterBatchListener<S> implements StepExecutionListener, Chunk
|
||||
register(listeners[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Register the listener for callbacks on the appropriate interfaces
|
||||
* implemented. Any {@link StepListener} can be provided, or an
|
||||
|
||||
@@ -75,7 +75,7 @@ public class CompositeItemWriteListenerTests {
|
||||
|
||||
@Test
|
||||
public void testSetListners() throws Exception {
|
||||
compositeListener.setListeners(new ArrayList<ItemWriteListener<Object>>() {
|
||||
compositeListener.setListeners(new ArrayList<ItemWriteListener<? super Object>>() {
|
||||
{
|
||||
add(listener);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user