Browse Source

DATACMNS-1131 - We now register the ThreeTen back port converters by default.

Related ticket: DATACMNS-628.
pull/262/head
Oliver Gierke 11 years ago
parent
commit
47e083280a
  1. 7
      spring-data-mongodb/pom.xml
  2. 2
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/CustomConversions.java
  3. 23
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/CustomConversionsUnitTests.java

7
spring-data-mongodb/pom.xml

@ -138,6 +138,13 @@
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>org.threeten</groupId>
<artifactId>threetenbp</artifactId>
<version>${threetenbp}</version>
<optional>true</optional>
</dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId> <artifactId>jul-to-slf4j</artifactId>

2
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.converter.GenericConverter.ConvertiblePair;
import org.springframework.core.convert.support.GenericConversionService; import org.springframework.core.convert.support.GenericConversionService;
import org.springframework.data.convert.JodaTimeConverters; import org.springframework.data.convert.JodaTimeConverters;
import org.springframework.data.convert.ThreeTenBackPortConverters;
import org.springframework.data.convert.Jsr310Converters; import org.springframework.data.convert.Jsr310Converters;
import org.springframework.data.convert.ReadingConverter; import org.springframework.data.convert.ReadingConverter;
import org.springframework.data.convert.WritingConverter; import org.springframework.data.convert.WritingConverter;
@ -114,6 +115,7 @@ public class CustomConversions {
toRegister.addAll(JodaTimeConverters.getConvertersToRegister()); toRegister.addAll(JodaTimeConverters.getConvertersToRegister());
toRegister.addAll(GeoConverters.getConvertersToRegister()); toRegister.addAll(GeoConverters.getConvertersToRegister());
toRegister.addAll(Jsr310Converters.getConvertersToRegister()); toRegister.addAll(Jsr310Converters.getConvertersToRegister());
toRegister.addAll(ThreeTenBackPortConverters.getConvertersToRegister());
for (Object c : toRegister) { for (Object c : toRegister) {
registerConversion(c); registerConversion(c);

23
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.DefaultConversionService;
import org.springframework.core.convert.support.GenericConversionService; import org.springframework.core.convert.support.GenericConversionService;
import org.springframework.data.mongodb.core.convert.MongoConverters.StringToBigIntegerConverter; import org.springframework.data.mongodb.core.convert.MongoConverters.StringToBigIntegerConverter;
import org.threeten.bp.LocalDateTime;
import com.mongodb.DBRef; import com.mongodb.DBRef;
@ -234,6 +235,28 @@ public class CustomConversionsUnitTests {
assertThat(conversions.hasCustomReadTarget(createProxyTypeFor(Object.class), String.class), is(true)); 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) { private static Class<?> createProxyTypeFor(Class<?> type) {
ProxyFactory factory = new ProxyFactory(); ProxyFactory factory = new ProxyFactory();

Loading…
Cancel
Save