diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ItemWriter.java index 798ab614a..4c467f5cd 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ItemWriter.java @@ -35,7 +35,7 @@ package org.springframework.batch.item; * @author Dave Syer * @author Lucas Ward */ -public interface ItemWriter { +public interface ItemWriter { /** * Process the supplied data element. Will be called multiple times during a @@ -46,7 +46,7 @@ public interface ItemWriter { * retry or a batch the framework will catch the exception and convert or * rethrow it as appropriate. */ - void write(Object item) throws Exception; + void write(T item) throws Exception; /** * Flush any buffers that are being held. This will usually be performed diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/ItemWriterAdapter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/ItemWriterAdapter.java index 25a9960aa..46bfe0b9c 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/ItemWriterAdapter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/ItemWriterAdapter.java @@ -29,9 +29,9 @@ import org.springframework.batch.item.ItemWriter; * * @author Robert Kasanicky */ -public class ItemWriterAdapter extends AbstractMethodInvokingDelegator implements ItemWriter { +public class ItemWriterAdapter extends AbstractMethodInvokingDelegator implements ItemWriter { - public void write(Object item) throws Exception { + public void write(T item) throws Exception { invokeDelegateMethodWithArgument(item); } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/PropertyExtractingDelegatingItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/PropertyExtractingDelegatingItemWriter.java index 27e0f37ab..cdbb62a10 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/PropertyExtractingDelegatingItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/PropertyExtractingDelegatingItemWriter.java @@ -31,7 +31,7 @@ import org.springframework.util.Assert; * * @author Robert Kasanicky */ -public class PropertyExtractingDelegatingItemWriter extends AbstractMethodInvokingDelegator implements ItemWriter { +public class PropertyExtractingDelegatingItemWriter extends AbstractMethodInvokingDelegator implements ItemWriter { private String[] fieldsUsedAsTargetMethodArguments; @@ -39,7 +39,7 @@ public class PropertyExtractingDelegatingItemWriter extends AbstractMethodInvoki * Extracts values from item's fields named in fieldsUsedAsTargetMethodArguments * and passes them as arguments to the delegate method. */ - public void write(Object item) throws Exception { + public void write(T item) throws Exception { // helper for extracting property values from a bean BeanWrapper beanWrapper = new BeanWrapperImpl(item); diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java index 782feaef5..7026224bb 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java @@ -51,7 +51,7 @@ import org.springframework.util.ClassUtils; * @author Robert Kasanicky * @author Dave Syer */ -public class HibernateCursorItemReader extends AbstractBufferedItemReaderItemStream implements ItemStream, +public class HibernateCursorItemReader extends AbstractBufferedItemReaderItemStream implements ItemStream, InitializingBean { private SessionFactory sessionFactory; @@ -150,7 +150,8 @@ public class HibernateCursorItemReader extends AbstractBufferedItemReaderItemStr this.fetchSize = fetchSize; } - protected Object doRead() throws Exception { + @SuppressWarnings("unchecked") + protected T doRead() throws Exception { if (cursor.next()) { Object[] data = cursor.get(); Object item; @@ -162,7 +163,7 @@ public class HibernateCursorItemReader extends AbstractBufferedItemReaderItemStr item = data[0]; } - return item; + return (T)item; } return null; } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractItemStreamItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractItemStreamItemWriter.java index c2905224a..1d9e1e53d 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractItemStreamItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractItemStreamItemWriter.java @@ -25,6 +25,6 @@ import org.springframework.batch.item.ItemWriter; * @author Dave Syer * */ -public abstract class AbstractItemStreamItemWriter extends ItemStreamSupport implements ItemWriter { +public abstract class AbstractItemStreamItemWriter extends ItemStreamSupport implements ItemWriter { } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractItemWriter.java index 06d571da7..5f1d9b6e4 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/AbstractItemWriter.java @@ -25,7 +25,7 @@ import org.springframework.batch.item.ItemWriter; * * @author Lucas Ward */ -public abstract class AbstractItemWriter implements ItemWriter { +public abstract class AbstractItemWriter implements ItemWriter { public void flush() throws FlushFailedException { } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/ItemWriterAdapterTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/ItemWriterAdapterTests.java index 32f6420ca..549b6e63c 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/ItemWriterAdapterTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/ItemWriterAdapterTests.java @@ -14,7 +14,7 @@ import org.springframework.test.AbstractDependencyInjectionSpringContextTests; */ public class ItemWriterAdapterTests extends AbstractDependencyInjectionSpringContextTests { - private ItemWriter processor; + private ItemWriter processor; private FooService fooService; @@ -43,7 +43,7 @@ public class ItemWriterAdapterTests extends AbstractDependencyInjectionSpringCon } // setter for auto-injection - public void setProcessor(ItemWriter processor) { + public void setProcessor(ItemWriter processor) { this.processor = processor; } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/PropertyExtractingDelegatingItemProccessorIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/PropertyExtractingDelegatingItemProccessorIntegrationTests.java index ad68fcfd6..a33c22225 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/PropertyExtractingDelegatingItemProccessorIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/PropertyExtractingDelegatingItemProccessorIntegrationTests.java @@ -14,7 +14,7 @@ import org.springframework.test.AbstractDependencyInjectionSpringContextTests; public class PropertyExtractingDelegatingItemProccessorIntegrationTests extends AbstractDependencyInjectionSpringContextTests { - private PropertyExtractingDelegatingItemWriter processor; + private PropertyExtractingDelegatingItemWriter processor; private FooService fooService; @@ -46,7 +46,7 @@ public class PropertyExtractingDelegatingItemProccessorIntegrationTests extends } - public void setProcessor(PropertyExtractingDelegatingItemWriter processor) { + public void setProcessor(PropertyExtractingDelegatingItemWriter processor) { this.processor = processor; } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderIntegrationTests.java index 2236d6673..35bb243f1 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderIntegrationTests.java @@ -26,7 +26,7 @@ public class HibernateCursorItemReaderIntegrationTests extends AbstractDataSourc String hsqlQuery = "from Foo"; - HibernateCursorItemReader inputSource = new HibernateCursorItemReader(); + HibernateCursorItemReader inputSource = new HibernateCursorItemReader(); inputSource.setQueryString(hsqlQuery); inputSource.setSessionFactory(sessionFactory); inputSource.setUseStatelessSession(isUseStatelessSession()); @@ -47,7 +47,7 @@ public class HibernateCursorItemReaderIntegrationTests extends AbstractDataSourc * called only in uninitialized state. */ public void testSetUseStatelessSession() { - HibernateCursorItemReader inputSource = ((HibernateCursorItemReader) reader); + HibernateCursorItemReader inputSource = (HibernateCursorItemReader)reader; // initialize and call setter => error inputSource.open(new ExecutionContext()); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/transform/ItemTransformerItemWriterFunctionalTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/transform/ItemTransformerItemWriterFunctionalTests.java index 614ad1ff3..32d2d1a0e 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/transform/ItemTransformerItemWriterFunctionalTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/transform/ItemTransformerItemWriterFunctionalTests.java @@ -85,9 +85,9 @@ public class ItemTransformerItemWriterFunctionalTests extends TestCase { } } - private static class BarWriter implements ItemWriter{ + private static class BarWriter implements ItemWriter{ - public void write(Object item) throws Exception { + public void write(Bar item) throws Exception { assertTrue(item instanceof Bar); } @@ -99,9 +99,9 @@ public class ItemTransformerItemWriterFunctionalTests extends TestCase { } - private static class FoobarWriter implements ItemWriter{ + private static class FoobarWriter implements ItemWriter{ - public void write(Object item) throws Exception { + public void write(Foobar item) throws Exception { assertTrue(item instanceof Foobar); } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/transform/ItemTransformerItemWriterTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/transform/ItemTransformerItemWriterTests.java index 49b1ccf71..f2eaeae20 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/transform/ItemTransformerItemWriterTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/transform/ItemTransformerItemWriterTests.java @@ -15,14 +15,14 @@ public class ItemTransformerItemWriterTests extends TestCase { private ItemTransformerItemWriter processor = new ItemTransformerItemWriter(); private ItemTransformer transformer; - private ItemWriter itemWriter; + private ItemWriter itemWriter; private MockControl tControl = MockControl.createControl(ItemTransformer.class); private MockControl outControl = MockControl.createControl(ItemWriter.class); protected void setUp() throws Exception { transformer = (ItemTransformer) tControl.getMock(); - itemWriter = (ItemWriter) outControl.getMock(); + itemWriter = (ItemWriter) outControl.getMock(); processor.setItemTransformer(transformer); processor.setDelegate(itemWriter); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/AbstractTradeBatchTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/AbstractTradeBatchTests.java index 19ff4f4de..9d7f0326f 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/AbstractTradeBatchTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/AbstractTradeBatchTests.java @@ -65,12 +65,12 @@ public abstract class AbstractTradeBatchTests extends TestCase { } } - protected static class TradeWriter extends AbstractItemWriter { + protected static class TradeWriter extends AbstractItemWriter { int count = 0; // This has to be synchronized because we are going to test the state // (count) at the end of a concurrent batch run. - public synchronized void write(Object data) { + public synchronized void write(Trade data) { count++; System.out.println("Executing trade '" + data + "'"); } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/AsynchronousRepeatTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/AsynchronousRepeatTests.java index 085e94fee..8386b7a36 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/AsynchronousRepeatTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/AsynchronousRepeatTests.java @@ -46,7 +46,7 @@ public class AsynchronousRepeatTests extends AbstractTradeBatchTests { assertNotSame(threadName, Thread.currentThread().getName()); threadNames.add(Thread.currentThread().getName()); Thread.sleep(100); - Object item = provider.read(); + Trade item = provider.read(); if (item!=null) { processor.write(item); }