diff --git a/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/DefaultExceptionTranslatorExecuteListener.java b/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/DefaultExceptionTranslatorExecuteListener.java index 504307a34ed..2866d63d67d 100644 --- a/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/DefaultExceptionTranslatorExecuteListener.java +++ b/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/DefaultExceptionTranslatorExecuteListener.java @@ -23,6 +23,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jooq.ExecuteContext; import org.jooq.SQLDialect; +import org.jspecify.annotations.Nullable; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator; @@ -117,7 +118,7 @@ final class DefaultExceptionTranslatorExecuteListener implements ExceptionTransl : new SQLExceptionSubclassTranslator(); } - private String getSpringDbName(SQLDialect dialect) { + private @Nullable String getSpringDbName(@Nullable SQLDialect dialect) { return (dialect != null && dialect.thirdParty() != null) ? dialect.thirdParty().springDbName() : null; } diff --git a/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfiguration.java b/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfiguration.java index 706e282e691..304d0aaad88 100644 --- a/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfiguration.java +++ b/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfiguration.java @@ -133,6 +133,7 @@ public final class JooqAutoConfiguration { throw new JaxbNotAvailableException(); } Resource resource = properties.getConfig(); + Assert.state(resource != null, "'resource' must not be null"); Assert.state(resource.exists(), () -> "Resource %s set in spring.jooq.config does not exist".formatted(resource)); try (InputStream stream = resource.getInputStream()) { diff --git a/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqProperties.java b/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqProperties.java index 387736785e7..dfceeb8ce9e 100644 --- a/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqProperties.java +++ b/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqProperties.java @@ -19,6 +19,7 @@ package org.springframework.boot.jooq.autoconfigure; import javax.sql.DataSource; import org.jooq.SQLDialect; +import org.jspecify.annotations.Nullable; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.core.io.Resource; @@ -37,26 +38,26 @@ public class JooqProperties { /** * SQL dialect to use. Auto-detected by default. */ - private SQLDialect sqlDialect; + private @Nullable SQLDialect sqlDialect; /** * Location of the jOOQ config file. */ - private Resource config; + private @Nullable Resource config; - public SQLDialect getSqlDialect() { + public @Nullable SQLDialect getSqlDialect() { return this.sqlDialect; } - public void setSqlDialect(SQLDialect sqlDialect) { + public void setSqlDialect(@Nullable SQLDialect sqlDialect) { this.sqlDialect = sqlDialect; } - public Resource getConfig() { + public @Nullable Resource getConfig() { return this.config; } - public void setConfig(Resource config) { + public void setConfig(@Nullable Resource config) { this.config = config; } diff --git a/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/NoDslContextBeanFailureAnalyzer.java b/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/NoDslContextBeanFailureAnalyzer.java index 10c88c3c92e..f3e85662554 100644 --- a/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/NoDslContextBeanFailureAnalyzer.java +++ b/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/NoDslContextBeanFailureAnalyzer.java @@ -17,6 +17,7 @@ package org.springframework.boot.jooq.autoconfigure; import org.jooq.DSLContext; +import org.jspecify.annotations.Nullable; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.NoSuchBeanDefinitionException; @@ -35,7 +36,7 @@ class NoDslContextBeanFailureAnalyzer extends AbstractFailureAnalyzer