From 357d072a60234557509d894b548270536fba22be Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 28 Nov 2016 15:14:46 -0800 Subject: [PATCH 1/3] Polish --- spring-boot-actuator-docs/pom.xml | 2 +- .../couchbase/CouchbaseAutoConfiguration.java | 8 ++++---- ...MissingBeanWithFilteredClasspathTests.java | 2 +- .../TestDatabaseAutoConfigurationTests.java | 1 - .../boot/loader/jar/Handler.java | 19 +++++++++---------- 5 files changed, 15 insertions(+), 17 deletions(-) diff --git a/spring-boot-actuator-docs/pom.xml b/spring-boot-actuator-docs/pom.xml index 3b4e86b628..07e77b0b4c 100644 --- a/spring-boot-actuator-docs/pom.xml +++ b/spring-boot-actuator-docs/pom.xml @@ -18,11 +18,11 @@ ${basedir}/.. + org.springframework.hateoas spring-hateoas - org.springframework.boot diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java index ca508c8bc5..ea5f0fd5b2 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java @@ -49,8 +49,7 @@ import org.springframework.context.annotation.Primary; public class CouchbaseAutoConfiguration { @Configuration - @ConditionalOnMissingBean(value = CouchbaseConfiguration.class, - type = "org.springframework.data.couchbase.config.CouchbaseConfigurer") + @ConditionalOnMissingBean(value = CouchbaseConfiguration.class, type = "org.springframework.data.couchbase.config.CouchbaseConfigurer") public static class CouchbaseConfiguration { private final CouchbaseProperties properties; @@ -124,8 +123,9 @@ public class CouchbaseAutoConfiguration { * Determine if Couchbase should be configured. This happens if either the * user-configuration defines a {@code CouchbaseConfigurer} or if at least the * "bootstrapHosts" property is specified. - *

The reason why we check for the presence of {@code CouchbaseConfigurer} is - * that it might use {@link CouchbaseProperties} for its internal customization. + *

+ * The reason why we check for the presence of {@code CouchbaseConfigurer} is that it + * might use {@link CouchbaseProperties} for its internal customization. */ static class CouchbaseCondition extends AnyNestedCondition { diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingBeanWithFilteredClasspathTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingBeanWithFilteredClasspathTests.java index e19f41e09a..e7cf409d0e 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingBeanWithFilteredClasspathTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingBeanWithFilteredClasspathTests.java @@ -53,7 +53,6 @@ public class ConditionalOnMissingBeanWithFilteredClasspathTests { assertThat(this.context.containsBean("foo")).isTrue(); } - @Configuration static class OnBeanTypeConfiguration { @@ -66,6 +65,7 @@ public class ConditionalOnMissingBeanWithFilteredClasspathTests { } static class TestCacheManager extends CaffeineCacheManager { + } } diff --git a/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/orm/jpa/TestDatabaseAutoConfigurationTests.java b/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/orm/jpa/TestDatabaseAutoConfigurationTests.java index afe99954ce..8f20b2d232 100644 --- a/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/orm/jpa/TestDatabaseAutoConfigurationTests.java +++ b/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/orm/jpa/TestDatabaseAutoConfigurationTests.java @@ -60,7 +60,6 @@ public class TestDatabaseAutoConfigurationTests { DataSource datasource = this.context.getBean(DataSource.class); JdbcTemplate jdbcTemplate = new JdbcTemplate(datasource); jdbcTemplate.execute("create table example (id int, name varchar);"); - ConfigurableApplicationContext anotherContext = doLoad( ExistingDataSourceConfiguration.class); try { diff --git a/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/jar/Handler.java b/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/jar/Handler.java index 7d801bcbe4..949504b4ff 100644 --- a/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/jar/Handler.java +++ b/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/jar/Handler.java @@ -198,24 +198,23 @@ public class Handler extends URLStreamHandler { @Override protected int hashCode(URL u) { - int result = 0; - String protocol = u.getProtocol(); - if (protocol != null) { - result += protocol.hashCode(); - } - String file = u.getFile(); + return hashCode(u.getProtocol(), u.getFile()); + } + + private int hashCode(String protocol, String file) { + int result = (protocol == null ? 0 : protocol.hashCode()); int separatorIndex = file.indexOf(SEPARATOR); if (separatorIndex == -1) { return result + file.hashCode(); } - String fileWithoutEntry = file.substring(0, separatorIndex); + String source = file.substring(0, separatorIndex); + String entry = canonicalize(file.substring(separatorIndex + 2)); try { - result += new URL(fileWithoutEntry).hashCode(); + result += new URL(source).hashCode(); } catch (MalformedURLException ex) { - result += fileWithoutEntry.hashCode(); + result += source.hashCode(); } - String entry = canonicalize(file.substring(separatorIndex + 2)); result += entry.hashCode(); return result; } From 9fdb563d5acea57b892655b5928dfe54f5928f9d Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 28 Nov 2016 15:27:01 -0800 Subject: [PATCH 2/3] Polish --- .../validation/ValidationAutoConfiguration.java | 4 ++-- .../cassandra/CassandraAutoConfigurationTests.java | 4 ++-- .../session/SessionAutoConfigurationHazelcastTests.java | 5 +++-- .../session/SessionAutoConfigurationTests.java | 2 -- .../validation/ValidationAutoConfigurationTests.java | 4 +++- ...nfigurationWithHibernateValidatorMissingElImplTests.java | 4 ++-- .../boot/autoconfigure/web/ServerPropertiesTests.java | 6 ------ 7 files changed, 12 insertions(+), 17 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.java index 0b075ce08c..8655122da1 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.java @@ -58,8 +58,8 @@ public class ValidationAutoConfiguration { @Override public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) { - ConditionMessage.Builder message = ConditionMessage.forCondition( - getClass().getName()); + ConditionMessage.Builder message = ConditionMessage + .forCondition(getClass().getName()); try { Validation.buildDefaultValidatorFactory().getValidator(); return ConditionOutcome.match(message.available("JSR-303 provider")); diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfigurationTests.java index b94312b3a1..64d09cac7d 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfigurationTests.java @@ -66,7 +66,8 @@ public class CassandraAutoConfigurationTests { public void createCustomizeCluster() { load(ClusterConfig.class); assertThat(this.context.getBeanNamesForType(Cluster.class).length).isEqualTo(1); - assertThat(this.context.getBeanNamesForType(ClusterCustomizer.class).length).isEqualTo(1); + assertThat(this.context.getBeanNamesForType(ClusterCustomizer.class).length) + .isEqualTo(1); } private void load(String... environment) { @@ -85,7 +86,6 @@ public class CassandraAutoConfigurationTests { this.context = ctx; } - @Configuration static class ClusterConfig { diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationHazelcastTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationHazelcastTests.java index 8c2674f855..dd866436d3 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationHazelcastTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationHazelcastTests.java @@ -70,8 +70,9 @@ public class SessionAutoConfigurationHazelcastTests "spring.session.hazelcast.flush-mode=immediate"); HazelcastSessionRepository repository = validateSessionRepository( HazelcastSessionRepository.class); - assertThat(new DirectFieldAccessor(repository).getPropertyValue( - "hazelcastFlushMode")).isEqualTo(HazelcastFlushMode.IMMEDIATE); + assertThat(new DirectFieldAccessor(repository) + .getPropertyValue("hazelcastFlushMode")) + .isEqualTo(HazelcastFlushMode.IMMEDIATE); } @Configuration diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationTests.java index 788ce03640..dc2bd1a975 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationTests.java @@ -97,7 +97,6 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat } @Test - @SuppressWarnings("unchecked") public void mongoSessionStore() { load(Arrays.asList(EmbeddedMongoAutoConfiguration.class, MongoAutoConfiguration.class, MongoDataAutoConfiguration.class), @@ -106,7 +105,6 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat } @Test - @SuppressWarnings("unchecked") public void mongoSessionStoreWithCustomizations() { load(Arrays.asList(EmbeddedMongoAutoConfiguration.class, MongoAutoConfiguration.class, MongoDataAutoConfiguration.class), diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfigurationTests.java index f03f2db8c4..3d8c803800 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfigurationTests.java @@ -65,7 +65,8 @@ public class ValidationAutoConfigurationTests { load(SampleConfiguration.class); assertThat(this.context.getBean(MethodValidationPostProcessor.class)) .isSameAs(this.context.getBean("testMethodValidationPostProcessor")); - assertThat(this.context.getBeansOfType(MethodValidationPostProcessor.class)).hasSize(1); + assertThat(this.context.getBeansOfType(MethodValidationPostProcessor.class)) + .hasSize(1); } public void load(Class config) { @@ -84,6 +85,7 @@ public class ValidationAutoConfigurationTests { public void doSomething(@Size(min = 3, max = 10) String name) { } + } @Configuration diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfigurationWithHibernateValidatorMissingElImplTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfigurationWithHibernateValidatorMissingElImplTests.java index ad2973b6c0..1ecf585400 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfigurationWithHibernateValidatorMissingElImplTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfigurationWithHibernateValidatorMissingElImplTests.java @@ -28,8 +28,8 @@ import org.springframework.validation.beanvalidation.MethodValidationPostProcess import static org.assertj.core.api.Assertions.assertThat; /** - * Test for {{@link ValidationAutoConfiguration} when Hibernate validator is present - * but no EL implementation is available. + * Test for {@link ValidationAutoConfiguration} when Hibernate validator is present but no + * EL implementation is available. * * @author Stephane Nicoll */ diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/ServerPropertiesTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/ServerPropertiesTests.java index 0753f83632..13a4f4f17b 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/ServerPropertiesTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/ServerPropertiesTests.java @@ -435,10 +435,8 @@ public class ServerPropertiesTests { map.put("server.tomcat.port-header", "x-my-forward-port"); map.put("server.tomcat.protocol-header-https-value", "On"); bindProperties(map); - TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory(); this.properties.customize(container); - assertThat(container.getEngineValves()).hasSize(1); Valve valve = container.getEngineValves().iterator().next(); assertThat(valve).isInstanceOf(RemoteIpValve.class); @@ -455,7 +453,6 @@ public class ServerPropertiesTests { Map map = new HashMap(); map.put("server.tomcat.accept-count", "10"); bindProperties(map); - TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory(); this.properties.customize(container); TomcatEmbeddedServletContainer embeddedContainer = (TomcatEmbeddedServletContainer) container @@ -469,7 +466,6 @@ public class ServerPropertiesTests { Map map = new HashMap(); map.put("server.tomcat.max-connections", "5"); bindProperties(map); - TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory(); this.properties.customize(container); TomcatEmbeddedServletContainer embeddedContainer = (TomcatEmbeddedServletContainer) container @@ -483,7 +479,6 @@ public class ServerPropertiesTests { Map map = new HashMap(); map.put("server.tomcat.max-http-post-size", "10000"); bindProperties(map); - TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory(); this.properties.customize(container); TomcatEmbeddedServletContainer embeddedContainer = (TomcatEmbeddedServletContainer) container @@ -498,7 +493,6 @@ public class ServerPropertiesTests { Map map = new HashMap(); map.put("server.max-http-post-size", "2000"); bindProperties(map); - TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory(); this.properties.customize(container); TomcatEmbeddedServletContainer embeddedContainer = (TomcatEmbeddedServletContainer) container From ec73144240c576ee362271690918cbcdb55be31b Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 28 Nov 2016 15:31:49 -0800 Subject: [PATCH 3/3] Fix warnings --- spring-boot-autoconfigure/pom.xml | 1 - .../jdbc/DataSourceAutoConfiguration.java | 1 + .../jdbc/DataSourceConfiguration.java | 16 ++++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/spring-boot-autoconfigure/pom.xml b/spring-boot-autoconfigure/pom.xml index 8b5e369d58..c44e64d2a2 100755 --- a/spring-boot-autoconfigure/pom.xml +++ b/spring-boot-autoconfigure/pom.xml @@ -613,7 +613,6 @@ org.springframework.kafka spring-kafka-test - ${spring-kafka.version} test diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration.java index f3d1217b59..db55e96ba2 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration.java @@ -103,6 +103,7 @@ public class DataSourceAutoConfiguration { @Import({ DataSourceConfiguration.Tomcat.class, DataSourceConfiguration.Hikari.class, DataSourceConfiguration.Dbcp.class, DataSourceConfiguration.Dbcp2.class, DataSourceConfiguration.Generic.class }) + @SuppressWarnings("deprecation") protected static class PooledDataSourceConfiguration { } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration.java index 72e51ed733..2143c09a4f 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration.java @@ -42,6 +42,9 @@ abstract class DataSourceConfiguration { return (T) properties.initializeDataSourceBuilder().type(type).build(); } + /** + * Tomcat Pool DataSource configuration. + */ @ConditionalOnClass(org.apache.tomcat.jdbc.pool.DataSource.class) @ConditionalOnProperty(name = "spring.datasource.type", havingValue = "org.apache.tomcat.jdbc.pool.DataSource", matchIfMissing = true) static class Tomcat extends DataSourceConfiguration { @@ -64,6 +67,9 @@ abstract class DataSourceConfiguration { } + /** + * Hikari DataSource configuration. + */ @ConditionalOnClass(HikariDataSource.class) @ConditionalOnProperty(name = "spring.datasource.type", havingValue = "com.zaxxer.hikari.HikariDataSource", matchIfMissing = true) static class Hikari extends DataSourceConfiguration { @@ -75,6 +81,10 @@ abstract class DataSourceConfiguration { } } + /** + * DBCP DataSource configuration. + * @deprecated as of Spring Boot 1.5 in favor of DBCP2 + */ @ConditionalOnClass(org.apache.commons.dbcp.BasicDataSource.class) @ConditionalOnProperty(name = "spring.datasource.type", havingValue = "org.apache.commons.dbcp.BasicDataSource", matchIfMissing = true) @Deprecated @@ -97,6 +107,9 @@ abstract class DataSourceConfiguration { } } + /** + * DBCP DataSource configuration. + */ @ConditionalOnClass(org.apache.commons.dbcp2.BasicDataSource.class) @ConditionalOnProperty(name = "spring.datasource.type", havingValue = "org.apache.commons.dbcp2.BasicDataSource", matchIfMissing = true) static class Dbcp2 extends DataSourceConfiguration { @@ -110,6 +123,9 @@ abstract class DataSourceConfiguration { } } + /** + * Generic DataSource configuration. + */ @ConditionalOnMissingBean(DataSource.class) @ConditionalOnProperty(name = "spring.datasource.type") static class Generic {