diff --git a/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/concurrent/ConcurrentTransactionTests.java b/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/concurrent/ConcurrentTransactionTests.java index bf21824b8..4fac3b0fa 100644 --- a/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/concurrent/ConcurrentTransactionTests.java +++ b/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/concurrent/ConcurrentTransactionTests.java @@ -15,13 +15,10 @@ */ package org.springframework.batch.core.test.concurrent; -import static org.junit.Assert.assertEquals; - import java.sql.Connection; import java.sql.Driver; import java.sql.SQLException; import java.sql.Statement; - import javax.sql.DataSource; import org.junit.Test; @@ -61,6 +58,8 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.util.ClassUtils; +import static org.junit.Assert.assertEquals; + /** * @author Michael Minella */ @@ -117,6 +116,7 @@ public class ConcurrentTransactionTests { embeddedDatabaseFactory.setDatabaseConfigurer(new EmbeddedDatabaseConfigurer() { @Override + @SuppressWarnings("unchecked") public void configureConnectionProperties(ConnectionProperties properties, String databaseName) { try { properties.setDriverClass((Class) ClassUtils.forName("org.hsqldb.jdbcDriver", this.getClass().getClassLoader())); diff --git a/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/step/FaultTolerantStepFactoryBeanRollbackIntegrationTests.java b/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/step/FaultTolerantStepFactoryBeanRollbackIntegrationTests.java index 90a2ce858..f8f027eb7 100644 --- a/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/step/FaultTolerantStepFactoryBeanRollbackIntegrationTests.java +++ b/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/step/FaultTolerantStepFactoryBeanRollbackIntegrationTests.java @@ -15,8 +15,6 @@ */ package org.springframework.batch.core.test.step; -import static org.junit.Assert.assertEquals; - import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; @@ -27,7 +25,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; - import javax.sql.DataSource; import org.apache.commons.logging.Log; @@ -58,6 +55,8 @@ import org.springframework.test.jdbc.JdbcTestUtils; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.util.Assert; +import static org.junit.Assert.assertEquals; + /** * Tests for {@link FaultTolerantStepFactoryBean}. */ @@ -183,6 +182,7 @@ public class FaultTolerantStepFactoryBeanRollbackIntegrationTests { } + @SuppressWarnings("unchecked") private Map, Boolean> getExceptionMap(Class... args) { Map, Boolean> map = new HashMap, Boolean>(); for (Class arg : args) { diff --git a/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/step/MapRepositoryFaultTolerantStepFactoryBeanRollbackTests.java b/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/step/MapRepositoryFaultTolerantStepFactoryBeanRollbackTests.java index ff467ff4e..933d845de 100644 --- a/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/step/MapRepositoryFaultTolerantStepFactoryBeanRollbackTests.java +++ b/spring-batch-core-tests/src/test/java/org/springframework/batch/core/test/step/MapRepositoryFaultTolerantStepFactoryBeanRollbackTests.java @@ -15,8 +15,6 @@ */ package org.springframework.batch.core.test.step; -import static org.junit.Assert.assertEquals; - import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -30,6 +28,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; import org.junit.Test; + import org.springframework.batch.core.BatchStatus; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobParameters; @@ -41,13 +40,13 @@ import org.springframework.batch.core.step.factory.FaultTolerantStepFactoryBean; import org.springframework.batch.item.ItemProcessor; import org.springframework.batch.item.ItemReader; import org.springframework.batch.item.ItemWriter; -import org.springframework.batch.item.ParseException; -import org.springframework.batch.item.UnexpectedInputException; import org.springframework.batch.support.transaction.ResourcelessTransactionManager; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.util.Assert; +import static org.junit.Assert.assertEquals; + /** * Tests for {@link FaultTolerantStepFactoryBean}. */ @@ -81,7 +80,7 @@ public class MapRepositoryFaultTolerantStepFactoryBeanRollbackTests { writer = new SkipWriterStub(); processor = new SkipProcessorStub(); - factory = new FaultTolerantStepFactoryBean(); + factory = new FaultTolerantStepFactoryBean<>(); factory.setTransactionManager(transactionManager); factory.setBeanName("stepName"); @@ -144,7 +143,7 @@ public class MapRepositoryFaultTolerantStepFactoryBeanRollbackTests { assertEquals(BatchStatus.COMPLETED, stepExecution.getStatus()); assertEquals(5, stepExecution.getSkipCount()); - List processed = new ArrayList(processor.getProcessed()); + List processed = new ArrayList<>(processor.getProcessed()); Collections.sort(processed); assertEquals("[1, 1, 2, 2, 3, 3, 4, 4, 5, 5]", processed.toString()); @@ -178,13 +177,12 @@ public class MapRepositoryFaultTolerantStepFactoryBeanRollbackTests { } @Override - public synchronized String read() throws Exception, UnexpectedInputException, ParseException { + public synchronized String read() throws Exception { counter++; if (counter >= items.length) { return null; } - String item = items[counter]; - return item; + return items[counter]; } } @@ -246,8 +244,9 @@ public class MapRepositoryFaultTolerantStepFactoryBeanRollbackTests { } } + @SuppressWarnings("unchecked") private Map, Boolean> getExceptionMap(Class... args) { - Map, Boolean> map = new HashMap, Boolean>(); + Map, Boolean> map = new HashMap<>(); for (Class arg : args) { map.put(arg, true); } diff --git a/spring-batch-core-tests/src/test/java/test/jdbc/datasource/DataSourceInitializer.java b/spring-batch-core-tests/src/test/java/test/jdbc/datasource/DataSourceInitializer.java index e974ad0e9..dab769966 100644 --- a/spring-batch-core-tests/src/test/java/test/jdbc/datasource/DataSourceInitializer.java +++ b/spring-batch-core-tests/src/test/java/test/jdbc/datasource/DataSourceInitializer.java @@ -112,7 +112,7 @@ public class DataSourceInitializer implements InitializingBean, DisposableBean { String[] scripts; try { scripts = StringUtils.delimitedListToStringArray(stripComments(IOUtils.readLines(scriptResource - .getInputStream())), ";"); + .getInputStream(), "UTF-8")), ";"); } catch (IOException e) { throw new BeanInitializationException("Cannot load script from [" + scriptResource + "]", e); diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/step/factory/SimpleStepFactoryBean.java b/spring-batch-core/src/main/java/org/springframework/batch/core/step/factory/SimpleStepFactoryBean.java index 9d2e39cf2..48def25c9 100755 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/step/factory/SimpleStepFactoryBean.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/step/factory/SimpleStepFactoryBean.java @@ -324,7 +324,7 @@ public class SimpleStepFactoryBean implements FactoryBean, BeanNameA } protected SimpleStepBuilder createBuilder(String name) { - return new SimpleStepBuilder(new StepBuilder(name)); + return new SimpleStepBuilder<>(new StepBuilder(name)); } @Override diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBeanTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBeanTests.java index c04023398..3275e47b0 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBeanTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBeanTests.java @@ -16,7 +16,11 @@ package org.springframework.batch.core.configuration.xml; +import java.util.HashMap; +import java.util.Map; + import org.junit.Test; + import org.springframework.aop.framework.Advised; import org.springframework.aop.framework.ProxyFactory; import org.springframework.batch.core.StepListener; @@ -44,12 +48,9 @@ import org.springframework.test.util.ReflectionTestUtils; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; -import java.util.HashMap; -import java.util.Map; - import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * @author Dan Garrette @@ -317,8 +318,9 @@ public class StepParserStepFactoryBeanTests { assertTrue(handler instanceof SimpleFlow); } + @SuppressWarnings("unchecked") private Map, Boolean> getExceptionMap(Class... args) { - Map, Boolean> map = new HashMap, Boolean>(); + Map, Boolean> map = new HashMap<>(); for (Class arg : args) { map.put(arg, true); } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/jsr/configuration/xml/BatchParserTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/jsr/configuration/xml/BatchParserTests.java index a3fd91b64..42efeb19b 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/jsr/configuration/xml/BatchParserTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/jsr/configuration/xml/BatchParserTests.java @@ -34,6 +34,7 @@ import static org.junit.Assert.assertTrue; public class BatchParserTests { @Test + @SuppressWarnings("unchecked") public void testRoseyScenario() throws Exception { JsrXmlApplicationContext context = new JsrXmlApplicationContext(); Resource batchXml = new ClassPathResource("/org/springframework/batch/core/jsr/configuration/xml/batch.xml"); @@ -49,7 +50,7 @@ public class BatchParserTests { context.registerBeanDefinition("postProcessor", bd); context.refresh(); - ItemProcessor itemProcessor = context.getBean(ItemProcessor.class); + ItemProcessor itemProcessor = context.getBean(ItemProcessor.class); assertNotNull(itemProcessor); StepSynchronizationManager.register(new StepExecution("step1", new JobExecution(5l))); @@ -60,7 +61,7 @@ public class BatchParserTests { } @Test - @SuppressWarnings({"resource", "rawtypes"}) + @SuppressWarnings("unchecked") public void testOverrideBeansFirst() throws Exception { JsrXmlApplicationContext context = new JsrXmlApplicationContext(); Resource overrideXml = new ClassPathResource("/org/springframework/batch/core/jsr/configuration/xml/override_batch.xml"); @@ -70,7 +71,7 @@ public class BatchParserTests { context.load(overrideXml, batchXml); context.refresh(); - ItemProcessor itemProcessor = (ItemProcessor) context.getBean("itemProcessor"); + ItemProcessor itemProcessor = context.getBean("itemProcessor", ItemProcessor.class); assertNotNull(itemProcessor); StepSynchronizationManager.register(new StepExecution("step1", new JobExecution(5l))); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/builder/StepBuilderTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/builder/StepBuilderTests.java index a57ecc135..37ba8dba5 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/builder/StepBuilderTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/builder/StepBuilderTests.java @@ -55,6 +55,7 @@ import static org.junit.Assert.assertEquals; * @author Michael Minella * */ +@SuppressWarnings("serial") public class StepBuilderTests { @Test @@ -115,7 +116,7 @@ public class StepBuilderTests { add("3"); }}; - ItemReader reader = new ListItemReader(items); + ItemReader reader = new ListItemReader<>(items); @SuppressWarnings("unchecked") SimpleStepBuilder builder = new StepBuilder("step") @@ -123,7 +124,7 @@ public class StepBuilderTests { .transactionManager(transactionManager) .chunk(3) .reader(reader) - .processor(new PassThroughItemProcessor()) + .processor(new PassThroughItemProcessor<>()) .writer(new DummyItemWriter()) .listener(new AnnotationBasedStepExecutionListener()); builder.build().execute(execution); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/AbstractExceptionThrowingItemHandlerStub.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/AbstractExceptionThrowingItemHandlerStub.java index ae3672fe8..103787d6c 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/AbstractExceptionThrowingItemHandlerStub.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/AbstractExceptionThrowingItemHandlerStub.java @@ -40,8 +40,9 @@ public abstract class AbstractExceptionThrowingItemHandlerStub { exception = SkippableRuntimeException.class.getConstructor(String.class); } + @SuppressWarnings("unchecked") public void setFailures(T... failures) { - this.failures = new ArrayList(Arrays.asList(failures)); + this.failures = new ArrayList<>(Arrays.asList(failures)); } public void setExceptionType(Class exceptionType) throws Exception { diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanNonBufferingTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanNonBufferingTests.java index d412dee6c..442f6e806 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanNonBufferingTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanNonBufferingTests.java @@ -15,10 +15,6 @@ */ package org.springframework.batch.core.step.item; -import static org.mockito.Mockito.mock; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; - import java.util.Arrays; import java.util.Collection; import java.util.HashMap; @@ -29,6 +25,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; import org.junit.Test; + import org.springframework.batch.core.BatchStatus; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobInstance; @@ -44,13 +41,17 @@ import org.springframework.batch.support.transaction.ResourcelessTransactionMana import org.springframework.batch.support.transaction.TransactionAwareProxyFactory; import org.springframework.util.StringUtils; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.mockito.Mockito.mock; + public class FaultTolerantStepFactoryBeanNonBufferingTests { protected final Log logger = LogFactory.getLog(getClass()); - private FaultTolerantStepFactoryBean factory = new FaultTolerantStepFactoryBean(); + private FaultTolerantStepFactoryBean factory = new FaultTolerantStepFactoryBean<>(); - private List items = Arrays.asList(new String[] { "1", "2", "3", "4", "5" }); + private List items = Arrays.asList("1", "2", "3", "4", "5"); private ListItemReader reader = new ListItemReader(TransactionAwareProxyFactory .createTransactionalList(items)); @@ -86,6 +87,7 @@ public class FaultTolerantStepFactoryBeanNonBufferingTests { * Check items causing errors are skipped as expected. */ @Test + @SuppressWarnings("rawtypes") public void testSkip() throws Exception { @SuppressWarnings("unchecked") SkipListener skipListener = mock(SkipListener.class); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRetryTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRetryTests.java index e55441ef5..723721273 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRetryTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRetryTests.java @@ -15,9 +15,6 @@ */ package org.springframework.batch.core.step.item; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -30,6 +27,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; import org.junit.Test; + import org.springframework.batch.core.BatchStatus; import org.springframework.batch.core.ExitStatus; import org.springframework.batch.core.JobExecution; @@ -60,6 +58,9 @@ import org.springframework.retry.policy.SimpleRetryPolicy; import org.springframework.transaction.support.TransactionSynchronizationManager; import org.springframework.util.StringUtils; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + /** * @author Dave Syer * @@ -756,9 +757,10 @@ public class FaultTolerantStepFactoryBeanRetryTests { assertEquals(0, recovered.size()); } + @SuppressWarnings("unchecked") private Map, Boolean> getExceptionMap( Class... args) { - Map, Boolean> map = new HashMap, Boolean>(); + Map, Boolean> map = new HashMap<>(); for (Class arg : args) { map.put(arg, true); } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRollbackTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRollbackTests.java index 9b0a94033..4973651f1 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRollbackTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRollbackTests.java @@ -15,11 +15,20 @@ */ package org.springframework.batch.core.step.item; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.After; import org.junit.Before; import org.junit.Test; + import org.springframework.batch.core.BatchStatus; import org.springframework.batch.core.ChunkListener; import org.springframework.batch.core.JobExecution; @@ -43,14 +52,6 @@ import org.springframework.transaction.interceptor.TransactionAttribute; import org.springframework.transaction.interceptor.TransactionAttributeEditor; import org.springframework.util.StringUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - import static org.hamcrest.CoreMatchers.instanceOf; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -272,7 +273,7 @@ public class FaultTolerantStepFactoryBeanRollbackTests { factory.setItemProcessor(processor); @SuppressWarnings("unchecked") - List> exceptions = Arrays.>asList(Exception.class); + List> exceptions = Arrays.asList(Exception.class); factory.setNoRollbackExceptionClasses(exceptions); @SuppressWarnings("unchecked") Map, Boolean> skippable = getExceptionMap(Exception.class); @@ -596,8 +597,9 @@ public class FaultTolerantStepFactoryBeanRollbackTests { return Arrays.> asList(arg); } + @SuppressWarnings("unchecked") private Map, Boolean> getExceptionMap(Class... args) { - Map, Boolean> map = new HashMap, Boolean>(); + Map, Boolean> map = new HashMap<>(); for (Class arg : args) { map.put(arg, true); } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanTests.java index 509e389d5..1c1da512d 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanTests.java @@ -15,12 +15,20 @@ */ package org.springframework.batch.core.step.item; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInvocation; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; import org.junit.Test; + import org.springframework.aop.framework.ProxyFactory; import org.springframework.batch.core.BatchStatus; import org.springframework.batch.core.ChunkListener; @@ -60,13 +68,6 @@ import org.springframework.scheduling.concurrent.ConcurrentTaskExecutor; import org.springframework.test.util.ReflectionTestUtils; import org.springframework.util.StringUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -97,15 +98,15 @@ public class FaultTolerantStepFactoryBeanTests { private boolean closed = false; public FaultTolerantStepFactoryBeanTests() throws Exception { - reader = new SkipReaderStub(); - processor = new SkipProcessorStub(); - writer = new SkipWriterStub(); + reader = new SkipReaderStub<>(); + processor = new SkipProcessorStub<>(); + writer = new SkipWriterStub<>(); } @SuppressWarnings("unchecked") @Before public void setUp() throws Exception { - factory = new FaultTolerantStepFactoryBean(); + factory = new FaultTolerantStepFactoryBean<>(); factory.setBeanName("stepName"); factory.setTransactionManager(new ResourcelessTransactionManager()); @@ -1116,8 +1117,9 @@ public class FaultTolerantStepFactoryBeanTests { return (SkipPolicy) ReflectionTestUtils.getField(chunkProvider, "skipPolicy"); } + @SuppressWarnings("unchecked") private Map, Boolean> getExceptionMap(Class... args) { - Map, Boolean> map = new HashMap, Boolean>(); + Map, Boolean> map = new HashMap<>(); for (Class arg : args) { map.put(arg, true); } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SkipReaderStub.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SkipReaderStub.java index 3e510bb75..32a7fa33f 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SkipReaderStub.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/SkipReaderStub.java @@ -39,11 +39,13 @@ public class SkipReaderStub extends AbstractExceptionThrowingItemHandlerStub< super(); } + @SuppressWarnings("unchecked") public SkipReaderStub(T... items) throws Exception { super(); this.items = items; } + @SuppressWarnings("unchecked") public void setItems(T... items) { Assert.isTrue(counter < 0, "Items cannot be set once reading has started"); this.items = items; diff --git a/spring-batch-core/src/test/java/test/jdbc/datasource/DataSourceInitializer.java b/spring-batch-core/src/test/java/test/jdbc/datasource/DataSourceInitializer.java index 42b15e476..9c972c604 100644 --- a/spring-batch-core/src/test/java/test/jdbc/datasource/DataSourceInitializer.java +++ b/spring-batch-core/src/test/java/test/jdbc/datasource/DataSourceInitializer.java @@ -107,7 +107,7 @@ public class DataSourceInitializer implements InitializingBean { String[] scripts; try { scripts = StringUtils.delimitedListToStringArray(stripComments(IOUtils.readLines(scriptResource - .getInputStream())), ";"); + .getInputStream(), "UTF-8")), ";"); } catch (IOException e) { throw new BeanInitializationException("Cannot load script from [" + scriptResource + "]", e); diff --git a/spring-batch-infrastructure-tests/src/test/java/test/jdbc/datasource/DataSourceInitializer.java b/spring-batch-infrastructure-tests/src/test/java/test/jdbc/datasource/DataSourceInitializer.java index b8c1cb473..9af18fdff 100644 --- a/spring-batch-infrastructure-tests/src/test/java/test/jdbc/datasource/DataSourceInitializer.java +++ b/spring-batch-infrastructure-tests/src/test/java/test/jdbc/datasource/DataSourceInitializer.java @@ -106,7 +106,7 @@ public class DataSourceInitializer implements InitializingBean, DisposableBean { String[] scripts; try { String[] list = StringUtils.delimitedListToStringArray(stripComments(IOUtils.readLines(scriptResource - .getInputStream())), ";"); + .getInputStream(), "UTF-8")), ";"); scripts = list; } catch (IOException e) { diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateNativeQueryProvider.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateNativeQueryProvider.java index 1a8bec108..0f97e59f8 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateNativeQueryProvider.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateNativeQueryProvider.java @@ -33,7 +33,7 @@ import org.springframework.util.StringUtils; * * @param entity returned by executing the query */ -public class HibernateNativeQueryProvider extends AbstractHibernateQueryProvider { +public class HibernateNativeQueryProvider extends AbstractHibernateQueryProvider { private String sqlQuery; @@ -46,7 +46,8 @@ public class HibernateNativeQueryProvider extends AbstractHibernateQueryProvi *

*/ @Override - public NativeQuery createQuery() { + @SuppressWarnings("unchecked") + public NativeQuery createQuery() { if (isStatelessSession()) { return getStatelessSession().createNativeQuery(sqlQuery).addEntity(entityClass); diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/mapping/BeanWrapperFieldSetMapper.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/mapping/BeanWrapperFieldSetMapper.java index 340e334b3..ec51cb6a3 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/mapping/BeanWrapperFieldSetMapper.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/mapping/BeanWrapperFieldSetMapper.java @@ -402,7 +402,7 @@ public class BeanWrapperFieldSetMapper extends DefaultPropertyEditorRegistrar * Public setter for the 'conversionService' property. * {@link #createBinder(Object)} will use it if not null. * - * @param conversionService + * @param conversionService {@link ConversionService} to be used for type conversions */ public void setConversionService(ConversionService conversionService) { this.conversionService = conversionService; diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/AbstractLineTokenizer.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/AbstractLineTokenizer.java index 559e94086..feaaaea4f 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/AbstractLineTokenizer.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/AbstractLineTokenizer.java @@ -20,6 +20,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.springframework.util.StringUtils; + /** * Abstract class handling common concerns of various {@link LineTokenizer} * implementations such as dealing with names and actual construction of @@ -80,7 +82,22 @@ public abstract class AbstractLineTokenizer implements LineTokenizer { * @param names names of each column */ public void setNames(String... names) { - this.names = names==null ? null : Arrays.asList(names).toArray(new String[names.length]); + if(names == null) { + this.names = null; + } + else { + boolean valid = false; + for (String name : names) { + if(StringUtils.hasText(name)) { + valid = true; + break; + } + } + + if(valid) { + this.names = Arrays.asList(names).toArray(new String[names.length]); + } + } } /** diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/builder/SynchronizedItemStreamReaderBuilder.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/builder/SynchronizedItemStreamReaderBuilder.java index 4bedde9db..08d4eb84c 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/builder/SynchronizedItemStreamReaderBuilder.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/builder/SynchronizedItemStreamReaderBuilder.java @@ -40,7 +40,7 @@ public class SynchronizedItemStreamReaderBuilder { * @return this instance for method chaining * @see SynchronizedItemStreamReader#setDelegate(ItemStreamReader) */ - public SynchronizedItemStreamReaderBuilder delegate(ItemStreamReader delegate) { + public SynchronizedItemStreamReaderBuilder delegate(ItemStreamReader delegate) { this.delegate = delegate; return this; diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/data/builder/RepositoryItemReaderBuilderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/data/builder/RepositoryItemReaderBuilderTests.java index be37188f0..e8f7c8c0f 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/data/builder/RepositoryItemReaderBuilderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/data/builder/RepositoryItemReaderBuilderTests.java @@ -53,7 +53,7 @@ public class RepositoryItemReaderBuilderTests { private TestRepository repository; @Mock - private Page page; + private Page page; private Map sorts; diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/AbstractHibernateCursorItemReaderIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/AbstractHibernateCursorItemReaderIntegrationTests.java index 414583e68..025044523 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/AbstractHibernateCursorItemReaderIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/AbstractHibernateCursorItemReaderIntegrationTests.java @@ -17,10 +17,10 @@ package org.springframework.batch.item.database; import org.hibernate.SessionFactory; import org.hibernate.StatelessSession; + import org.springframework.batch.item.ItemReader; import org.springframework.batch.item.sample.Foo; import org.springframework.core.io.ClassPathResource; -import org.springframework.core.io.Resource; import org.springframework.orm.hibernate5.LocalSessionFactoryBean; /** @@ -37,13 +37,13 @@ AbstractGenericDataSourceItemReaderIntegrationTests { LocalSessionFactoryBean factoryBean = new LocalSessionFactoryBean(); factoryBean.setDataSource(dataSource); - factoryBean.setMappingLocations(new Resource[] { new ClassPathResource("Foo.hbm.xml", getClass()) }); + factoryBean.setMappingLocations(new ClassPathResource("Foo.hbm.xml", getClass())); customizeSessionFactory(factoryBean); factoryBean.afterPropertiesSet(); SessionFactory sessionFactory = factoryBean.getObject(); - HibernateCursorItemReader hibernateReader = new HibernateCursorItemReader(); + HibernateCursorItemReader hibernateReader = new HibernateCursorItemReader<>(); setQuery(hibernateReader); hibernateReader.setSessionFactory(sessionFactory); hibernateReader.setUseStatelessSession(isUseStatelessSession()); @@ -57,7 +57,7 @@ AbstractGenericDataSourceItemReaderIntegrationTests { protected void customizeSessionFactory(LocalSessionFactoryBean factoryBean) { } - protected void setQuery(HibernateCursorItemReader reader) throws Exception { + protected void setQuery(HibernateCursorItemReader reader) throws Exception { reader.setQueryString("from Foo"); } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderNamedQueryIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderNamedQueryIntegrationTests.java index 90c1c14c5..851f59a3b 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderNamedQueryIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderNamedQueryIntegrationTests.java @@ -15,13 +15,15 @@ */ package org.springframework.batch.item.database; +import org.springframework.batch.item.sample.Foo; + /** * Tests {@link HibernateCursorItemReader} configured with named query. */ public class HibernateCursorItemReaderNamedQueryIntegrationTests extends AbstractHibernateCursorItemReaderIntegrationTests { @Override - protected void setQuery(HibernateCursorItemReader reader) { + protected void setQuery(HibernateCursorItemReader reader) { reader.setQueryName("allFoos"); } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderNativeQueryIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderNativeQueryIntegrationTests.java index e259ee6f5..dd1bd83ad 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderNativeQueryIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderNativeQueryIntegrationTests.java @@ -25,13 +25,13 @@ import org.springframework.batch.item.sample.Foo; public class HibernateCursorItemReaderNativeQueryIntegrationTests extends AbstractHibernateCursorItemReaderIntegrationTests { @Override - protected void setQuery(HibernateCursorItemReader hibernateReader) throws Exception { + protected void setQuery(HibernateCursorItemReader hibernateReader) throws Exception { String nativeQuery = "select * from T_FOOS"; //creating a native query provider as it would be created in configuration HibernateNativeQueryProvider queryProvider = - new HibernateNativeQueryProvider(); + new HibernateNativeQueryProvider<>(); queryProvider.setSqlQuery(nativeQuery); queryProvider.setEntityClass(Foo.class); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderParametersIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderParametersIntegrationTests.java index 3f54a5f5c..81747c5f2 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderParametersIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderParametersIntegrationTests.java @@ -19,6 +19,8 @@ import java.util.Collections; import org.hibernate.StatelessSession; +import org.springframework.batch.item.sample.Foo; + /** * Tests for {@link HibernateCursorItemReader} using {@link StatelessSession}. * @@ -29,9 +31,9 @@ public class HibernateCursorItemReaderParametersIntegrationTests extends AbstractHibernateCursorItemReaderIntegrationTests { @Override - protected void setQuery(HibernateCursorItemReader reader) { + protected void setQuery(HibernateCursorItemReader reader) { reader.setQueryString("from Foo where name like :name"); - reader.setParameterValues(Collections.singletonMap("name", (Object) "bar%")); + reader.setParameterValues(Collections.singletonMap("name", "bar%")); } } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderStatefulIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderStatefulIntegrationTests.java index 4b80ee115..423b56238 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderStatefulIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/HibernateCursorItemReaderStatefulIntegrationTests.java @@ -41,11 +41,12 @@ public class HibernateCursorItemReaderStatefulIntegrationTests extends AbstractH //Ensure close is called on the stateful session correctly. @Test + @SuppressWarnings("unchecked") public void testStatefulClose(){ SessionFactory sessionFactory = mock(SessionFactory.class); Session session = mock(Session.class); - Query scrollableResults = mock(Query.class); + Query scrollableResults = mock(Query.class); HibernateCursorItemReader itemReader = new HibernateCursorItemReader<>(); itemReader.setSessionFactory(sessionFactory); itemReader.setQueryString("testQuery"); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/builder/HibernatePagingItemReaderBuilderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/builder/HibernatePagingItemReaderBuilderTests.java index 15f14eb2b..bc230c3f4 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/builder/HibernatePagingItemReaderBuilderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/builder/HibernatePagingItemReaderBuilderTests.java @@ -68,6 +68,7 @@ public class HibernatePagingItemReaderBuilderTests { } @Test + @SuppressWarnings("unchecked") public void testConfiguration() throws Exception { HibernatePagingItemReader reader = new HibernatePagingItemReaderBuilder() .name("fooReader") @@ -101,7 +102,7 @@ public class HibernatePagingItemReaderBuilderTests { assertEquals(2, executionContext.size()); assertEquals(5, ReflectionTestUtils.getField(reader, "pageSize")); - HibernateItemReaderHelper helper = (HibernateItemReaderHelper) ReflectionTestUtils.getField(reader, "helper"); + HibernateItemReaderHelper helper = (HibernateItemReaderHelper) ReflectionTestUtils.getField(reader, "helper"); assertEquals(false, ReflectionTestUtils.getField(helper, "useStatelessSession")); } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/HibernateNativeQueryProviderIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/HibernateNativeQueryProviderIntegrationTests.java index b5abc8401..47e96896a 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/HibernateNativeQueryProviderIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/HibernateNativeQueryProviderIntegrationTests.java @@ -58,7 +58,7 @@ public class HibernateNativeQueryProviderIntegrationTests { } public HibernateNativeQueryProviderIntegrationTests() { - hibernateQueryProvider = new HibernateNativeQueryProvider(); + hibernateQueryProvider = new HibernateNativeQueryProvider<>(); hibernateQueryProvider.setEntityClass(Foo.class); } @@ -84,7 +84,7 @@ public class HibernateNativeQueryProviderIntegrationTests { hibernateQueryProvider.afterPropertiesSet(); hibernateQueryProvider.setSession(sessionFactory.openSession()); - Query query = hibernateQueryProvider.createQuery(); + Query query = hibernateQueryProvider.createQuery(); List expectedFoos = new ArrayList<>(); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/HibernateNativeQueryProviderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/HibernateNativeQueryProviderTests.java index 2b03b64e4..6deed4b40 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/HibernateNativeQueryProviderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/HibernateNativeQueryProviderTests.java @@ -37,17 +37,18 @@ public class HibernateNativeQueryProviderTests { protected HibernateNativeQueryProvider hibernateQueryProvider; public HibernateNativeQueryProviderTests() { - hibernateQueryProvider = new HibernateNativeQueryProvider(); + hibernateQueryProvider = new HibernateNativeQueryProvider<>(); hibernateQueryProvider.setEntityClass(Foo.class); } @Test + @SuppressWarnings("unchecked") public void testCreateQueryWithStatelessSession() { String sqlQuery = "select * from T_FOOS"; hibernateQueryProvider.setSqlQuery(sqlQuery); StatelessSession session = mock(StatelessSession.class); - NativeQuery query = mock(NativeQuery.class); + NativeQuery query = mock(NativeQuery.class); when(session.createNativeQuery(sqlQuery)).thenReturn(query); when(query.addEntity(Foo.class)).thenReturn(query); @@ -58,12 +59,13 @@ public class HibernateNativeQueryProviderTests { } @Test + @SuppressWarnings("unchecked") public void shouldCreateQueryWithStatefulSession() { String sqlQuery = "select * from T_FOOS"; hibernateQueryProvider.setSqlQuery(sqlQuery); Session session = mock(Session.class); - NativeQuery query = mock(NativeQuery.class); + NativeQuery query = mock(NativeQuery.class); when(session.createNativeQuery(sqlQuery)).thenReturn(query); when(query.addEntity(Foo.class)).thenReturn(query); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/builder/MultiResourceItemReaderBuilderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/builder/MultiResourceItemReaderBuilderTests.java index edebadd51..c116cdb9f 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/builder/MultiResourceItemReaderBuilderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/builder/MultiResourceItemReaderBuilderTests.java @@ -24,7 +24,6 @@ import org.springframework.batch.item.AbstractItemStreamItemReaderTests; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.item.ItemReader; import org.springframework.batch.item.file.FlatFileItemReader; -import org.springframework.batch.item.file.LineMapper; import org.springframework.batch.item.file.MultiResourceItemReader; import org.springframework.batch.item.sample.Foo; import org.springframework.core.io.ByteArrayResource; @@ -42,17 +41,12 @@ public class MultiResourceItemReaderBuilderTests extends AbstractItemStreamItemR @Override protected ItemReader getItemReader() throws Exception { - FlatFileItemReader fileReader = new FlatFileItemReader(); - - fileReader.setLineMapper(new LineMapper() { - - @Override - public Foo mapLine(String line, int lineNumber) throws Exception { - Foo foo = new Foo(); - foo.setValue(Integer.valueOf(line)); - return foo; - } + FlatFileItemReader fileReader = new FlatFileItemReader<>(); + fileReader.setLineMapper((line, lineNumber) -> { + Foo foo = new Foo(); + foo.setValue(Integer.valueOf(line)); + return foo; }); fileReader.setSaveState(true); @@ -61,12 +55,8 @@ public class MultiResourceItemReaderBuilderTests extends AbstractItemStreamItemR Resource r3 = new ByteArrayResource("3\n".getBytes()); Resource r4 = new ByteArrayResource("4\n5\n".getBytes()); - Comparator comparator = new Comparator() { - @Override - public int compare(Resource arg0, Resource arg1) { - return 0; // preserve original ordering - } - + Comparator comparator = (arg0, arg1) -> { + return 0; // preserve original ordering }; return new MultiResourceItemReaderBuilder().delegate(fileReader) .resources(new Resource[] { r1, r2, r3, r4 }).saveState(true).comparator(comparator).name("FOO") @@ -86,6 +76,7 @@ public class MultiResourceItemReaderBuilderTests extends AbstractItemStreamItemR } @Test + @SuppressWarnings("unchecked") public void testNullResources() { try { new MultiResourceItemReaderBuilder().delegate(mock(FlatFileItemReader.class)).build(); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/mapping/BeanWrapperFieldSetMapperTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/mapping/BeanWrapperFieldSetMapperTests.java index fb03c5a45..3839a0942 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/mapping/BeanWrapperFieldSetMapperTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/mapping/BeanWrapperFieldSetMapperTests.java @@ -16,10 +16,6 @@ package org.springframework.batch.item.file.mapping; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - import java.beans.PropertyEditor; import java.math.BigDecimal; import java.text.NumberFormat; @@ -33,6 +29,7 @@ import java.util.Map; import java.util.Properties; import org.junit.Test; + import org.springframework.batch.item.file.transform.DefaultFieldSet; import org.springframework.batch.item.file.transform.FieldSet; import org.springframework.beans.BeanWrapperImpl; @@ -51,6 +48,10 @@ import org.springframework.test.util.ReflectionTestUtils; import org.springframework.validation.BindException; import org.springframework.validation.DataBinder; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + public class BeanWrapperFieldSetMapperTests { @Test @@ -834,6 +835,7 @@ public class BeanWrapperFieldSetMapperTests { @Nullable @Override + @SuppressWarnings("unchecked") public T convert(@Nullable Object source, Class targetType) { return (T)"CONVERTED"; } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/transform/CommonLineTokenizerTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/transform/CommonLineTokenizerTests.java index 2510464b9..e1a5eccfa 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/transform/CommonLineTokenizerTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/transform/CommonLineTokenizerTests.java @@ -15,6 +15,7 @@ */ package org.springframework.batch.item.file.transform; +import java.util.ArrayList; import java.util.List; import junit.framework.TestCase; @@ -40,13 +41,13 @@ public class CommonLineTokenizerTests extends TestCase { assertFalse(tokenizer.hasNames()); - tokenizer.setNames(null); + tokenizer.setNames((String) null); assertFalse(tokenizer.hasNames()); - tokenizer.setNames(new String[0]); + tokenizer.setNames(new ArrayList().toArray(new String[0])); assertFalse(tokenizer.hasNames()); - tokenizer.setNames(new String[]{"name1", "name2"}); + tokenizer.setNames("name1", "name2"); assertTrue(tokenizer.hasNames()); } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/support/builder/ClassifierCompositeItemWriterBuilderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/support/builder/ClassifierCompositeItemWriterBuilderTests.java index 22b7ca75e..27bc81f2b 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/support/builder/ClassifierCompositeItemWriterBuilderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/support/builder/ClassifierCompositeItemWriterBuilderTests.java @@ -36,29 +36,19 @@ import static org.junit.Assert.assertEquals; */ public class ClassifierCompositeItemWriterBuilderTests { - private List defaults = new ArrayList(); + private List defaults = new ArrayList<>(); - private List foos = new ArrayList(); + private List foos = new ArrayList<>(); @Test public void testWrite() throws Exception { - Map> map = new HashMap>(); - ItemWriter fooWriter = new ItemWriter() { - @Override - public void write(List items) throws Exception { - foos.addAll(items); - } - }; - ItemWriter defaultWriter = new ItemWriter() { - @Override - public void write(List items) throws Exception { - defaults.addAll(items); - } - }; + Map> map = new HashMap<>(); + ItemWriter fooWriter = items -> foos.addAll(items); + ItemWriter defaultWriter = items -> defaults.addAll(items); map.put("foo", fooWriter); map.put("*", defaultWriter); ClassifierCompositeItemWriter writer = new ClassifierCompositeItemWriterBuilder() - .classifier(new PatternMatchingClassifier>(map)).build(); + .classifier(new PatternMatchingClassifier<>(map)).build(); writer.write(Arrays.asList("foo", "foo", "one", "two", "three")); assertEquals("[foo, foo]", foos.toString()); @@ -68,7 +58,7 @@ public class ClassifierCompositeItemWriterBuilderTests { @Test public void testSetNullClassifier() throws Exception { try { - new ClassifierCompositeItemWriterBuilder().build(); + new ClassifierCompositeItemWriterBuilder<>().build(); fail("A classifier is required."); } catch (IllegalArgumentException iae) { diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/support/builder/CompositeItemWriterBuilderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/support/builder/CompositeItemWriterBuilderTests.java index fa578f395..001ae20d1 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/support/builder/CompositeItemWriterBuilderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/support/builder/CompositeItemWriterBuilderTests.java @@ -37,19 +37,19 @@ import static org.mockito.Mockito.verify; public class CompositeItemWriterBuilderTests { @Test + @SuppressWarnings("unchecked") public void testProcess() throws Exception { final int NUMBER_OF_WRITERS = 10; List data = Collections.singletonList(new Object()); - List> writers = new ArrayList>(); + List> writers = new ArrayList<>(); for (int i = 0; i < NUMBER_OF_WRITERS; i++) { ItemWriter writer = mock(ItemWriter.class); writers.add(writer); } - CompositeItemWriter itemWriter = new CompositeItemWriterBuilder().delegates(writers).build(); - itemWriter.setDelegates(writers); + CompositeItemWriter itemWriter = new CompositeItemWriterBuilder<>().delegates(writers).build(); itemWriter.write(data); for (ItemWriter writer : writers) { @@ -64,14 +64,15 @@ public class CompositeItemWriterBuilderTests { ignoreItemStream(true); } + @SuppressWarnings("unchecked") private void ignoreItemStream(boolean ignoreItemStream) throws Exception { ItemStreamWriter writer = mock(ItemStreamWriter.class); List data = Collections.singletonList(new Object()); ExecutionContext executionContext = new ExecutionContext(); - List> writers = new ArrayList>(); + List> writers = new ArrayList<>(); writers.add(writer); - CompositeItemWriter itemWriter = new CompositeItemWriterBuilder().delegates(writers) + CompositeItemWriter itemWriter = new CompositeItemWriterBuilder<>().delegates(writers) .ignoreItemStream(ignoreItemStream).build(); itemWriter.open(executionContext); diff --git a/spring-batch-infrastructure/src/test/java/test/jdbc/datasource/DataSourceInitializer.java b/spring-batch-infrastructure/src/test/java/test/jdbc/datasource/DataSourceInitializer.java index 11f7e6a73..94b45c55a 100644 --- a/spring-batch-infrastructure/src/test/java/test/jdbc/datasource/DataSourceInitializer.java +++ b/spring-batch-infrastructure/src/test/java/test/jdbc/datasource/DataSourceInitializer.java @@ -145,7 +145,7 @@ public class DataSourceInitializer implements InitializingBean, DisposableBean { String[] scripts; try { scripts = StringUtils.delimitedListToStringArray(stripComments(IOUtils.readLines(scriptResource - .getInputStream())), ";"); + .getInputStream(), "UTF-8")), ";"); } catch (IOException e) { throw new BeanInitializationException("Cannot load script from [" + scriptResource + "]", e); diff --git a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/AsynchronousFailureException.java b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/AsynchronousFailureException.java index a3c49628f..8bd30d38d 100644 --- a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/AsynchronousFailureException.java +++ b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/AsynchronousFailureException.java @@ -27,6 +27,8 @@ import org.springframework.batch.item.ItemWriterException; */ public class AsynchronousFailureException extends ItemWriterException { + private static final long serialVersionUID = 1L; + /** * Create a new {@link AsynchronousFailureException} based on a message and * another exception. diff --git a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkMessageChannelItemWriter.java b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkMessageChannelItemWriter.java index 1356849e8..25a902b67 100644 --- a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkMessageChannelItemWriter.java +++ b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkMessageChannelItemWriter.java @@ -216,6 +216,7 @@ public class ChunkMessageChannelItemWriter extends StepExecutionListenerSuppo * @throws IllegalStateException if the result contains the wrong job instance id (maybe we are sharing a channel * and we shouldn't be) */ + @SuppressWarnings("unchecked") private void getNextResult() throws AsynchronousFailureException { Message message = (Message) messagingGateway.receive(replyChannel); if (message != null) { diff --git a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkRequest.java b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkRequest.java index 16655f2cd..be553adea 100644 --- a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkRequest.java +++ b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkRequest.java @@ -31,6 +31,8 @@ import org.springframework.batch.core.StepContribution; */ public class ChunkRequest implements Serializable { + private static final long serialVersionUID = 1L; + private final long jobId; private final Collection items; diff --git a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkResponse.java b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkResponse.java index a422e7705..3cec62df9 100644 --- a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkResponse.java +++ b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/ChunkResponse.java @@ -28,6 +28,8 @@ import org.springframework.batch.core.StepContribution; */ public class ChunkResponse implements Serializable { + private static final long serialVersionUID = 1L; + private final StepContribution stepContribution; private final Long jobId; diff --git a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/RemoteChunkHandlerFactoryBean.java b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/RemoteChunkHandlerFactoryBean.java index 72659c136..7592dc422 100644 --- a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/RemoteChunkHandlerFactoryBean.java +++ b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/RemoteChunkHandlerFactoryBean.java @@ -122,7 +122,7 @@ public class RemoteChunkHandlerFactoryBean implements FactoryBean outputLines = IOUtils.readLines(new FileInputStream(fileName)); + List outputLines = IOUtils.readLines(new FileInputStream(fileName), "UTF-8"); String output = ""; for (String line : outputLines) { diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/MultilineJobFunctionalTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/MultilineJobFunctionalTests.java index 7d499509c..487a34723 100644 --- a/spring-batch-samples/src/test/java/org/springframework/batch/sample/MultilineJobFunctionalTests.java +++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/MultilineJobFunctionalTests.java @@ -16,11 +16,10 @@ package org.springframework.batch.sample; -import static org.junit.Assert.assertEquals; - import org.apache.commons.io.IOUtils; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.batch.test.JobLauncherTestUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.FileSystemResource; @@ -29,6 +28,8 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.util.StringUtils; +import static org.junit.Assert.assertEquals; + @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "/simple-job-launcher-context.xml", "/jobs/multilineJob.xml", "/job-runner-context.xml" }) @@ -47,7 +48,7 @@ public class MultilineJobFunctionalTests { @Test public void testJobLaunch() throws Exception { jobLauncherTestUtils.launchJob(); - assertEquals(EXPECTED_RESULT, StringUtils.replace(IOUtils.toString(output.getInputStream()), System + assertEquals(EXPECTED_RESULT, StringUtils.replace(IOUtils.toString(output.getInputStream(), "UTF-8"), System .getProperty("line.separator"), "")); } } diff --git a/spring-batch-test/src/main/java/org/springframework/batch/test/DataSourceInitializer.java b/spring-batch-test/src/main/java/org/springframework/batch/test/DataSourceInitializer.java index ddc4a260a..a49456202 100755 --- a/spring-batch-test/src/main/java/org/springframework/batch/test/DataSourceInitializer.java +++ b/spring-batch-test/src/main/java/org/springframework/batch/test/DataSourceInitializer.java @@ -127,7 +127,7 @@ public class DataSourceInitializer implements InitializingBean, DisposableBean { String[] scripts; try { scripts = StringUtils.delimitedListToStringArray(stripComments(IOUtils.readLines(scriptResource - .getInputStream())), ";"); + .getInputStream(), "UTF-8")), ";"); } catch (IOException e) { throw new BeanInitializationException("Cannot load script from [" + scriptResource + "]", e);