Browse Source

Use jOOQ enum for sqlDialect

Switch JooqProperties.sqlDialect from a String to the actual enum to
allow IDE hints and case insensitive binding.

Fixes gh-3468
pull/3032/merge
Phillip Webb 11 years ago
parent
commit
5dbe6232b8
  1. 6
      spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java
  2. 7
      spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqProperties.java

6
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java

@ -23,7 +23,6 @@ import org.jooq.DSLContext;
import org.jooq.ExecuteListenerProvider; import org.jooq.ExecuteListenerProvider;
import org.jooq.RecordListenerProvider; import org.jooq.RecordListenerProvider;
import org.jooq.RecordMapperProvider; import org.jooq.RecordMapperProvider;
import org.jooq.SQLDialect;
import org.jooq.TransactionProvider; import org.jooq.TransactionProvider;
import org.jooq.VisitListenerProvider; import org.jooq.VisitListenerProvider;
import org.jooq.conf.Settings; import org.jooq.conf.Settings;
@ -43,7 +42,6 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy; import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy;
import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.util.StringUtils;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} for JOOQ. * {@link EnableAutoConfiguration Auto-configuration} for JOOQ.
@ -113,8 +111,8 @@ public class JooqAutoConfiguration {
@ConditionalOnMissingBean(org.jooq.Configuration.class) @ConditionalOnMissingBean(org.jooq.Configuration.class)
public DefaultConfiguration jooqConfiguration() { public DefaultConfiguration jooqConfiguration() {
DefaultConfiguration configuration = new DefaultConfiguration(); DefaultConfiguration configuration = new DefaultConfiguration();
if (!StringUtils.isEmpty(this.properties.getSqlDialect())) { if (this.properties.getSqlDialect() != null) {
configuration.set(SQLDialect.valueOf(this.properties.getSqlDialect())); configuration.set(this.properties.getSqlDialect());
} }
configuration.set(this.connectionProvider); configuration.set(this.connectionProvider);
if (this.transactionProvider != null) { if (this.transactionProvider != null) {

7
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqProperties.java

@ -16,6 +16,7 @@
package org.springframework.boot.autoconfigure.jooq; package org.springframework.boot.autoconfigure.jooq;
import org.jooq.SQLDialect;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
/** /**
@ -31,13 +32,13 @@ public class JooqProperties {
* SQLDialect JOOQ used when communicating with the configured datasource, for * SQLDialect JOOQ used when communicating with the configured datasource, for
* instance "POSTGRES". * instance "POSTGRES".
*/ */
private String sqlDialect; private SQLDialect sqlDialect;
public String getSqlDialect() { public SQLDialect getSqlDialect() {
return this.sqlDialect; return this.sqlDialect;
} }
public void setSqlDialect(String sqlDialect) { public void setSqlDialect(SQLDialect sqlDialect) {
this.sqlDialect = sqlDialect; this.sqlDialect = sqlDialect;
} }

Loading…
Cancel
Save