From 540dca7bdde387f17563111bbe24a6519eba6396 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Mon, 5 Jun 2017 11:00:14 +0200 Subject: [PATCH] Revisit InfluxDB configuration structure This commit removes the `client` namespace for InfluxDB as the component that is created is `InfluxDB`, not `InfluxDBClient` or something. This aligns with all the other url/user/password properties Spring Boot provides already See gh-9066 --- .../influx/InfluxDbAutoConfiguration.java | 11 ++- .../influx/InfluxDbProperties.java | 72 ++++++++----------- .../InfluxDbAutoConfigurationTests.java | 14 ++-- .../appendix-application-properties.adoc | 6 +- 4 files changed, 46 insertions(+), 57 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/influx/InfluxDbAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/influx/InfluxDbAutoConfiguration.java index 5363d293b75..e4c79e5a925 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/influx/InfluxDbAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/influx/InfluxDbAutoConfiguration.java @@ -48,14 +48,13 @@ public class InfluxDbAutoConfiguration { @Bean @ConditionalOnMissingBean - @ConditionalOnProperty("spring.influx.client.url") + @ConditionalOnProperty("spring.influx.url") public InfluxDB influxDb() { - InfluxDbProperties.Client client = this.properties.getClient(); - if (Strings.isNullOrEmpty(client.getUser())) { - return InfluxDBFactory.connect(client.getUrl()); + if (Strings.isNullOrEmpty(this.properties.getUser())) { + return InfluxDBFactory.connect(this.properties.getUrl()); } - return InfluxDBFactory.connect(client.getUrl(), client.getUser(), - client.getPassword()); + return InfluxDBFactory.connect(this.properties.getUrl(), this.properties.getUser(), + this.properties.getPassword()); } } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/influx/InfluxDbProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/influx/InfluxDbProperties.java index b3881fac876..6987cb2aeaa 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/influx/InfluxDbProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/influx/InfluxDbProperties.java @@ -28,53 +28,43 @@ import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix = "spring.influx") public class InfluxDbProperties { - private final Client client = new Client(); - - public Client getClient() { - return this.client; + /** + * Url of the InfluxDB instance to connect to. + */ + private String url; + + /** + * Login user. + */ + private String user; + + /** + * Login password. + */ + private String password; + + public String getUrl() { + return this.url; } - public static class Client { - - /** - * Url of the InfluxDB instance to connect to. - */ - private String url; - - /** - * Login user. - */ - private String user; - - /** - * Login password. - */ - private String password; - - public String getUrl() { - return this.url; - } - - public void setUrl(String url) { - this.url = url; - } - - public String getUser() { - return this.user; - } + public void setUrl(String url) { + this.url = url; + } - public void setUser(String user) { - this.user = user; - } + public String getUser() { + return this.user; + } - public String getPassword() { - return this.password; - } + public void setUser(String user) { + this.user = user; + } - public void setPassword(String password) { - this.password = password; - } + public String getPassword() { + return this.password; + } + public void setPassword(String password) { + this.password = password; } } diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/influx/InfluxDbAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/influx/InfluxDbAutoConfigurationTests.java index 2264fd3e53c..37a3356f4ae 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/influx/InfluxDbAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/influx/InfluxDbAutoConfigurationTests.java @@ -43,22 +43,22 @@ public class InfluxDbAutoConfigurationTests { } @Test - public void clientRequiresUrl() { + public void influxDbRequiresUrl() { load(); assertThat(this.context.getBeansOfType(InfluxDB.class)).isEmpty(); } @Test - public void clientCanBeCustomized() { - load("spring.influx.client.url=http://localhost", - "spring.influx.client.password:password", - "spring.influx.client.user:user"); + public void influxDbCanBeCustomized() { + load("spring.influx.url=http://localhost", + "spring.influx.password:password", + "spring.influx.user:user"); assertThat(this.context.getBeansOfType(InfluxDB.class)).hasSize(1); } @Test - public void clientCanBeCreatedWithoutCredentials() { - load("spring.influx.client.url=http://localhost"); + public void influxDbCanBeCreatedWithoutCredentials() { + load("spring.influx.url=http://localhost"); assertThat(this.context.getBeansOfType(InfluxDB.class)).hasSize(1); } 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 dbc41d5d17f..14f8abe2ccd 100644 --- a/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc +++ b/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc @@ -715,9 +715,9 @@ content into your application; rather pick only the properties that you need. spring.h2.console.settings.web-allow-others=false # Enable remote access. # InfluxDB ({sc-spring-boot-autoconfigure}/influx/InfluxProperties.{sc-ext}[InfluxProperties]) - spring.influx.client.password= # Login password. - spring.influx.client.url= # Url of the InfluxDB instance to connect to. - spring.influx.client.user= # Login user. + spring.influx.password= # Login password. + spring.influx.url= # Url of the InfluxDB instance to connect to. + spring.influx.user= # Login user. # JOOQ ({sc-spring-boot-autoconfigure}/jooq/JooqAutoConfiguration.{sc-ext}[JooqAutoConfiguration]) spring.jooq.sql-dialect= # Sql dialect to use, auto-detected by default.