Add nullability annotations to module/spring-boot-data-mongodb

See gh-46587
This commit is contained in:
Moritz Halbritter
2025-07-30 13:43:18 +02:00
parent cea8fed6f8
commit bf54614510
7 changed files with 18 additions and 2 deletions
@@ -32,6 +32,7 @@ dependencies {
api("org.springframework.data:spring-data-mongodb")
compileOnly("com.fasterxml.jackson.core:jackson-annotations")
compileOnly("com.google.code.findbugs:jsr305")
optional(project(":core:spring-boot-autoconfigure"))
optional(project(":module:spring-boot-health"))
@@ -27,6 +27,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.MongoDatabaseFactory;
import org.springframework.data.mongodb.core.MongoDatabaseFactorySupport;
import org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory;
import org.springframework.util.Assert;
/**
* Configuration for a {@link MongoDatabaseFactory}.
@@ -49,6 +50,7 @@ class MongoDatabaseFactoryConfiguration {
if (database == null) {
database = connectionDetails.getConnectionString().getDatabase();
}
Assert.hasText(database, "Database name must not be empty");
return new SimpleMongoClientDatabaseFactory(mongoClient, database);
}
@@ -19,6 +19,7 @@ package org.springframework.boot.data.mongodb.autoconfigure;
import com.mongodb.ClientSessionOptions;
import com.mongodb.client.ClientSession;
import com.mongodb.client.MongoDatabase;
import org.jspecify.annotations.Nullable;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -112,7 +113,7 @@ class MongoDatabaseFactoryDependentConfiguration {
return this.mongoDatabaseFactory.withSession(session);
}
private String getGridFsDatabase(MongoConnectionDetails connectionDetails) {
private @Nullable String getGridFsDatabase(MongoConnectionDetails connectionDetails) {
return (connectionDetails.getGridFs() != null) ? connectionDetails.getGridFs().getDatabase() : null;
}
@@ -24,6 +24,7 @@ import com.mongodb.reactivestreams.client.MongoClient;
import com.mongodb.reactivestreams.client.MongoDatabase;
import org.bson.codecs.Codec;
import org.bson.codecs.configuration.CodecRegistry;
import org.jspecify.annotations.Nullable;
import reactor.core.publisher.Mono;
import org.springframework.boot.autoconfigure.AutoConfiguration;
@@ -50,6 +51,7 @@ import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.gridfs.ReactiveGridFsOperations;
import org.springframework.data.mongodb.gridfs.ReactiveGridFsTemplate;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
/**
@@ -87,6 +89,7 @@ public final class MongoReactiveDataAutoConfiguration {
if (database == null) {
database = this.connectionDetails.getConnectionString().getDatabase();
}
Assert.hasText(database, "Database name must not be empty");
return new SimpleReactiveMongoDatabaseFactory(mongo, database);
}
@@ -143,7 +146,7 @@ public final class MongoReactiveDataAutoConfiguration {
return this.delegate.getMongoDatabase();
}
private String getGridFsDatabase(MongoConnectionDetails connectionDetails) {
private @Nullable String getGridFsDatabase(MongoConnectionDetails connectionDetails) {
return (connectionDetails.getGridFs() != null) ? connectionDetails.getGridFs().getDatabase() : null;
}
@@ -17,4 +17,7 @@
/**
* Auto-configuration for Spring Data MongoDB health.
*/
@NullMarked
package org.springframework.boot.data.mongodb.autoconfigure.health;
import org.jspecify.annotations.NullMarked;
@@ -17,4 +17,7 @@
/**
* Auto-configuration for Spring Data MongoDB.
*/
@NullMarked
package org.springframework.boot.data.mongodb.autoconfigure;
import org.jspecify.annotations.NullMarked;
@@ -17,4 +17,7 @@
/**
* MongoDB health integration using Spring Data MongoDB.
*/
@NullMarked
package org.springframework.boot.data.mongodb.health;
import org.jspecify.annotations.NullMarked;