diff --git a/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/CustomerDebitDao.java b/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/CustomerDebitDao.java index 2b6a6a331..b2125adf1 100644 --- a/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/CustomerDebitDao.java +++ b/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/CustomerDebitDao.java @@ -18,7 +18,12 @@ package org.springframework.batch.sample.dao; import org.springframework.batch.sample.domain.CustomerDebit; +/** + * Interface for writing {@link CustomerDebitDao} object to arbitrary output. + * + * @author Robert.Kasanicky + */ public interface CustomerDebitDao { - + void write(CustomerDebit customerDebit); } diff --git a/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/PlayerDao.java b/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/PlayerDao.java index 478413863..fdbebce1d 100644 --- a/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/PlayerDao.java +++ b/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/PlayerDao.java @@ -2,6 +2,9 @@ package org.springframework.batch.sample.dao; import org.springframework.batch.sample.domain.Player; +/** + * Interface for writing {@link Player} objects to arbitrary output. + */ public interface PlayerDao { void savePlayer(Player player); diff --git a/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/TradeDao.java b/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/TradeDao.java index 1e0399f98..312401e3e 100644 --- a/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/TradeDao.java +++ b/spring-batch-samples/src/main/java/org/springframework/batch/sample/dao/TradeDao.java @@ -18,18 +18,16 @@ package org.springframework.batch.sample.dao; import org.springframework.batch.sample.domain.Trade; - /** - * Simple interface for writing a Trade object - * to an arbitraty output - * + * Interface for writing a Trade object to an arbitrary output. + * * @author Robert Kasanicky */ public interface TradeDao { - /** - * Write a trade object to some kind of output, - * different implementations can write to file, database etc. - */ - void writeTrade(Trade trade); + /** + * Write a trade object to some kind of output, different implementations + * can write to file, database etc. + */ + void writeTrade(Trade trade); } diff --git a/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/CustomerUpdateWriter.java b/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/CustomerUpdateWriter.java index dcbe207ea..d1d461b99 100644 --- a/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/CustomerUpdateWriter.java +++ b/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/CustomerUpdateWriter.java @@ -17,18 +17,19 @@ package org.springframework.batch.sample.item.writer; import org.springframework.batch.item.AbstractItemWriter; +import org.springframework.batch.sample.dao.CustomerDebitDao; import org.springframework.batch.sample.dao.JdbcCustomerDebitDao; import org.springframework.batch.sample.domain.CustomerDebit; import org.springframework.batch.sample.domain.Trade; /** - * Transforms Trade to a CustomerDebit and asks dao object to write the result. + * Transforms Trade to a CustomerDebit and asks DAO delegate to write the result. * * @author Robert Kasanicky */ public class CustomerUpdateWriter extends AbstractItemWriter { - private JdbcCustomerDebitDao dao; + private CustomerDebitDao dao; public void write(Object data) { Trade trade = (Trade) data; diff --git a/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/TradeWriter.java b/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/TradeWriter.java index 561d24af3..1f28eab2d 100644 --- a/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/TradeWriter.java +++ b/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/TradeWriter.java @@ -22,44 +22,48 @@ import org.springframework.batch.item.AbstractItemWriter; import org.springframework.batch.sample.dao.TradeDao; import org.springframework.batch.sample.domain.Trade; +/** + * Delegates the actual writing to custom DAO delegate. Allows configurable + * exception raising for testing skip and restart. + */ public class TradeWriter extends AbstractItemWriter { - private static Log log = LogFactory.getLog(TradeWriter.class); - private TradeDao dao; - - private int failure = -1; - - private int index = 0; - - /** + private static Log log = LogFactory.getLog(TradeWriter.class); + + private TradeDao dao; + + private int failure = -1; + + private int index = 0; + + /** * Public setter for the the index on which failure should occur. - * + * * @param failure the failure to set */ public void setFailure(int failure) { this.failure = failure; } - public void write(Object data) { - if (!(data instanceof Trade)) { - log.warn("TradeProcessor can process only Trade objects, skipping record"); + public void write(Object data) { + if (!(data instanceof Trade)) { + log.warn("TradeProcessor can process only Trade objects, skipping record"); - return; - } + return; + } - Trade trade = (Trade) data; - log.debug(data); + Trade trade = (Trade) data; + log.debug(data); - //TODO put some processing of the trade object here - dao.writeTrade(trade); - - if(index++ == failure) { - throw new RuntimeException("Something unexpected happened!"); - } - - - } + // TODO put some processing of the trade object here + dao.writeTrade(trade); - public void setDao(TradeDao dao) { - this.dao = dao; - } + if (index++ == failure) { + throw new RuntimeException("Something unexpected happened!"); + } + + } + + public void setDao(TradeDao dao) { + this.dao = dao; + } }