diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java index 8c17e6dd8..9c4582102 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java @@ -936,9 +936,10 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App TypeInformation valueType = ClassTypeInformation.from(obj.getClass()); TypeInformation type = prop.getTypeInformation(); - if (conversions.hasPropertyValueConverter(prop)) { + if (conversions.hasValueConverter(prop)) { accessor.put(prop, - conversions.getPropertyValueConverter(prop).write(obj, new MongoConversionContext(prop, this))); + conversions.getPropertyValueConversions().getValueConverter(prop) + .write(obj, new MongoConversionContext(prop, this))); return; } @@ -1272,9 +1273,10 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App private void writeSimpleInternal(@Nullable Object value, Bson bson, MongoPersistentProperty property) { DocumentAccessor accessor = new DocumentAccessor(bson); - if (conversions.hasPropertyValueConverter(property)) { + if (conversions.hasValueConverter(property)) { accessor.put(property, - conversions.getPropertyValueConverter(property).write(value, new MongoConversionContext(property, this))); + conversions.getPropertyValueConversions().getValueConverter(property) + .write(value, new MongoConversionContext(property, this))); return; } @@ -1919,8 +1921,8 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App return null; } - if (context.conversions.hasPropertyValueConverter(property)) { - return (T) context.conversions.getPropertyValueConverter(property).read(value, + if (context.conversions.hasValueConverter(property)) { + return (T) context.conversions.getPropertyValueConversions().getValueConverter(property).read(value, new MongoConversionContext(property, context.sourceConverter)); } 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 c2363c3c7..2a6e7fb4a 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 @@ -432,8 +432,9 @@ public class QueryMapper { Object value = applyFieldTargetTypeHintToValue(documentField, sourceValue); - if(documentField.getProperty() != null && converter.getCustomConversions().hasPropertyValueConverter(documentField.getProperty())) { - return converter.getCustomConversions().getPropertyValueConverter(documentField.getProperty()).write(value, new MongoConversionContext(documentField.getProperty(), converter)); + if(documentField.getProperty() != null && converter.getCustomConversions().hasValueConverter(documentField.getProperty())) { + return converter.getCustomConversions().getPropertyValueConversions().getValueConverter(documentField.getProperty()) + .write(value, new MongoConversionContext(documentField.getProperty(), converter)); } if (documentField.isIdField() && !documentField.isAssociation()) { diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/MongoCustomConversionsUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/MongoCustomConversionsUnitTests.java index 493eabfdf..e68c77473 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/MongoCustomConversionsUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/MongoCustomConversionsUnitTests.java @@ -61,7 +61,7 @@ class MongoCustomConversionsUnitTests { registry -> registry.registerConverter(Foo.class, "name", mock(PropertyValueConverter.class))); }); - assertThat(conversions.hasPropertyValueConverter(persistentProperty)).isTrue(); + assertThat(conversions.getPropertyValueConversions().hasValueConverter(persistentProperty)).isTrue(); } static class DateToZonedDateTimeConverter implements Converter {