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 74420b201..049aa57e9 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 @@ -965,9 +965,9 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App TypeInformation valueType = ClassTypeInformation.from(obj.getClass()); TypeInformation type = prop.getTypeInformation(); - if (conversions.hasPropertyValueConverter(prop)) { + if (conversions.getPropertyValueConversions().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; } @@ -1301,9 +1301,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.getPropertyValueConversions().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; } @@ -1970,8 +1971,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.getPropertyValueConversions().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 174667435..5cf186cf4 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 @@ -434,8 +434,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().getPropertyValueConversions().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 {