Adapt to API changes in PropertyValueConverters.

Closes #4040.
This commit is contained in:
John Blum
2022-05-02 17:15:48 -07:00
parent b134e1916d
commit 9663a2227b
3 changed files with 12 additions and 9 deletions

View File

@@ -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));
}

View File

@@ -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()) {

View File

@@ -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<Date, ZonedDateTime> {