Skip to content

Commit 1d55f5f

Browse files
committed
Merge branch 'gh-7579' into 1.5.x
2 parents 43d432a + 10dbf3c commit 1d55f5f

File tree

55 files changed

+249
-89
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+249
-89
lines changed

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorProperties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
* @author Christian Dupuis
2727
* @since 1.2.0
2828
*/
29-
@ConfigurationProperties("management.health.status")
29+
@ConfigurationProperties(prefix = "management.health.status")
3030
public class HealthIndicatorProperties {
3131

3232
/**

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/ManagementServerProperties.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,16 @@
2020
import java.util.Arrays;
2121
import java.util.List;
2222

23+
import javax.annotation.PostConstruct;
2324
import javax.servlet.http.HttpSession;
24-
import javax.validation.constraints.NotNull;
2525

2626
import org.springframework.boot.autoconfigure.security.SecurityPrerequisite;
2727
import org.springframework.boot.autoconfigure.security.SecurityProperties;
2828
import org.springframework.boot.autoconfigure.web.ServerProperties;
2929
import org.springframework.boot.context.embedded.Ssl;
3030
import org.springframework.boot.context.properties.ConfigurationProperties;
3131
import org.springframework.boot.context.properties.NestedConfigurationProperty;
32+
import org.springframework.util.Assert;
3233
import org.springframework.util.StringUtils;
3334

3435
/**
@@ -78,7 +79,6 @@ public class ManagementServerProperties implements SecurityPrerequisite {
7879
/**
7980
* Management endpoint context-path.
8081
*/
81-
@NotNull
8282
private String contextPath = "";
8383

8484
/**
@@ -88,6 +88,11 @@ public class ManagementServerProperties implements SecurityPrerequisite {
8888

8989
private final Security security = new Security();
9090

91+
@PostConstruct
92+
private void validate() {
93+
Assert.notNull(this.contextPath, "ContextPath must not be null");
94+
}
95+
9196
/**
9297
* Returns the management port or {@code null} if the
9398
* {@link ServerProperties#getPort() server port} should be used.

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/MetricFilterProperties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
* @author Phillip Webb
3030
* @since 1.4.0
3131
*/
32-
@ConfigurationProperties("endpoints.metrics.filter")
32+
@ConfigurationProperties(prefix = "endpoints.metrics.filter")
3333
public class MetricFilterProperties {
3434

3535
/**

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/AbstractEndpoint.java

+13-4
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@
1616

1717
package org.springframework.boot.actuate.endpoint;
1818

19-
import javax.validation.constraints.NotNull;
20-
import javax.validation.constraints.Pattern;
19+
import java.util.regex.Pattern;
20+
21+
import javax.annotation.PostConstruct;
2122

2223
import org.springframework.context.EnvironmentAware;
2324
import org.springframework.core.env.Environment;
25+
import org.springframework.util.Assert;
2426

2527
/**
2628
* Abstract base for {@link Endpoint} implementations.
@@ -31,14 +33,14 @@
3133
*/
3234
public abstract class AbstractEndpoint<T> implements Endpoint<T>, EnvironmentAware {
3335

36+
private static final Pattern ID_PATTERN = Pattern.compile("\\w+");
37+
3438
private Environment environment;
3539

3640
/**
3741
* Endpoint identifier. With HTTP monitoring the identifier of the endpoint is mapped
3842
* to a URL (e.g. 'foo' is mapped to '/foo').
3943
*/
40-
@NotNull
41-
@Pattern(regexp = "\\w+", message = "ID must only contains letters, numbers and '_'")
4244
private String id;
4345

4446
private final boolean sensitiveDefault;
@@ -53,6 +55,13 @@ public abstract class AbstractEndpoint<T> implements Endpoint<T>, EnvironmentAwa
5355
*/
5456
private Boolean enabled;
5557

58+
@PostConstruct
59+
private void validate() {
60+
Assert.notNull(this.id, "Id must not be null");
61+
Assert.isTrue(ID_PATTERN.matcher(this.id).matches(),
62+
"ID must only contains letters, numbers and '_'");
63+
}
64+
5665
/**
5766
* Create a new sensitive endpoint instance. The endpoint will enabled flag will be
5867
* based on the spring {@link Environment} unless explicitly set.

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/LiquibaseEndpoint.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,11 @@ public List<LiquibaseReport> invoke() {
6262
for (Map.Entry<String, SpringLiquibase> entry : this.liquibases.entrySet()) {
6363
try {
6464
DataSource dataSource = entry.getValue().getDataSource();
65-
JdbcConnection connection = new JdbcConnection(dataSource.getConnection());
65+
JdbcConnection connection = new JdbcConnection(
66+
dataSource.getConnection());
6667
try {
67-
Database database = factory.findCorrectDatabaseImplementation(connection);
68+
Database database = factory
69+
.findCorrectDatabaseImplementation(connection);
6870
reports.add(new LiquibaseReport(entry.getKey(),
6971
service.queryDatabaseChangeLogTable(database)));
7072
}

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/AbstractMvcEndpoint.java

+9-4
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616

1717
package org.springframework.boot.actuate.endpoint.mvc;
1818

19-
import javax.validation.constraints.NotNull;
20-
import javax.validation.constraints.Pattern;
19+
import javax.annotation.PostConstruct;
2120

2221
import org.springframework.boot.actuate.endpoint.Endpoint;
2322
import org.springframework.boot.actuate.endpoint.EndpointProperties;
2423
import org.springframework.context.EnvironmentAware;
2524
import org.springframework.core.env.Environment;
25+
import org.springframework.util.Assert;
2626
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
2727

2828
/**
@@ -41,8 +41,6 @@ public abstract class AbstractMvcEndpoint extends WebMvcConfigurerAdapter
4141
/**
4242
* Endpoint URL path.
4343
*/
44-
@NotNull
45-
@Pattern(regexp = "/.*|^$", message = "Path must start with / or be empty")
4644
private String path;
4745

4846
/**
@@ -68,6 +66,13 @@ public AbstractMvcEndpoint(String path, boolean sensitive, boolean enabled) {
6866
this.enabled = enabled;
6967
}
7068

69+
@PostConstruct
70+
private void validate() {
71+
Assert.notNull(this.path, "Path must not be null");
72+
Assert.isTrue(this.path.length() == 0 || this.path.startsWith("/"),
73+
"Path must start with / or be empty");
74+
}
75+
7176
@Override
7277
public void setEnvironment(Environment environment) {
7378
this.environment = environment;

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/DocsMvcEndpoint.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* @author Dave Syer
2828
* @since 1.3.0
2929
*/
30-
@ConfigurationProperties("endpoints.docs")
30+
@ConfigurationProperties(prefix = "endpoints.docs")
3131
public class DocsMvcEndpoint extends AbstractNamedMvcEndpoint {
3232

3333
private static final String DOCS_LOCATION = "classpath:/META-INF/resources/spring-boot-actuator/docs/";

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/HalJsonMvcEndpoint.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
* @author Andy Wilkinson
3232
* @since 1.3.0
3333
*/
34-
@ConfigurationProperties("endpoints.actuator")
34+
@ConfigurationProperties(prefix = "endpoints.actuator")
3535
public class HalJsonMvcEndpoint extends AbstractNamedMvcEndpoint {
3636

3737
private final ManagementServletContext managementServletContext;

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/HeapdumpMvcEndpoint.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
* @author Phillip Webb
5555
* @since 1.4.0
5656
*/
57-
@ConfigurationProperties("endpoints.heapdump")
57+
@ConfigurationProperties(prefix = "endpoints.heapdump")
5858
@HypermediaDisabled
5959
public class HeapdumpMvcEndpoint extends AbstractNamedMvcEndpoint {
6060

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DiskSpaceHealthIndicatorProperties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* @author Andy Wilkinson
2828
* @since 1.2.0
2929
*/
30-
@ConfigurationProperties("management.health.diskspace")
30+
@ConfigurationProperties(prefix = "management.health.diskspace")
3131
public class DiskSpaceHealthIndicatorProperties {
3232

3333
private static final int MEGABYTES = 1024 * 1024;

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/export/MetricExportProperties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
* @author Simon Buettner
3333
* @since 1.3.0
3434
*/
35-
@ConfigurationProperties("spring.metrics.export")
35+
@ConfigurationProperties(prefix = "spring.metrics.export")
3636
public class MetricExportProperties extends TriggerProperties {
3737

3838
/**

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchProperties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
* @author Vedran Pavic
2727
* @since 1.2.0
2828
*/
29-
@ConfigurationProperties("spring.batch")
29+
@ConfigurationProperties(prefix = "spring.batch")
3030
public class BatchProperties {
3131

3232
private static final String DEFAULT_SCHEMA_LOCATION = "classpath:org/springframework/"

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestProperties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* @author Stephane Nicoll
2828
* @since 1.3.0
2929
*/
30-
@ConfigurationProperties("spring.data.rest")
30+
@ConfigurationProperties(prefix = "spring.data.rest")
3131
public class RepositoryRestProperties {
3232

3333
/**

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestProperties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* @author Stephane Nicoll
2828
* @since 1.4.0
2929
*/
30-
@ConfigurationProperties("spring.elasticsearch.jest")
30+
@ConfigurationProperties(prefix = "spring.elasticsearch.jest")
3131
public class JestProperties {
3232

3333
/**

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayProperties.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,11 @@
3737
public class FlywayProperties {
3838

3939
/**
40-
* Locations of migrations scripts. Can contain the special "{vendor}" placeholder
41-
* to use vendor-specific locations.
40+
* Locations of migrations scripts. Can contain the special "{vendor}" placeholder to
41+
* use vendor-specific locations.
4242
*/
43-
private List<String> locations = new ArrayList<String>(Collections.singletonList("db/migration"));
43+
private List<String> locations = new ArrayList<String>(
44+
Collections.singletonList("db/migration"));
4445

4546
/**
4647
* Check that migration scripts location exists.

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/h2/H2ConsoleProperties.java

+9-4
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616

1717
package org.springframework.boot.autoconfigure.h2;
1818

19-
import javax.validation.constraints.NotNull;
20-
import javax.validation.constraints.Pattern;
19+
import javax.annotation.PostConstruct;
2120

2221
import org.springframework.boot.context.properties.ConfigurationProperties;
22+
import org.springframework.util.Assert;
2323

2424
/**
2525
* Configuration properties for H2's console.
@@ -35,8 +35,6 @@ public class H2ConsoleProperties {
3535
/**
3636
* Path at which the console will be available.
3737
*/
38-
@NotNull
39-
@Pattern(regexp = "/[^?#]*", message = "Path must start with /")
4038
private String path = "/h2-console";
4139

4240
/**
@@ -46,6 +44,13 @@ public class H2ConsoleProperties {
4644

4745
private final Settings settings = new Settings();
4846

47+
@PostConstruct
48+
private void validate() {
49+
Assert.notNull(this.path, "Path must not be null");
50+
Assert.isTrue(this.path.length() == 0 || this.path.startsWith("/"),
51+
"Path must start with / or be empty");
52+
}
53+
4954
public String getPath() {
5055
return this.path;
5156
}

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/hazelcast/HazelcastProperties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
* @author Stephane Nicoll
2727
* @since 1.3.0
2828
*/
29-
@ConfigurationProperties("spring.hazelcast")
29+
@ConfigurationProperties(prefix = "spring.hazelcast")
3030
public class HazelcastProperties {
3131

3232
/**

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/info/ProjectInfoProperties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* @author Stephane Nicoll
2929
* @since 1.4.0
3030
*/
31-
@ConfigurationProperties("spring.info")
31+
@ConfigurationProperties(prefix = "spring.info")
3232
public class ProjectInfoProperties {
3333

3434
private final Build build = new Build();

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ protected <T> T createDataSource(DataSourceProperties properties,
5050
static class Tomcat extends DataSourceConfiguration {
5151

5252
@Bean
53-
@ConfigurationProperties("spring.datasource.tomcat")
53+
@ConfigurationProperties(prefix = "spring.datasource.tomcat")
5454
public org.apache.tomcat.jdbc.pool.DataSource dataSource(
5555
DataSourceProperties properties) {
5656
org.apache.tomcat.jdbc.pool.DataSource dataSource = createDataSource(
@@ -75,7 +75,7 @@ public org.apache.tomcat.jdbc.pool.DataSource dataSource(
7575
static class Hikari extends DataSourceConfiguration {
7676

7777
@Bean
78-
@ConfigurationProperties("spring.datasource.hikari")
78+
@ConfigurationProperties(prefix = "spring.datasource.hikari")
7979
public HikariDataSource dataSource(DataSourceProperties properties) {
8080
return createDataSource(properties, HikariDataSource.class);
8181
}
@@ -93,7 +93,7 @@ public HikariDataSource dataSource(DataSourceProperties properties) {
9393
static class Dbcp extends DataSourceConfiguration {
9494

9595
@Bean
96-
@ConfigurationProperties("spring.datasource.dbcp")
96+
@ConfigurationProperties(prefix = "spring.datasource.dbcp")
9797
public org.apache.commons.dbcp.BasicDataSource dataSource(
9898
DataSourceProperties properties) {
9999
org.apache.commons.dbcp.BasicDataSource dataSource = createDataSource(
@@ -118,7 +118,7 @@ public org.apache.commons.dbcp.BasicDataSource dataSource(
118118
static class Dbcp2 extends DataSourceConfiguration {
119119

120120
@Bean
121-
@ConfigurationProperties("spring.datasource.dbcp2")
121+
@ConfigurationProperties(prefix = "spring.datasource.dbcp2")
122122
public org.apache.commons.dbcp2.BasicDataSource dataSource(
123123
DataSourceProperties properties) {
124124
return createDataSource(properties,

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyProperties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
* @author Stephane Nicoll
3030
* @since 1.2.0
3131
*/
32-
@ConfigurationProperties("spring.jersey")
32+
@ConfigurationProperties(prefix = "spring.jersey")
3333
public class JerseyProperties {
3434

3535
/**

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/activemq/ActiveMQConnectionFactoryConfiguration.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ static class PooledConnectionFactoryConfiguration {
5454

5555
@Bean(destroyMethod = "stop")
5656
@ConditionalOnProperty(prefix = "spring.activemq.pool", name = "enabled", havingValue = "true", matchIfMissing = false)
57-
@ConfigurationProperties("spring.activemq.pool.configuration")
57+
@ConfigurationProperties(prefix = "spring.activemq.pool.configuration")
5858
public PooledConnectionFactory pooledJmsConnectionFactory(
5959
ActiveMQProperties properties) {
6060
PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseProperties.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@
1919
import java.io.File;
2020
import java.util.Map;
2121

22-
import javax.validation.constraints.NotNull;
22+
import javax.annotation.PostConstruct;
2323

2424
import liquibase.integration.spring.SpringLiquibase;
2525

2626
import org.springframework.boot.context.properties.ConfigurationProperties;
27+
import org.springframework.util.Assert;
2728

2829
/**
2930
* Configuration properties to configure {@link SpringLiquibase}.
@@ -37,7 +38,6 @@ public class LiquibaseProperties {
3738
/**
3839
* Change log configuration path.
3940
*/
40-
@NotNull
4141
private String changeLog = "classpath:/db/changelog/db.changelog-master.yaml";
4242

4343
/**
@@ -96,6 +96,11 @@ public class LiquibaseProperties {
9696
*/
9797
private File rollbackFile;
9898

99+
@PostConstruct
100+
private void validate() {
101+
Assert.notNull(this.changeLog, "ChangeLog must not be null");
102+
}
103+
99104
public String getChangeLog() {
100105
return this.changeLog;
101106
}

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mobile/DeviceDelegatingViewResolverProperties.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
* @author Stephane Nicoll
2525
* @since 1.2.0
2626
*/
27-
@ConfigurationProperties("spring.mobile.devicedelegatingviewresolver")
27+
@ConfigurationProperties(prefix = "spring.mobile.devicedelegatingviewresolver")
2828
public class DeviceDelegatingViewResolverProperties {
2929

3030
/**

0 commit comments

Comments
 (0)