diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SessionAwareMethodInterceptor.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SessionAwareMethodInterceptor.java index 60f88fb66..e66b23185 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SessionAwareMethodInterceptor.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SessionAwareMethodInterceptor.java @@ -165,6 +165,7 @@ public class SessionAwareMethodInterceptor implements MethodInterceptor { * @param targetClass * @return */ + @SuppressWarnings("NullAway") Optional lookup(Method method, Class targetClass, Class sessionType) { return cache.computeIfAbsent(new MethodClassKey(method, targetClass), diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/DefaultReactiveBulkOperations.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/DefaultReactiveBulkOperations.java index a8c3f99df..e71e83d84 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/DefaultReactiveBulkOperations.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/DefaultReactiveBulkOperations.java @@ -133,7 +133,7 @@ class DefaultReactiveBulkOperations extends BulkOperationsSupport implements Rea } @Override - @Contract("_, _, _ -> this") + @Contract("_, _ -> this") public ReactiveBulkOperations updateOne(Query query, UpdateDefinition update) { Assert.notNull(query, "Query must not be null"); diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java index 4f931281a..b6dd0621f 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java @@ -1986,6 +1986,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, * @deprecated since 3.4 in favor of {@link #aggregate(TypedAggregation, Class)}. */ @Deprecated + @SuppressWarnings("NullAway") public List mapReduce(Query query, Class domainType, String inputCollectionName, String mapFunction, String reduceFunction, @Nullable MapReduceOptions mapReduceOptions, Class resultType) { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AddFieldsOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AddFieldsOperation.java index 03569aec0..c5f9cbdd3 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AddFieldsOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AddFieldsOperation.java @@ -84,7 +84,7 @@ public class AddFieldsOperation extends DocumentEnhancingOperation { * @param value the value to assign. * @return new instance of {@link AddFieldsOperation}. */ - @Contract("_ -> new") + @Contract("_, _ -> new") public AddFieldsOperation addField(Object field, Object value) { LinkedHashMap target = new LinkedHashMap<>(getValueMap()); diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/DateOperators.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/DateOperators.java index 11b7e46f3..371ca3e2b 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/DateOperators.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/DateOperators.java @@ -2717,7 +2717,7 @@ public class DateOperators { * * @return new instance of {@link DateToParts}. */ - @Contract("_ -> new") + @Contract("-> new") public DateToParts iso8601() { return new DateToParts(append("iso8601", true)); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Fields.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Fields.java index c9b46b1c9..69693b0de 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Fields.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Fields.java @@ -151,7 +151,7 @@ public final class Fields implements Iterable { return and(new AggregationField(name)); } - @Contract("_ -> new") + @Contract("_, _ -> new") public Fields and(String name, String target) { return and(new AggregationField(name, target)); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SetWindowFieldsOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SetWindowFieldsOperation.java index 8d1cb230d..237573340 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SetWindowFieldsOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SetWindowFieldsOperation.java @@ -518,7 +518,7 @@ public class SetWindowFieldsOperation return from(UNBOUNDED); } - @Contract("-> this") + @Contract("_ -> this") public DocumentWindowBuilder to(String upper) { this.upper = upper; diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/GeoConverters.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/GeoConverters.java index 1ff8d1c8d..85ca2e405 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/GeoConverters.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/GeoConverters.java @@ -65,7 +65,7 @@ import com.mongodb.Function; @SuppressWarnings("ConstantConditions") abstract class GeoConverters { - private final static Map>> converters; + private final static Map>> converters; static { @@ -127,15 +127,15 @@ abstract class GeoConverters { * @since 1.5 */ @ReadingConverter - enum DocumentToPointConverter implements Converter { + enum DocumentToPointConverter implements Converter { INSTANCE; @Override - @Contract("null -> null; !null -> !null") - public @Nullable Point convert(@Nullable Document source) { + @SuppressWarnings("NullAway") + public Point convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } @@ -155,6 +155,7 @@ abstract class GeoConverters { * @author Thomas Darimont * @since 1.5 */ + @SuppressWarnings("NullAway") enum PointToDocumentConverter implements Converter { INSTANCE; @@ -173,6 +174,7 @@ abstract class GeoConverters { * @since 1.5 */ @WritingConverter + @SuppressWarnings("NullAway") enum BoxToDocumentConverter implements Converter { INSTANCE; @@ -199,21 +201,25 @@ abstract class GeoConverters { * @since 1.5 */ @ReadingConverter - enum DocumentToBoxConverter implements Converter { + enum DocumentToBoxConverter implements Converter { INSTANCE; @Override - @Contract("null -> null; !null -> !null") @SuppressWarnings("NullAway") - public @Nullable Box convert(@Nullable Document source) { + public Box convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } - Point first = DocumentToPointConverter.INSTANCE.convert((Document) source.get("first")); - Point second = DocumentToPointConverter.INSTANCE.convert((Document) source.get("second")); + Document firstDoc = (Document) source.get("first"); + Document secondDoc = (Document) source.get("second"); + + Assert.notNull(firstDoc, "first must not be null"); + Assert.notNull(secondDoc, "second must not be null"); + Point first = DocumentToPointConverter.INSTANCE.convert(firstDoc); + Point second = DocumentToPointConverter.INSTANCE.convert(secondDoc); return new Box(first, second); } @@ -225,6 +231,7 @@ abstract class GeoConverters { * @author Thomas Darimont * @since 1.5 */ + @SuppressWarnings("NullAway") enum CircleToDocumentConverter implements Converter { INSTANCE; @@ -252,15 +259,15 @@ abstract class GeoConverters { * @since 1.5 */ @ReadingConverter - enum DocumentToCircleConverter implements Converter { + enum DocumentToCircleConverter implements Converter { INSTANCE; @Override - @Contract("null -> null; !null -> !null") - public @Nullable Circle convert(@Nullable Document source) { + @SuppressWarnings("NullAway") + public Circle convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } @@ -290,6 +297,7 @@ abstract class GeoConverters { * @author Thomas Darimont * @since 1.5 */ + @SuppressWarnings("NullAway") enum SphereToDocumentConverter implements Converter { INSTANCE; @@ -317,15 +325,15 @@ abstract class GeoConverters { * @since 1.5 */ @ReadingConverter - enum DocumentToSphereConverter implements Converter { + enum DocumentToSphereConverter implements Converter { INSTANCE; @Override - @Contract("null -> null; !null -> !null") - public @Nullable Sphere convert(@Nullable Document source) { + @SuppressWarnings("NullAway") + public Sphere convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } @@ -355,6 +363,7 @@ abstract class GeoConverters { * @author Thomas Darimont * @since 1.5 */ + @SuppressWarnings("NullAway") enum PolygonToDocumentConverter implements Converter { INSTANCE; @@ -387,16 +396,15 @@ abstract class GeoConverters { * @since 1.5 */ @ReadingConverter - enum DocumentToPolygonConverter implements Converter { + enum DocumentToPolygonConverter implements Converter { INSTANCE; @Override - @SuppressWarnings({ "unchecked" }) - @Contract("null -> null; !null -> !null") - public @Nullable Polygon convert(@Nullable Document source) { + @SuppressWarnings({ "unchecked", "NullAway" }) + public Polygon convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } @@ -420,6 +428,7 @@ abstract class GeoConverters { * @author Thomas Darimont * @since 1.5 */ + @SuppressWarnings("NullAway") enum GeoCommandToDocumentConverter implements Converter { INSTANCE; @@ -473,6 +482,7 @@ abstract class GeoConverters { * @author Christoph Strobl * @since 1.7 */ + @SuppressWarnings("NullAway") enum GeoJsonToDocumentConverter implements Converter, Document> { INSTANCE; @@ -561,16 +571,15 @@ abstract class GeoConverters { * @author Christoph Strobl * @since 1.7 */ - enum DocumentToGeoJsonPointConverter implements Converter { + enum DocumentToGeoJsonPointConverter implements Converter { INSTANCE; @Override - @SuppressWarnings("unchecked") - @Contract("null -> null; !null -> !null") - public @Nullable GeoJsonPoint convert(@Nullable Document source) { + @SuppressWarnings({"unchecked", "NullAway"}) + public GeoJsonPoint convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } @@ -589,15 +598,15 @@ abstract class GeoConverters { * @author Christoph Strobl * @since 1.7 */ - enum DocumentToGeoJsonPolygonConverter implements Converter { + enum DocumentToGeoJsonPolygonConverter implements Converter { INSTANCE; @Override - @Contract("null -> null; !null -> !null") - public @Nullable GeoJsonPolygon convert(@Nullable Document source) { + @SuppressWarnings("NullAway") + public GeoJsonPolygon convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } @@ -612,15 +621,15 @@ abstract class GeoConverters { * @author Christoph Strobl * @since 1.7 */ - enum DocumentToGeoJsonMultiPolygonConverter implements Converter { + enum DocumentToGeoJsonMultiPolygonConverter implements Converter { INSTANCE; @Override - @Contract("null -> null; !null -> !null") - public @Nullable GeoJsonMultiPolygon convert(@Nullable Document source) { + @SuppressWarnings("NullAway") + public GeoJsonMultiPolygon convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } @@ -643,15 +652,15 @@ abstract class GeoConverters { * @author Christoph Strobl * @since 1.7 */ - enum DocumentToGeoJsonLineStringConverter implements Converter { + enum DocumentToGeoJsonLineStringConverter implements Converter { INSTANCE; @Override - @Contract("null -> null; !null -> !null") - public @Nullable GeoJsonLineString convert(@Nullable Document source) { + @SuppressWarnings("NullAway") + public GeoJsonLineString convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } @@ -668,15 +677,15 @@ abstract class GeoConverters { * @author Christoph Strobl * @since 1.7 */ - enum DocumentToGeoJsonMultiPointConverter implements Converter { + enum DocumentToGeoJsonMultiPointConverter implements Converter { INSTANCE; @Override - @Contract("null -> null; !null -> !null") - public @Nullable GeoJsonMultiPoint convert(@Nullable Document source) { + @SuppressWarnings("NullAway") + public GeoJsonMultiPoint convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } @@ -693,15 +702,15 @@ abstract class GeoConverters { * @author Christoph Strobl * @since 1.7 */ - enum DocumentToGeoJsonMultiLineStringConverter implements Converter { + enum DocumentToGeoJsonMultiLineStringConverter implements Converter { INSTANCE; @Override - @Contract("null -> null; !null -> !null") - public @Nullable GeoJsonMultiLineString convert(@Nullable Document source) { + @SuppressWarnings("NullAway") + public GeoJsonMultiLineString convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } @@ -725,15 +734,15 @@ abstract class GeoConverters { * @author Christoph Strobl * @since 1.7 */ - enum DocumentToGeoJsonGeometryCollectionConverter implements Converter { + enum DocumentToGeoJsonGeometryCollectionConverter implements Converter { INSTANCE; @Override - @Contract("null -> null; !null -> !null") - public @Nullable GeoJsonGeometryCollection convert(@Nullable Document source) { + @SuppressWarnings("NullAway") + public GeoJsonGeometryCollection convert(Document source) { - if (source == null) { + if(ObjectUtils.isEmpty(source)) { return null; } @@ -808,11 +817,17 @@ abstract class GeoConverters { * @author Christoph Strobl */ @ReadingConverter - enum DocumentToGeoJsonConverter implements Converter> { + enum DocumentToGeoJsonConverter implements Converter> { INSTANCE; @Override + @SuppressWarnings("NullAway") public GeoJson convert(Document source) { + + if(ObjectUtils.isEmpty(source)) { + return null; + } + return toGenericGeoJson(source); } } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoConverters.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoConverters.java index 81f18f7ed..06cbc597e 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoConverters.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoConverters.java @@ -194,10 +194,11 @@ abstract class MongoConverters { * * @author Oliver Gierke */ - enum StringToObjectIdConverter implements Converter { + @SuppressWarnings("NullAway") + enum StringToObjectIdConverter implements Converter { INSTANCE; - public @Nullable ObjectId convert(String source) { + public ObjectId convert(String source) { return StringUtils.hasText(source) ? new ObjectId(source) : null; } } @@ -262,10 +263,11 @@ abstract class MongoConverters { } @ReadingConverter - enum StringToBigDecimalConverter implements Converter { + @SuppressWarnings("NullAway") + enum StringToBigDecimalConverter implements Converter { INSTANCE; - public @Nullable BigDecimal convert(String source) { + public BigDecimal convert(String source) { return StringUtils.hasText(source) ? new BigDecimal(source) : null; } } @@ -292,10 +294,11 @@ abstract class MongoConverters { } @ReadingConverter - enum StringToBigIntegerConverter implements Converter { + @SuppressWarnings("NullAway") + enum StringToBigIntegerConverter implements Converter { INSTANCE; - public @Nullable BigInteger convert(String source) { + public BigInteger convert(String source) { return StringUtils.hasText(source) ? new BigInteger(source) : null; } } @@ -439,12 +442,13 @@ abstract class MongoConverters { * @since 1.9 */ @ReadingConverter - enum StringToCurrencyConverter implements Converter { + @SuppressWarnings("NullAway") + enum StringToCurrencyConverter implements Converter { INSTANCE; @Override - public @Nullable Currency convert(String source) { + public Currency convert(String source) { return StringUtils.hasText(source) ? Currency.getInstance(source) : null; } } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java index 58ba44685..550132221 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java @@ -1595,7 +1595,8 @@ public class QueryMapper { * * @author Oliver Gierke */ - protected static class AssociationConverter implements Converter { + @SuppressWarnings("NullAway") + protected static class AssociationConverter implements Converter { private final String name; private final MongoPersistentProperty property; @@ -1614,7 +1615,7 @@ public class QueryMapper { } @Override - public @Nullable String convert(MongoPersistentProperty source) { + public String convert(MongoPersistentProperty source) { if (associationFound) { return null; diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/UpdateMapper.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/UpdateMapper.java index 9e5f1d2ca..d9d17b292 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/UpdateMapper.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/UpdateMapper.java @@ -329,6 +329,7 @@ public class UpdateMapper extends QueryMapper { * * @author Christoph Strobl */ + @SuppressWarnings("NullAway") protected static class UpdateAssociationConverter extends AssociationConverter { private final KeyMapper mapper; @@ -347,7 +348,7 @@ public class UpdateMapper extends QueryMapper { } @Override - public @Nullable String convert(MongoPersistentProperty source) { + public String convert(MongoPersistentProperty source) { return super.convert(source) == null ? null : mapper.mapPropertyName(source); } } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/WildcardIndex.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/WildcardIndex.java index 22908400e..52d2fb4fd 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/WildcardIndex.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/WildcardIndex.java @@ -115,7 +115,7 @@ public class WildcardIndex extends Index { * @throws UnsupportedOperationException not supported for wildcard indexes. */ @Override - @Contract("-> fail") + @Contract("_ -> fail") public Index expire(long seconds) { throw new UnsupportedOperationException("Wildcard Index does not support 'ttl'"); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/TailableCursorRequest.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/TailableCursorRequest.java index 5e9d4857f..875145e85 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/TailableCursorRequest.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/TailableCursorRequest.java @@ -267,7 +267,7 @@ public class TailableCursorRequest implements SubscriptionRequest new") + @Contract("-> new") public TailableCursorRequest build() { Assert.notNull(listener, "MessageListener must not be null"); diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Collation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Collation.java index f785279d9..d40ca49b9 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Collation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Collation.java @@ -307,7 +307,7 @@ public class Collation { * * @return new {@link Collation}. */ - @Contract("_ -> new") + @Contract("-> new") public Collation backwardDiacriticSort() { return backwards(true); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/SerializationUtils.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/SerializationUtils.java index 441f3cd14..c13091d5e 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/SerializationUtils.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/SerializationUtils.java @@ -149,6 +149,7 @@ public abstract class SerializationUtils { entry -> String.format("\"%s\" : %s", entry.getKey(), serializeToJsonSafely(entry.getValue()))); } + @SuppressWarnings("NullAway") private static String toString(Collection source) { return iterableToDelimitedString(source, "[ ", " ]", SerializationUtils::serializeToJsonSafely); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/IdentifiableJsonSchemaProperty.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/IdentifiableJsonSchemaProperty.java index 04c662510..63aafa656 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/IdentifiableJsonSchemaProperty.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/IdentifiableJsonSchemaProperty.java @@ -197,7 +197,7 @@ public class IdentifiableJsonSchemaProperty implemen * @return new instance of {@link StringJsonSchemaProperty}. * @see StringJsonSchemaObject#generateDescription() */ - @Contract("_ -> new") + @Contract("-> new") public UntypedJsonSchemaProperty generatedDescription() { return new UntypedJsonSchemaProperty(identifier, jsonSchemaObjectDelegate.generatedDescription()); } @@ -354,7 +354,7 @@ public class IdentifiableJsonSchemaProperty implemen * @return new instance of {@link StringJsonSchemaProperty}. * @see StringJsonSchemaObject#generateDescription() */ - @Contract("_ -> new") + @Contract("-> new") public StringJsonSchemaProperty generatedDescription() { return new StringJsonSchemaProperty(identifier, jsonSchemaObjectDelegate.generatedDescription()); } @@ -552,7 +552,7 @@ public class IdentifiableJsonSchemaProperty implemen * @return new instance of {@link ObjectJsonSchemaProperty}. * @see ObjectJsonSchemaObject#generateDescription() */ - @Contract("_ -> new") + @Contract("-> new") public ObjectJsonSchemaProperty generatedDescription() { return new ObjectJsonSchemaProperty(identifier, jsonSchemaObjectDelegate.generatedDescription()); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/TypedJsonSchemaObject.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/TypedJsonSchemaObject.java index 403ff9661..9e14d82e7 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/TypedJsonSchemaObject.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/TypedJsonSchemaObject.java @@ -421,7 +421,7 @@ public class TypedJsonSchemaObject extends UntypedJsonSchemaObject { } @Override - @Contract("_ -> new") + @Contract("-> new") public ObjectJsonSchemaObject generatedDescription() { return newInstance(description, true, restrictions); } @@ -696,7 +696,7 @@ public class TypedJsonSchemaObject extends UntypedJsonSchemaObject { } @Override - @Contract("_ -> new") + @Contract("-> new") public NumericJsonSchemaObject generatedDescription() { return newInstance(description, true, restrictions); } @@ -1110,7 +1110,7 @@ public class TypedJsonSchemaObject extends UntypedJsonSchemaObject { } @Override - @Contract("_ -> new") + @Contract("-> new") public ArrayJsonSchemaObject generatedDescription() { return newInstance(description, true, restrictions); } @@ -1242,7 +1242,7 @@ public class TypedJsonSchemaObject extends UntypedJsonSchemaObject { } @Override - @Contract("_ -> new") + @Contract("-> new") public BooleanJsonSchemaObject generatedDescription() { return new BooleanJsonSchemaObject(description, true, restrictions); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/util/BsonUtils.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/util/BsonUtils.java index 9e657b911..a537e7d12 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/util/BsonUtils.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/util/BsonUtils.java @@ -797,6 +797,7 @@ public class BsonUtils { entry -> "\"" + entry.getKey() + "\" : " + toJson(entry.getValue())); } + @SuppressWarnings("NullAway") private static String toString(Collection source) { return iterableToDelimitedString(source, "[ ", " ]", BsonUtils::toJson); }