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 3f435d016..1583cf858 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 @@ -344,7 +344,7 @@ public class BsonUtils { * @throws IllegalArgumentException if {@literal source} does not correspond to a {@link BsonValue} type. * @since 4.2 */ - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) @Contract("null, _ -> !null") public static BsonValue simpleToBsonValue(@Nullable Object source, CodecRegistry codecRegistry) { @@ -393,7 +393,7 @@ public class BsonUtils { } if (source instanceof Date date) { - new BsonDateTime(date.getTime()); + return new BsonDateTime(date.getTime()); } try { diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/util/json/BsonUtilsTest.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/util/json/BsonUtilsTest.java index 3b29b3bc6..71369e46b 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/util/json/BsonUtilsTest.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/util/json/BsonUtilsTest.java @@ -33,6 +33,7 @@ import java.util.Map.Entry; import java.util.stream.Stream; import org.bson.BsonArray; +import org.bson.BsonDateTime; import org.bson.BsonDouble; import org.bson.BsonInt32; import org.bson.BsonInt64; @@ -151,6 +152,13 @@ class BsonUtilsTest { .isEqualTo(new Document("value", source).toBsonDocument().get("value")); } + @Test // GH-5072 + void convertsJavaDateToBsonDateTime() { + + Date source = new Date(); + assertThat(BsonUtils.simpleToBsonValue(source)).isEqualTo(new BsonDateTime(source.getTime())); + } + @ParameterizedTest // GH-4432 @MethodSource("collectionLikeInstances") void convertsCollectionLikeToBsonArray(Object source) {