BATCH-859: fixed failing tests
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright 2006-2007 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.batch.sample.domain.trade.internal;
|
||||
|
||||
import org.springframework.batch.item.ItemProcessor;
|
||||
import org.springframework.batch.item.validator.ValidationException;
|
||||
import org.springframework.batch.sample.domain.trade.Trade;
|
||||
|
||||
/**
|
||||
* Processes the Trade - throwing validation errors if necessary.
|
||||
*/
|
||||
public class TradeProcessor implements ItemProcessor<Trade, Trade> {
|
||||
|
||||
private int failure = -1;
|
||||
|
||||
private int index = 0;
|
||||
|
||||
private Trade failedItem = null;
|
||||
|
||||
/**
|
||||
* Public setter for the the index on which failure should occur.
|
||||
*
|
||||
* @param failure the failure to set
|
||||
*/
|
||||
public void setValidationFailure(int failure) {
|
||||
this.failure = failure;
|
||||
}
|
||||
|
||||
public Trade process(Trade item) throws Exception {
|
||||
if ((failedItem == null && index++ == failure) || (failedItem != null && failedItem.equals(item))) {
|
||||
failedItem = item;
|
||||
throw new ValidationException("Some bad data for " + failedItem);
|
||||
}
|
||||
return item;
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.batch.item.ItemWriter;
|
||||
import org.springframework.batch.item.validator.ValidationException;
|
||||
|
||||
/**
|
||||
* Remembers all items written - useful for testing.
|
||||
@@ -21,7 +20,7 @@ public class ItemTrackingItemWriter<T> implements ItemWriter<T> {
|
||||
|
||||
public void write(List<? extends T> items) throws Exception {
|
||||
if (failed!=null && items.contains(failed)) {
|
||||
throw new ValidationException("validation failed");
|
||||
throw new RuntimeException("write failed again");
|
||||
}
|
||||
this.items.addAll(items);
|
||||
int current = counter;
|
||||
@@ -29,7 +28,7 @@ public class ItemTrackingItemWriter<T> implements ItemWriter<T> {
|
||||
if (current < failure && counter >= failure) {
|
||||
failed = items.get(failure-current-1);
|
||||
this.items.remove(failed);
|
||||
throw new ValidationException("validation failed");
|
||||
throw new RuntimeException("write failed");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +36,7 @@ public class ItemTrackingItemWriter<T> implements ItemWriter<T> {
|
||||
return items;
|
||||
}
|
||||
|
||||
public void setValidationFailure(int failure) {
|
||||
public void setWriteFailure(int failure) {
|
||||
this.failure = failure;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user