From 2dc6e5b6fada981104d451512bf58e41e8ee2fa0 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Thu, 23 Jun 2016 10:39:16 +0200 Subject: [PATCH] Refactor Jest auto-configuration package space This commit moves the Jest auto-configuration from `spring.jest` to `spring.elasticsearch.jest` Closes gh-6032 --- .../HealthIndicatorAutoConfiguration.java | 2 +- ...HealthIndicatorAutoConfigurationTests.java | 2 +- .../jest/JestAutoConfiguration.java | 2 +- .../jest/JestProperties.java | 4 ++-- .../elasticsearch/jest/package-info.java | 20 +++++++++++++++++++ .../main/resources/META-INF/spring.factories | 2 +- .../jest/JestAutoConfigurationTests.java | 6 +++--- .../appendix-application-properties.adoc | 14 ++++++------- .../main/asciidoc/spring-boot-features.adoc | 8 ++++---- 9 files changed, 40 insertions(+), 20 deletions(-) rename spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/{ => elasticsearch}/jest/JestAutoConfiguration.java (97%) rename spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/{ => elasticsearch}/jest/JestProperties.java (94%) create mode 100644 spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/package-info.java rename spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/{ => elasticsearch}/jest/JestAutoConfigurationTests.java (91%) diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java index da763c61a4b..db1f10e93e1 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java @@ -61,7 +61,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadata; import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvider; import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProviders; -import org.springframework.boot.autoconfigure.jest.JestAutoConfiguration; +import org.springframework.boot.autoconfigure.elasticsearch.jest.JestAutoConfiguration; import org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration; import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration; import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfigurationTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfigurationTests.java index 090564f60f8..8ad5397c3b7 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfigurationTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfigurationTests.java @@ -48,7 +48,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration; import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration; -import org.springframework.boot.autoconfigure.jest.JestAutoConfiguration; +import org.springframework.boot.autoconfigure.elasticsearch.jest.JestAutoConfiguration; import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration; import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration; import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jest/JestAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfiguration.java similarity index 97% rename from spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jest/JestAutoConfiguration.java rename to spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfiguration.java index 3a95540965f..7335e865ee8 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jest/JestAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jest; +package org.springframework.boot.autoconfigure.elasticsearch.jest; import com.google.gson.Gson; import io.searchbox.client.JestClient; diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jest/JestProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestProperties.java similarity index 94% rename from spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jest/JestProperties.java rename to spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestProperties.java index 445862f5c01..bf9ef4d5e87 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jest/JestProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestProperties.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jest; +package org.springframework.boot.autoconfigure.elasticsearch.jest; import java.util.Collections; import java.util.List; @@ -27,7 +27,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Stephane Nicoll * @since 1.4.0 */ -@ConfigurationProperties("spring.jest") +@ConfigurationProperties("spring.elasticsearch.jest") public class JestProperties { /** diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/package-info.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/package-info.java new file mode 100644 index 00000000000..5dbb75693e4 --- /dev/null +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/package-info.java @@ -0,0 +1,20 @@ +/* + * Copyright 2012-2016 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Auto-configuration for Jest. + */ +package org.springframework.boot.autoconfigure.elasticsearch.jest; diff --git a/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories b/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories index 1987c851418..715992b1628 100644 --- a/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories +++ b/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories @@ -37,6 +37,7 @@ org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration,\ org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration,\ org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration,\ +org.springframework.boot.autoconfigure.elasticsearch.jest.JestAutoConfiguration,\ org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration,\ org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration,\ org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration,\ @@ -50,7 +51,6 @@ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\ -org.springframework.boot.autoconfigure.jest.JestAutoConfiguration,\ org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration,\ org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration,\ org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguration,\ diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jest/JestAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfigurationTests.java similarity index 91% rename from spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jest/JestAutoConfigurationTests.java rename to spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfigurationTests.java index 319875426cd..973d1bc6e2b 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jest/JestAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfigurationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.jest; +package org.springframework.boot.autoconfigure.elasticsearch.jest; import com.google.gson.Gson; import io.searchbox.client.JestClient; @@ -55,13 +55,13 @@ public class JestAutoConfigurationTests { @Test public void customJestClient() { - load(CustomJestClient.class, "spring.jest.uris=http://localhost:9200"); + load(CustomJestClient.class, "spring.elasticsearch.jest.uris=http://localhost:9200"); assertThat(this.context.getBeansOfType(JestClient.class)).hasSize(1); } @Test public void customGson() { - load(CustomGson.class, "spring.jest.uris=http://localhost:9200"); + load(CustomGson.class, "spring.elasticsearch.jest.uris=http://localhost:9200"); JestHttpClient client = (JestHttpClient) this.context.getBean(JestClient.class); assertThat(client.getGson()).isSameAs(this.context.getBean("customGson")); } diff --git a/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc b/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc index c44527a10da..c1bd3acf551 100644 --- a/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc +++ b/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc @@ -624,19 +624,19 @@ content into your application; rather pick only the properties that you need. spring.datasource.url= # JDBC url of the database. spring.datasource.username= + # JEST (ElasticSearch HTTP client) ({sc-spring-boot-autoconfigure}/jest/JestProperties.{sc-ext}[JestProperties]) + spring.elasticsearch.jest.connection-timeout=3000 # Connection timeout in milliseconds. + spring.elasticsearch.jest.password= # Login password. + spring.elasticsearch.jest.read-timeout=3000 # Read timeout in milliseconds. + spring.elasticsearch.jest.uris=http://localhost:9200 # Comma-separated list of the elasticsearch instances to use. + spring.elasticsearch.jest.username= # Login user. + # H2 Web Console ({sc-spring-boot-autoconfigure}/h2/H2ConsoleProperties.{sc-ext}[H2ConsoleProperties]) spring.h2.console.enabled=false # Enable the console. spring.h2.console.path=/h2-console # Path at which the console will be available. spring.h2.console.settings.trace=false # Enable trace output. spring.h2.console.settings.web-allow-others=false # Enable remote access. - # JEST (ElasticSearch HTTP client) ({sc-spring-boot-autoconfigure}/jest/JestProperties.{sc-ext}[JestProperties]) - spring.jest.connection-timeout=3000 # Connection timeout in milliseconds. - spring.jest.password= # Login password. - spring.jest.read-timeout=3000 # Read timeout in milliseconds. - spring.jest.uris=http://localhost:9200 # Comma-separated list of the elasticsearch instances to use. - spring.jest.username= # Login user. - # JOOQ ({sc-spring-boot-autoconfigure}/jooq/JooqAutoConfiguration.{sc-ext}[JooqAutoConfiguration]) spring.jooq.sql-dialect= # SQLDialect JOOQ used when communicating with the configured datasource. For instance `POSTGRES` diff --git a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc index 1cae4a55dea..2231cf684cd 100644 --- a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc +++ b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc @@ -3342,10 +3342,10 @@ configured: [source,properties,indent=0] ---- - spring.jest.uris=http://search.example.com:9200 - spring.jest.read-timeout=10000 - spring.jest.username=user - spring.jest.password=secret + spring.elasticsearch.jest.uris=http://search.example.com:9200 + spring.elasticsearch.jest.read-timeout=10000 + spring.elasticsearch.jest.username=user + spring.elasticsearch.jest.password=secret ---- To take full control over the registration, define a `JestClient` bean.