From f4c05307301970cd04086f3d1aa59953ea53fea5 Mon Sep 17 00:00:00 2001 From: Michael Minella Date: Tue, 9 Aug 2016 13:19:14 -0500 Subject: [PATCH] Upgraded dependency versions and minor polish --- build.gradle | 78 +++++++++---------- ...ClassPathXmlApplicationContextFactory.java | 1 + .../support/ClassPathXmlJobRegistry.java | 1 + .../xml/SimpleFlowFactoryBean.java | 2 +- .../batch/core/explore/JobExplorer.java | 8 +- .../batch/core/job/flow/JobFlowExecutor.java | 2 +- .../job/flow/support/state/StepState.java | 1 + .../repository/dao/JdbcJobExecutionDao.java | 2 +- .../core/repository/dao/JobInstanceDao.java | 2 +- .../AbstractJobRepositoryFactoryBean.java | 1 + .../support/JobRepositoryFactoryBean.java | 13 ++-- .../core/step/builder/SimpleStepBuilder.java | 16 ++-- .../JobRepositoryFactoryBeanTests.java | 19 +++-- .../core/step/builder/StepBuilderTests.java | 29 +++++-- .../ExtendedConnectionDataSourceProxy.java | 6 +- .../item/database/HibernateItemWriter.java | 2 + .../item/database/JdbcBatchItemWriter.java | 19 ++--- .../item/file/transform/DefaultFieldSet.java | 14 ++-- .../batch/item/util/FileUtils.java | 1 + .../chunk/JmsRedeliveredExtractor.java | 2 +- ...yncItemProcessorMessagingGatewayTests.java | 9 ++- 21 files changed, 126 insertions(+), 102 deletions(-) diff --git a/build.gradle b/build.gradle index 838974a62..4a3f18a8d 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ buildscript { classpath 'io.spring.gradle:docbook-reference-plugin:0.3.1' classpath 'org.springframework.build.gradle:propdeps-plugin:0.0.7' classpath 'io.spring.gradle:spring-io-plugin:0.0.5.RELEASE' - classpath "io.spring.gradle:dependency-management-plugin:0.5.1.RELEASE" + classpath "io.spring.gradle:dependency-management-plugin:0.6.0.RELEASE" } } @@ -42,57 +42,57 @@ allprojects { environmentProperty = project.hasProperty('environment') ? getProperty('environment') : 'hsql' - springVersionDefault = '4.0.5.RELEASE' + springVersionDefault = '4.1.9.RELEASE' springVersion = project.hasProperty('springVersion') ? getProperty('springVersion') : springVersionDefault - springRetryVersion = '1.1.0.RELEASE' - springAmqpVersion = '1.3.3.RELEASE' - springDataCommonsVersion = '1.8.0.RELEASE' - springDataGemfireVersion = '1.4.0.RELEASE' - springDataJpaVersion = '1.6.0.RELEASE' - springDataMongodbVersion = '1.5.0.RELEASE' - springDataNeo4jVersion = '3.1.0.RELEASE' - springDataNeo4j4Version = '4.1.1.RELEASE' - springIntegrationVersion = '4.0.1.RELEASE' - springLdapVersion = '2.0.2.RELEASE' + springRetryVersion = '1.1.2.RELEASE' + springAmqpVersion = '1.4.6.RELEASE' + springDataCommonsVersion = '1.9.4.RELEASE' + springDataGemfireVersion = '1.5.4.RELEASE' + springDataJpaVersion = '1.7.4.RELEASE' + springDataMongodbVersion = '1.6.4.RELEASE' + springDataNeo4jVersion = '3.2.4.RELEASE' + springDataNeo4j4Version = '4.1.2.RELEASE' + springIntegrationVersion = '4.1.8.RELEASE' + springLdapVersion = '2.0.4.RELEASE' activemqVersion = '5.13.2' - aspectjVersion = '1.8.0' - castorVersion = '1.3.2' - commonsCollectionsVersion = '3.2.1' + aspectjVersion = '1.8.8' + castorVersion = '1.3.3' + commonsCollectionsVersion = '3.2.2' commonsDdbcpVersion = '1.4' commonsIoVersion = '2.4' commonsLangVersion = '2.6' - derbyVersion = '10.10.1.1' - groovyVersion = '2.3.0' + derbyVersion = '10.10.2.0' + groovyVersion = '2.4.4' hamcrestVersion = '1.3' - h2databaseVersion = '1.3.175' - hibernateVersion = '4.2.12.Final' - hibernateValidatorVersion = '4.3.1.Final' - hsqldbVersion = '2.3.2' + h2databaseVersion = '1.4.190' + hibernateVersion = '4.3.11.Final' + hibernateValidatorVersion = '5.1.3.Final' + hsqldbVersion = '2.3.3' ibatisVersion = '2.3.4.726' jacksonVersion = '1.9.13' - jackson2Version = "2.3.3" - javaMailVersion = '1.4.7' + jackson2Version = "2.4.6" + javaMailVersion = '1.5.5' javaxBatchApiVersion = '1.0' javaxInjectVersion = '1' jbatchTckSpi = '1.0' jettisonVersion = '1.2' - jtdsVersion = '1.2.4' + jtdsVersion = '1.3.1' junitVersion = '4.11' log4jVersion = '1.2.17' - mysqlVersion = '5.1.29' - mockitoVersion = '1.9.5' - postgresqlVersion = '9.0-801.jdbc4' - quartzVersion = '2.2.1' + mysqlVersion = '5.1.38' + mockitoVersion = '1.10.19' + postgresqlVersion = '9.4.1209.jre6' + quartzVersion = '2.2.2' servletApiVersion = '3.0.1' - slf4jVersion = '1.7.7' + slf4jVersion = '1.7.21' sqlfireclientVersion = '1.0.3' - sqliteVersion = '3.7.2' - woodstoxVersion = '4.2.0' - xercesVersion = '2.8.1' + sqliteVersion = '3.8.11.2' + woodstoxVersion = '4.2.1' + xercesVersion = '2.11.0' xmlunitVersion = '1.5' - xstreamVersion = '1.4.7' - jrubyVersion = '1.7.22' + xstreamVersion = '1.4.9' + jrubyVersion = '1.7.23' beanshellVersion = '2.0b5' } } @@ -415,7 +415,7 @@ project('spring-batch-core-tests') { testCompile "org.springframework:spring-jdbc:$springVersion" runtime "mysql:mysql-connector-java:$mysqlVersion" - runtime "postgresql:postgresql:$postgresqlVersion" + runtime "org.postgresql:postgresql:$postgresqlVersion" runtime "javax.batch:javax.batch-api:$javaxBatchApiVersion" optional "org.aspectj:aspectjrt:$aspectjVersion" @@ -481,7 +481,7 @@ project('spring-batch-infrastructure-tests') { optional "org.springframework:spring-jms:$springVersion" runtime "mysql:mysql-connector-java:$mysqlVersion" - runtime "postgresql:postgresql:$postgresqlVersion" + runtime "org.postgresql:postgresql:$postgresqlVersion" } test { enabled = project.hasProperty('alltests') ? true : false @@ -546,7 +546,7 @@ project('spring-batch-integration') { optional "javax.jms:jms-api:1.1-rev-1" optional "org.slf4j:slf4j-log4j12:$slf4jVersion" - optional "log4j:log4j:1.2.14" + optional "log4j:log4j:$log4jVersion" optional "org.springframework.integration:spring-integration-jms:$springIntegrationVersion" optional "org.springframework:spring-jms:$springVersion" @@ -613,7 +613,7 @@ project('spring-batch-samples') { optional "com.vmware.sqlfire:sqlfireclient:$sqlfireclientVersion" optional "org.slf4j:slf4j-log4j12:$slf4jVersion" optional "org.apache.derby:derby:$derbyVersion" - optional "postgresql:postgresql:$postgresqlVersion" + optional "org.postgresql:postgresql:$postgresqlVersion" optional "org.springframework:spring-web:$springVersion" optional "org.springframework.data:spring-data-commons:$springDataCommonsVersion" optional "org.springframework.amqp:spring-amqp:$springAmqpVersion" @@ -840,5 +840,5 @@ or specify the Gradle property `TCK_HOME`, e.g: ./gradlew runTck -PTCK_HOME=/pat task wrapper(type: Wrapper) { description = 'Generates gradlew[.bat] scripts' - gradleVersion = '2.12' + gradleVersion = '2.14.1' } diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextFactory.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextFactory.java index cda0ca50e..4e3db9bee 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextFactory.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextFactory.java @@ -29,6 +29,7 @@ import org.springframework.core.io.Resource; * * @deprecated use {@link GenericApplicationContextFactory} instead */ +@Deprecated public class ClassPathXmlApplicationContextFactory extends GenericApplicationContextFactory { /** diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistry.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistry.java index 278481676..614d33629 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistry.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistry.java @@ -22,6 +22,7 @@ package org.springframework.batch.core.configuration.support; * * @deprecated in version 2.1, please us {@link AutomaticJobRegistrar} instead */ +@Deprecated public abstract class ClassPathXmlJobRegistry { } diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/SimpleFlowFactoryBean.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/SimpleFlowFactoryBean.java index f64b8ed6f..ef4f234a7 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/SimpleFlowFactoryBean.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/SimpleFlowFactoryBean.java @@ -161,7 +161,7 @@ public class SimpleFlowFactoryBean implements FactoryBean, Initializ * @param state The state that will be used to create the StepState * @param oldName The name to be replaced * @param stateName The name for the new State - * @return + * @return a state for the requested data */ protected State createNewStepState(State state, String oldName, String stateName) { diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/explore/JobExplorer.java b/spring-batch-core/src/main/java/org/springframework/batch/core/explore/JobExplorer.java index b309ef44b..7d836f329 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/explore/JobExplorer.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/explore/JobExplorer.java @@ -15,15 +15,15 @@ */ package org.springframework.batch.core.explore; +import java.util.List; +import java.util.Set; + import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobInstance; import org.springframework.batch.core.StepExecution; import org.springframework.batch.core.launch.NoSuchJobException; import org.springframework.batch.item.ExecutionContext; -import java.util.List; -import java.util.Set; - /** * Entry point for browsing executions of running or historical jobs and steps. * Since the data may be re-hydrated from persistent storage, it may not contain @@ -116,7 +116,7 @@ public interface JobExplorer { * @param jobName * @param start * @param count - * @return + * @return a list of {@link JobInstance} for the job name requested */ List findJobInstancesByJobName(String jobName, int start, int count); diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/job/flow/JobFlowExecutor.java b/spring-batch-core/src/main/java/org/springframework/batch/core/job/flow/JobFlowExecutor.java index 493a45a7b..07a4adb4b 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/job/flow/JobFlowExecutor.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/job/flow/JobFlowExecutor.java @@ -135,7 +135,7 @@ public class JobFlowExecutor implements FlowExecutor { /** * @param status - * @return + * @return A {@link BatchStatus} appropriate for the {@link FlowExecutionStatus} provided */ protected BatchStatus findBatchStatus(FlowExecutionStatus status) { for (BatchStatus batchStatus : BatchStatus.values()) { diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/job/flow/support/state/StepState.java b/spring-batch-core/src/main/java/org/springframework/batch/core/job/flow/support/state/StepState.java index 15e213d36..b69e9d068 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/job/flow/support/state/StepState.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/job/flow/support/state/StepState.java @@ -71,6 +71,7 @@ public class StepState extends AbstractState implements StepLocator, StepHolder * @deprecated in favor of using {@link StepLocator#getStep(String)}. */ @Override + @Deprecated public Step getStep() { return step; } diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDao.java index 13e62b937..0c89f028b 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDao.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDao.java @@ -357,7 +357,7 @@ public class JdbcJobExecutionDao extends AbstractJdbcBatchMetadataDao implements /** * @param executionId - * @return + * @return job parameters for the requested execution id */ protected JobParameters getJobParameters(Long executionId) { final Map map = new HashMap(); diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JobInstanceDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JobInstanceDao.java index f72548021..27b0f92c1 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JobInstanceDao.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JobInstanceDao.java @@ -104,7 +104,7 @@ public interface JobInstanceDao { * @param jobName * @param start * @param count - * @return + * @return a list of {@link JobInstance} for the job name requested. */ List findJobInstancesByName(String jobName, int start, int count); diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/AbstractJobRepositoryFactoryBean.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/AbstractJobRepositoryFactoryBean.java index 656414ac9..534168dff 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/AbstractJobRepositoryFactoryBean.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/AbstractJobRepositoryFactoryBean.java @@ -149,6 +149,7 @@ public abstract class AbstractJobRepositoryFactoryBean implements FactoryBean extends AbstractTaskletStepBuilder faultTolerant() { - FaultTolerantStepBuilder builder = new FaultTolerantStepBuilder(this); - return builder; + return new FaultTolerantStepBuilder(this); } /** @@ -248,6 +247,7 @@ public class SimpleStepBuilder extends AbstractTaskletStepBuilder implements ItemWriter, InitializingBean { * the hibernateTemplate to set * @deprecated As of 2.2 in favor of using Hibernate's session management APIs directly */ + @Deprecated public void setHibernateTemplate(HibernateOperations hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } @@ -159,6 +160,7 @@ public class HibernateItemWriter implements ItemWriter, InitializingBean { * the list of items to use for the write * @deprecated As of 2.2 in favor of using Hibernate's session management APIs directly */ + @Deprecated protected void doWrite(HibernateOperations hibernateTemplate, List items) { diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcBatchItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcBatchItemWriter.java index c43e22b88..79e5a4f5f 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcBatchItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcBatchItemWriter.java @@ -15,8 +15,16 @@ */ package org.springframework.batch.item.database; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import javax.sql.DataSource; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; + import org.springframework.batch.item.ItemWriter; import org.springframework.beans.factory.InitializingBean; import org.springframework.dao.DataAccessException; @@ -28,13 +36,6 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.jdbc.core.namedparam.SqlParameterSource; import org.springframework.util.Assert; -import javax.sql.DataSource; -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - /** *

{@link ItemWriter} that uses the batching features from * {@link NamedParameterJdbcTemplate} to execute a batch of statements for all items @@ -167,11 +168,11 @@ public class JdbcBatchItemWriter implements ItemWriter, InitializingBean { logger.debug("Executing batch with " + items.size() + " items."); } - int[] updateCounts = null; + int[] updateCounts; if (usingNamedParameters) { if(items.get(0) instanceof Map) { - updateCounts = namedParameterJdbcTemplate.batchUpdate(sql, items.toArray(new Map[0])); + updateCounts = namedParameterJdbcTemplate.batchUpdate(sql, items.toArray(new Map[items.size()])); } else { SqlParameterSource[] batchArgs = new SqlParameterSource[items.size()]; int i = 0; diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java index 6432dd548..71efe5ab7 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java @@ -16,9 +16,6 @@ package org.springframework.batch.item.file.transform; -import org.springframework.util.Assert; -import org.springframework.util.StringUtils; - import java.math.BigDecimal; import java.text.DateFormat; import java.text.DecimalFormat; @@ -31,6 +28,9 @@ import java.util.List; import java.util.Locale; import java.util.Properties; +import org.springframework.util.Assert; +import org.springframework.util.StringUtils; + /** * Default implementation of {@link FieldSet} using Java using Java primitive * and standard types and utilities. Strings are trimmed before parsing by @@ -90,7 +90,7 @@ public class DefaultFieldSet implements FieldSet { * @see FieldSet#readString(int) */ public DefaultFieldSet(String[] tokens) { - this.tokens = tokens == null ? null : (String[]) tokens.clone(); + this.tokens = tokens == null ? null : tokens.clone(); setNumberFormat(NumberFormat.getInstance(Locale.US)); } @@ -228,7 +228,7 @@ public class DefaultFieldSet implements FieldSet { String value = readAndTrim(index); - return trueValue.equals(value) ? true : false; + return trueValue.equals(value); } /* @@ -718,8 +718,8 @@ public class DefaultFieldSet implements FieldSet { int result = 1; - for (int i = 0; i < tokens.length; i++) { - result = 31 * result + (tokens[i] == null ? 0 : tokens[i].hashCode()); + for (String token : tokens) { + result = 31 * result + (token == null ? 0 : token.hashCode()); } return result; diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/util/FileUtils.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/util/FileUtils.java index abd244b38..c9b244030 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/util/FileUtils.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/util/FileUtils.java @@ -97,6 +97,7 @@ public final class FileUtils { /** * @deprecated use the version with explicit append parameter instead. Here append=false is assumed. */ + @Deprecated public static void setUpOutputFile(File file, boolean restarted, boolean overwriteOutputFile) { setUpOutputFile(file, restarted, false, overwriteOutputFile); } diff --git a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/JmsRedeliveredExtractor.java b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/JmsRedeliveredExtractor.java index d0a65e5f9..67db0e417 100644 --- a/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/JmsRedeliveredExtractor.java +++ b/spring-batch-integration/src/main/java/org/springframework/batch/integration/chunk/JmsRedeliveredExtractor.java @@ -17,7 +17,7 @@ package org.springframework.batch.integration.chunk; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.integration.annotation.Header; +import org.springframework.messaging.handler.annotation.Header; import org.springframework.integration.jms.JmsHeaders; /** diff --git a/spring-batch-integration/src/test/java/org/springframework/batch/integration/async/PollingAsyncItemProcessorMessagingGatewayTests.java b/spring-batch-integration/src/test/java/org/springframework/batch/integration/async/PollingAsyncItemProcessorMessagingGatewayTests.java index 6dc39232d..ce525b884 100644 --- a/spring-batch-integration/src/test/java/org/springframework/batch/integration/async/PollingAsyncItemProcessorMessagingGatewayTests.java +++ b/spring-batch-integration/src/test/java/org/springframework/batch/integration/async/PollingAsyncItemProcessorMessagingGatewayTests.java @@ -15,9 +15,6 @@ */ package org.springframework.batch.integration.async; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; @@ -29,6 +26,7 @@ import org.junit.rules.MethodRule; import org.junit.runner.RunWith; import org.junit.runners.model.FrameworkMethod; import org.junit.runners.model.Statement; + import org.springframework.batch.core.JobParametersBuilder; import org.springframework.batch.core.StepExecution; import org.springframework.batch.item.ItemProcessor; @@ -36,12 +34,15 @@ import org.springframework.batch.test.MetaDataInstanceFactory; import org.springframework.batch.test.StepScopeTestUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.task.SimpleAsyncTaskExecutor; -import org.springframework.integration.annotation.Header; import org.springframework.integration.annotation.MessageEndpoint; import org.springframework.integration.annotation.ServiceActivator; +import org.springframework.messaging.handler.annotation.Header; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration public class PollingAsyncItemProcessorMessagingGatewayTests {