diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/DrivingQueryItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/DrivingQueryItemReader.java index 6217a05e2..3be899b20 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/DrivingQueryItemReader.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/DrivingQueryItemReader.java @@ -118,7 +118,7 @@ public class DrivingQueryItemReader implements ItemReader, InitializingBea * * @return the current key. */ - protected Object getCurrentKey() { + protected T getCurrentKey() { if (initialized && currentIndex > 0) { return keys.get(currentIndex - 1); } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/ItemPreparedStatementSetter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/ItemPreparedStatementSetter.java index 4312b71eb..19730f4eb 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/ItemPreparedStatementSetter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/ItemPreparedStatementSetter.java @@ -26,7 +26,7 @@ import org.springframework.jdbc.core.RowMapper; * @author Dave Syer * */ -public interface ItemPreparedStatementSetter { +public interface ItemPreparedStatementSetter { /** * Set parameter values on the given PreparedStatement as determined from * the provided item. @@ -34,6 +34,6 @@ public interface ItemPreparedStatementSetter { * @throws SQLException if a SQLException is encountered (i.e. there is no * need to catch SQLException) */ - void setValues(Object item, PreparedStatement ps) throws SQLException; + void setValues(T item, PreparedStatement ps) throws SQLException; } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/KeyCollector.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/KeyCollector.java index bcc1a4d98..bb5f3cc16 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/KeyCollector.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/KeyCollector.java @@ -42,5 +42,5 @@ public interface KeyCollector { * @throws IllegalArgumentException if key is null. * @throws IllegalArgumentException if key is an incompatible type. */ - void updateContext(Object key, ExecutionContext executionContext); + void updateContext(T key, ExecutionContext executionContext); } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/ColumnMapItemPreparedStatementSetter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/ColumnMapItemPreparedStatementSetter.java index 22bfb81a3..fc7f740e3 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/ColumnMapItemPreparedStatementSetter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/ColumnMapItemPreparedStatementSetter.java @@ -29,7 +29,6 @@ import org.springframework.util.Assert; */ public class ColumnMapItemPreparedStatementSetter implements ItemPreparedStatementSetter { - @SuppressWarnings("unchecked") public void setValues(Object item, PreparedStatement ps) throws SQLException { Assert.isInstanceOf(Map.class, item, "Input to map PreparedStatement parameters must be of type Map."); Set keySet = ((Map)item).entrySet(); diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/IbatisKeyCollector.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/IbatisKeyCollector.java index 4f7052a8b..394636a29 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/IbatisKeyCollector.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/IbatisKeyCollector.java @@ -61,7 +61,7 @@ public class IbatisKeyCollector extends ExecutionContextUserSupport implement * * @see KeyCollector#saveState(Object, ExecutionContext) */ - public void updateContext(Object key, ExecutionContext executionContext) { + public void updateContext(T key, ExecutionContext executionContext) { Assert.notNull(key, "Key must not be null"); Assert.notNull(executionContext, "ExecutionContext must be null"); executionContext.put(getKey(RESTART_KEY), key); diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/MultipleColumnJdbcKeyCollector.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/MultipleColumnJdbcKeyCollector.java index d267dda7f..683cb6f03 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/MultipleColumnJdbcKeyCollector.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/MultipleColumnJdbcKeyCollector.java @@ -112,7 +112,7 @@ public class MultipleColumnJdbcKeyCollector extends ExecutionContextUserSuppo * org.springframework.batch.io.driving.KeyGenerator#getKeyAsExecutionContext * (java.lang.Object) */ - public void updateContext(Object key, ExecutionContext executionContext) { + public void updateContext(T key, ExecutionContext executionContext) { Assert.notNull(key, "The key must not be null"); Assert.notNull(executionContext, "The ExecutionContext must not be null"); executionContext.put(getKey(CURRENT_KEY), key); diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SingleColumnJdbcKeyCollector.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SingleColumnJdbcKeyCollector.java index fc54e22e4..2ea52dbee 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SingleColumnJdbcKeyCollector.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SingleColumnJdbcKeyCollector.java @@ -112,7 +112,7 @@ public class SingleColumnJdbcKeyCollector extends ExecutionContextUserSupport * * @throws IllegalArgumentException if key is null. */ - public void updateContext(Object key, ExecutionContext executionContext) { + public void updateContext(T key, ExecutionContext executionContext) { Assert.notNull(key, "The key must not be null."); Assert.notNull(executionContext, "The ExecutionContext must not be null"); executionContext.put(getKey(RESTART_KEY), key); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/DrivingQueryItemReaderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/DrivingQueryItemReaderTests.java index fe497cdbb..7b5c8211a 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/DrivingQueryItemReaderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/DrivingQueryItemReaderTests.java @@ -165,7 +165,7 @@ public class DrivingQueryItemReaderTests extends TestCase { return new ArrayList(); } - public void updateContext(Object key, + public void updateContext(Foo key, ExecutionContext executionContext) { } }); @@ -232,7 +232,7 @@ public class DrivingQueryItemReaderTests extends TestCase { } } - public void updateContext(Object key, ExecutionContext executionContext) { + public void updateContext(Foo key, ExecutionContext executionContext) { executionContext.put(RESTART_KEY, restartKeys); } diff --git a/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/CustomerCreditUpdatePreparedStatementSetter.java b/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/CustomerCreditUpdatePreparedStatementSetter.java index 2b9b6e2cf..56152b32c 100644 --- a/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/CustomerCreditUpdatePreparedStatementSetter.java +++ b/spring-batch-samples/src/main/java/org/springframework/batch/sample/item/writer/CustomerCreditUpdatePreparedStatementSetter.java @@ -26,15 +26,14 @@ import org.springframework.batch.sample.domain.CustomerCredit; * @author Dave Syer * */ -public class CustomerCreditUpdatePreparedStatementSetter implements ItemPreparedStatementSetter { +public class CustomerCreditUpdatePreparedStatementSetter implements ItemPreparedStatementSetter { public static final BigDecimal FIXED_AMOUNT = new BigDecimal(1000); /* (non-Javadoc) * @see org.springframework.batch.io.support.ItemPreparedStatementSetter#setValues(java.lang.Object, java.sql.PreparedStatement) */ - public void setValues(Object item, PreparedStatement ps) throws SQLException { - CustomerCredit customerCredit = (CustomerCredit) item; + public void setValues(CustomerCredit customerCredit, PreparedStatement ps) throws SQLException { ps.setBigDecimal(1, customerCredit.getCredit().add(FIXED_AMOUNT)); ps.setLong(2, customerCredit.getId()); } diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/writer/CustomerCreditUpdatePreparedStatementSetterTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/writer/CustomerCreditUpdatePreparedStatementSetterTests.java index 8f98bf7a1..448e76538 100644 --- a/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/writer/CustomerCreditUpdatePreparedStatementSetterTests.java +++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/item/writer/CustomerCreditUpdatePreparedStatementSetterTests.java @@ -44,8 +44,9 @@ public class CustomerCreditUpdatePreparedStatementSetterTests { credit.setCredit(new BigDecimal(12000)); credit.setName("foo"); } + /** - * Test method for {@link org.springframework.batch.sample.item.writer.CustomerCreditUpdatePreparedStatementSetter#setValues(java.lang.Object, java.sql.PreparedStatement)}. + * Test method for {@link org.springframework.batch.sample.item.writer.CustomerCreditUpdatePreparedStatementSetter#setValues(CustomerCredit, PreparedStatement) } * @throws SQLException */ @Test