RESOLVED - BATCH-779: make FieldSetMapper and LineAggregator extend ItemProcessor
FiedSetMapper, LineTokenizer and LineAggregator interfaces now extend ItemProcessor
This commit is contained in:
@@ -6,7 +6,7 @@ import org.springframework.batch.sample.domain.football.Game;
|
||||
|
||||
public class GameFieldSetMapper implements FieldSetMapper<Game> {
|
||||
|
||||
public Game mapLine(FieldSet fs) {
|
||||
public Game process(FieldSet fs) {
|
||||
|
||||
if(fs == null){
|
||||
return null;
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.springframework.batch.sample.domain.football.Player;
|
||||
|
||||
public class PlayerFieldSetMapper implements FieldSetMapper<Player> {
|
||||
|
||||
public Player mapLine(FieldSet fs) {
|
||||
public Player process(FieldSet fs) {
|
||||
|
||||
if(fs == null){
|
||||
return null;
|
||||
|
||||
@@ -33,7 +33,7 @@ public class AddressFieldSetMapper implements FieldSetMapper<Address> {
|
||||
public static final String COUNTRY_COLUMN = "COUNTRY";
|
||||
|
||||
|
||||
public Address mapLine(FieldSet fieldSet) {
|
||||
public Address process(FieldSet fieldSet) {
|
||||
Address address = new Address();
|
||||
|
||||
address.setAddressee(fieldSet.readString(ADDRESSEE_COLUMN));
|
||||
|
||||
@@ -27,7 +27,7 @@ public class BillingFieldSetMapper implements FieldSetMapper<BillingInfo> {
|
||||
public static final String PAYMENT_TYPE_ID_COLUMN = "PAYMENT_TYPE_ID";
|
||||
public static final String PAYMENT_DESC_COLUMN = "PAYMENT_DESC";
|
||||
|
||||
public BillingInfo mapLine(FieldSet fieldSet) {
|
||||
public BillingInfo process(FieldSet fieldSet) {
|
||||
BillingInfo info = new BillingInfo();
|
||||
|
||||
info.setPaymentId(fieldSet.readString(PAYMENT_TYPE_ID_COLUMN));
|
||||
|
||||
@@ -34,7 +34,7 @@ public class CustomerFieldSetMapper implements FieldSetMapper<Customer> {
|
||||
public static final String REG_ID_COLUMN = "REG_ID";
|
||||
public static final String VIP_COLUMN = "VIP";
|
||||
|
||||
public Customer mapLine(FieldSet fieldSet) {
|
||||
public Customer process(FieldSet fieldSet) {
|
||||
Customer customer = new Customer();
|
||||
|
||||
if (Customer.LINE_ID_BUSINESS_CUST.equals(fieldSet.readString(LINE_ID_COLUMN))) {
|
||||
|
||||
@@ -27,7 +27,7 @@ public class HeaderFieldSetMapper implements FieldSetMapper<Order> {
|
||||
public static final String ORDER_ID_COLUMN = "ORDER_ID";
|
||||
public static final String ORDER_DATE_COLUMN = "ORDER_DATE";
|
||||
|
||||
public Order mapLine(FieldSet fieldSet) {
|
||||
public Order process(FieldSet fieldSet) {
|
||||
Order order = new Order();
|
||||
order.setOrderId(fieldSet.readLong(ORDER_ID_COLUMN));
|
||||
order.setOrderDate(fieldSet.readDate(ORDER_DATE_COLUMN));
|
||||
|
||||
@@ -33,7 +33,7 @@ public class OrderItemFieldSetMapper implements FieldSetMapper<LineItem> {
|
||||
public static final String ITEM_ID_COLUMN = "ITEM_ID";
|
||||
|
||||
|
||||
public LineItem mapLine(FieldSet fieldSet) {
|
||||
public LineItem process(FieldSet fieldSet) {
|
||||
LineItem item = new LineItem();
|
||||
|
||||
item.setItemId(fieldSet.readLong(ITEM_ID_COLUMN));
|
||||
|
||||
@@ -74,7 +74,7 @@ public class OrderItemReader implements ItemReader<Order> {
|
||||
return result;
|
||||
}
|
||||
|
||||
private void process(FieldSet fieldSet) {
|
||||
private void process(FieldSet fieldSet) throws Exception {
|
||||
// finish processing if we hit the end of file
|
||||
if (fieldSet == null) {
|
||||
log.debug("FINISHED");
|
||||
@@ -89,7 +89,7 @@ public class OrderItemReader implements ItemReader<Order> {
|
||||
// start a new Order
|
||||
if (Order.LINE_ID_HEADER.equals(lineId)) {
|
||||
log.debug("STARTING NEW RECORD");
|
||||
order = headerMapper.mapLine(fieldSet);
|
||||
order = headerMapper.process(fieldSet);
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -114,7 +114,7 @@ public class OrderItemReader implements ItemReader<Order> {
|
||||
log.debug("MAPPING CUSTOMER");
|
||||
|
||||
if (order.getCustomer() == null) {
|
||||
order.setCustomer(customerMapper.mapLine(fieldSet));
|
||||
order.setCustomer(customerMapper.process(fieldSet));
|
||||
order.getCustomer().setBusinessCustomer(true);
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ public class OrderItemReader implements ItemReader<Order> {
|
||||
log.debug("MAPPING CUSTOMER");
|
||||
|
||||
if (order.getCustomer() == null) {
|
||||
order.setCustomer(customerMapper.mapLine(fieldSet));
|
||||
order.setCustomer(customerMapper.process(fieldSet));
|
||||
order.getCustomer().setBusinessCustomer(false);
|
||||
}
|
||||
|
||||
@@ -134,25 +134,25 @@ public class OrderItemReader implements ItemReader<Order> {
|
||||
|
||||
if (Address.LINE_ID_BILLING_ADDR.equals(lineId)) {
|
||||
log.debug("MAPPING BILLING ADDRESS");
|
||||
order.setBillingAddress(addressMapper.mapLine(fieldSet));
|
||||
order.setBillingAddress(addressMapper.process(fieldSet));
|
||||
return;
|
||||
}
|
||||
|
||||
if (Address.LINE_ID_SHIPPING_ADDR.equals(lineId)) {
|
||||
log.debug("MAPPING SHIPPING ADDRESS");
|
||||
order.setShippingAddress(addressMapper.mapLine(fieldSet));
|
||||
order.setShippingAddress(addressMapper.process(fieldSet));
|
||||
return;
|
||||
}
|
||||
|
||||
if (BillingInfo.LINE_ID_BILLING_INFO.equals(lineId)) {
|
||||
log.debug("MAPPING BILLING INFO");
|
||||
order.setBilling(billingMapper.mapLine(fieldSet));
|
||||
order.setBilling(billingMapper.process(fieldSet));
|
||||
return;
|
||||
}
|
||||
|
||||
if (ShippingInfo.LINE_ID_SHIPPING_INFO.equals(lineId)) {
|
||||
log.debug("MAPPING SHIPPING INFO");
|
||||
order.setShipping(shippingMapper.mapLine(fieldSet));
|
||||
order.setShipping(shippingMapper.process(fieldSet));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -162,7 +162,7 @@ public class OrderItemReader implements ItemReader<Order> {
|
||||
if (order.getLineItems() == null) {
|
||||
order.setLineItems(new ArrayList<LineItem>());
|
||||
}
|
||||
order.getLineItems().add(itemMapper.mapLine(fieldSet));
|
||||
order.getLineItems().add(itemMapper.process(fieldSet));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -44,23 +44,24 @@ public class OrderProcessor implements ItemProcessor<Order, List<String>> {
|
||||
/**
|
||||
* Converts information from an Order object to a collection of Strings for
|
||||
* output.
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<String> process(Order order) {
|
||||
public List<String> process(Order order) throws Exception {
|
||||
|
||||
List<String> result = new ArrayList<String>();
|
||||
|
||||
result.add(getAggregator("header").aggregate(OrderFormatterUtils.headerArgs(order)));
|
||||
result.add(getAggregator("customer").aggregate(OrderFormatterUtils.customerArgs(order)));
|
||||
result.add(getAggregator("address").aggregate(OrderFormatterUtils.billingAddressArgs(order)));
|
||||
result.add(getAggregator("billing").aggregate(OrderFormatterUtils.billingInfoArgs(order)));
|
||||
result.add(getAggregator("header").process(OrderFormatterUtils.headerArgs(order)));
|
||||
result.add(getAggregator("customer").process(OrderFormatterUtils.customerArgs(order)));
|
||||
result.add(getAggregator("address").process(OrderFormatterUtils.billingAddressArgs(order)));
|
||||
result.add(getAggregator("billing").process(OrderFormatterUtils.billingInfoArgs(order)));
|
||||
|
||||
List<LineItem> items = order.getLineItems();
|
||||
|
||||
for (LineItem lineItem : items) {
|
||||
result.add(getAggregator("item").aggregate(OrderFormatterUtils.lineItemArgs(lineItem)));
|
||||
result.add(getAggregator("item").process(OrderFormatterUtils.lineItemArgs(lineItem)));
|
||||
}
|
||||
|
||||
result.add(getAggregator("footer").aggregate(OrderFormatterUtils.footerArgs(order)));
|
||||
result.add(getAggregator("footer").process(OrderFormatterUtils.footerArgs(order)));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ public class ShippingFieldSetMapper implements FieldSetMapper<ShippingInfo> {
|
||||
public static final String SHIPPING_TYPE_ID_COLUMN = "SHIPPING_TYPE_ID";
|
||||
public static final String SHIPPER_ID_COLUMN = "SHIPPER_ID";
|
||||
|
||||
public ShippingInfo mapLine(FieldSet fieldSet) {
|
||||
public ShippingInfo process(FieldSet fieldSet) {
|
||||
ShippingInfo info = new ShippingInfo();
|
||||
|
||||
info.setShipperId(fieldSet.readString(SHIPPER_ID_COLUMN));
|
||||
|
||||
@@ -23,15 +23,15 @@ public class CompositeCustomerUpdateLineTokenizer implements LineTokenizer {
|
||||
/* (non-Javadoc)
|
||||
* @see org.springframework.batch.item.file.transform.LineTokenizer#tokenize(java.lang.String)
|
||||
*/
|
||||
public FieldSet tokenize(String line) {
|
||||
public FieldSet process(String line) throws Exception {
|
||||
|
||||
if(line.charAt(0) == 'F'){
|
||||
//line starts with F, so the footer tokenizer should tokenize it.
|
||||
return footerTokenizer.tokenize(line);
|
||||
return footerTokenizer.process(line);
|
||||
}
|
||||
else if(line.charAt(0) == 'A' || line.charAt(0) == 'U' || line.charAt(0) == 'D'){
|
||||
//line starts with A,U, or D, so it must be a customer operation.
|
||||
return customerTokenizer.tokenize(line);
|
||||
return customerTokenizer.process(line);
|
||||
}
|
||||
else{
|
||||
//If the line doesn't start with any of the characters above, it must obviously be invalid.
|
||||
|
||||
@@ -20,7 +20,7 @@ public class CustomerUpdateFieldSetMapper extends StepExecutionListenerSupport i
|
||||
|
||||
StepExecution stepExecution;
|
||||
|
||||
public CustomerUpdate mapLine(FieldSet fs) {
|
||||
public CustomerUpdate process(FieldSet fs) {
|
||||
|
||||
char code = fs.readChar(0);
|
||||
if(code == 'F'){
|
||||
|
||||
@@ -29,7 +29,7 @@ public class TradeFieldSetMapper implements FieldSetMapper<Trade> {
|
||||
public static final int PRICE_COLUMN = 2;
|
||||
public static final int CUSTOMER_COLUMN = 3;
|
||||
|
||||
public Trade mapLine(FieldSet fieldSet) {
|
||||
public Trade process(FieldSet fieldSet) {
|
||||
|
||||
Trade trade = new Trade();
|
||||
trade.setIsin(fieldSet.readString(ISIN_COLUMN));
|
||||
|
||||
Reference in New Issue
Block a user