BATCH-798: Samples working again. TODO: refactor rollbackClassifier into the stateless execution API

This commit is contained in:
dsyer
2008-08-29 17:14:59 +00:00
parent 2ea0fe68cf
commit bd91d0c35e
6 changed files with 35 additions and 13 deletions

View File

@@ -28,6 +28,7 @@ public class ItemTrackingItemWriter<T> implements ItemWriter<T> {
counter += items.size();
if (current < failure && counter >= failure) {
failed = items.get(failure-current-1);
this.items.remove(failed);
throw new ValidationException("validation failed");
}
}

View File

@@ -51,9 +51,10 @@ public class ItemTrackingItemWriterTests {
catch (ValidationException e) {
// expected
}
assertEquals(3, writer.getItems().size());
// the failed item is removed
assertEquals(2, writer.getItems().size());
writer.write(Arrays.asList("a", "e", "c"));
assertEquals(6, writer.getItems().size());
assertEquals(5, writer.getItems().size());
try {
writer.write(Arrays.asList("f", "b", "g"));
fail("Expected ValidationException");
@@ -61,7 +62,8 @@ public class ItemTrackingItemWriterTests {
catch (ValidationException e) {
// expected
}
assertEquals(6, writer.getItems().size());
// barf immediately if a failure is detected
assertEquals(5, writer.getItems().size());
}
}