diff --git a/spring-data-mongodb/pom.xml b/spring-data-mongodb/pom.xml index 568d347c4..7c2d818c4 100644 --- a/spring-data-mongodb/pom.xml +++ b/spring-data-mongodb/pom.xml @@ -138,6 +138,13 @@ test + + org.threeten + threetenbp + ${threetenbp} + true + + org.slf4j jul-to-slf4j diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/CustomConversions.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/CustomConversions.java index 87967ae17..c3f953646 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/CustomConversions.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/CustomConversions.java @@ -36,6 +36,7 @@ import org.springframework.core.convert.converter.GenericConverter; import org.springframework.core.convert.converter.GenericConverter.ConvertiblePair; import org.springframework.core.convert.support.GenericConversionService; import org.springframework.data.convert.JodaTimeConverters; +import org.springframework.data.convert.ThreeTenBackPortConverters; import org.springframework.data.convert.Jsr310Converters; import org.springframework.data.convert.ReadingConverter; import org.springframework.data.convert.WritingConverter; @@ -114,6 +115,7 @@ public class CustomConversions { toRegister.addAll(JodaTimeConverters.getConvertersToRegister()); toRegister.addAll(GeoConverters.getConvertersToRegister()); toRegister.addAll(Jsr310Converters.getConvertersToRegister()); + toRegister.addAll(ThreeTenBackPortConverters.getConvertersToRegister()); for (Object c : toRegister) { registerConversion(c); diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/CustomConversionsUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/CustomConversionsUnitTests.java index e43160df5..7589ca0f7 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/CustomConversionsUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/CustomConversionsUnitTests.java @@ -35,6 +35,7 @@ import org.springframework.core.convert.converter.Converter; import org.springframework.core.convert.support.DefaultConversionService; import org.springframework.core.convert.support.GenericConversionService; import org.springframework.data.mongodb.core.convert.MongoConverters.StringToBigIntegerConverter; +import org.threeten.bp.LocalDateTime; import com.mongodb.DBRef; @@ -234,6 +235,28 @@ public class CustomConversionsUnitTests { assertThat(conversions.hasCustomReadTarget(createProxyTypeFor(Object.class), String.class), is(true)); } + /** + * @see DATAMONGO-1131 + */ + @Test + public void registersConvertersForJsr310() { + + CustomConversions customConversions = new CustomConversions(); + + assertThat(customConversions.hasCustomWriteTarget(java.time.LocalDateTime.class), is(true)); + } + + /** + * @see DATAMONGO-1131 + */ + @Test + public void registersConvertersForThreeTenBackPort() { + + CustomConversions customConversions = new CustomConversions(); + + assertThat(customConversions.hasCustomWriteTarget(LocalDateTime.class), is(true)); + } + private static Class createProxyTypeFor(Class type) { ProxyFactory factory = new ProxyFactory();