Skip to content

Commit f130616

Browse files
committed
Adapt to API changes in PropertyValueConverters.
Closes #4040.
1 parent 32da9f4 commit f130616

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -965,9 +965,9 @@ protected void writePropertyInternal(@Nullable Object obj, DocumentAccessor acce
965965
TypeInformation<?> valueType = ClassTypeInformation.from(obj.getClass());
966966
TypeInformation<?> type = prop.getTypeInformation();
967967

968-
if (conversions.hasPropertyValueConverter(prop)) {
968+
if (conversions.getPropertyValueConversions().hasValueConverter(prop)) {
969969
accessor.put(prop,
970-
conversions.getPropertyValueConverter(prop).write(obj, new MongoConversionContext(prop, this)));
970+
conversions.getPropertyValueConversions().getValueConverter(prop).write(obj, new MongoConversionContext(prop, this)));
971971
return;
972972
}
973973

@@ -1301,9 +1301,10 @@ private void writeSimpleInternal(@Nullable Object value, Bson bson, String key)
13011301
private void writeSimpleInternal(@Nullable Object value, Bson bson, MongoPersistentProperty property) {
13021302
DocumentAccessor accessor = new DocumentAccessor(bson);
13031303

1304-
if (conversions.hasPropertyValueConverter(property)) {
1304+
if (conversions.getPropertyValueConversions().hasValueConverter(property)) {
13051305
accessor.put(property,
1306-
conversions.getPropertyValueConverter(property).write(value, new MongoConversionContext(property, this)));
1306+
conversions.getPropertyValueConversions().getValueConverter(property)
1307+
.write(value, new MongoConversionContext(property, this)));
13071308
return;
13081309
}
13091310

@@ -1970,8 +1971,8 @@ public <T> T getPropertyValue(MongoPersistentProperty property) {
19701971
return null;
19711972
}
19721973

1973-
if (context.conversions.hasPropertyValueConverter(property)) {
1974-
return (T) context.conversions.getPropertyValueConverter(property).read(value,
1974+
if (context.conversions.getPropertyValueConversions().hasValueConverter(property)) {
1975+
return (T) context.conversions.getPropertyValueConversions().getValueConverter(property).read(value,
19751976
new MongoConversionContext(property, context.sourceConverter));
19761977
}
19771978

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -434,8 +434,9 @@ protected Object getMappedValue(Field documentField, Object sourceValue) {
434434

435435
Object value = applyFieldTargetTypeHintToValue(documentField, sourceValue);
436436

437-
if(documentField.getProperty() != null && converter.getCustomConversions().hasPropertyValueConverter(documentField.getProperty())) {
438-
return converter.getCustomConversions().getPropertyValueConverter(documentField.getProperty()).write(value, new MongoConversionContext(documentField.getProperty(), converter));
437+
if(documentField.getProperty() != null && converter.getCustomConversions().getPropertyValueConversions().hasValueConverter(documentField.getProperty())) {
438+
return converter.getCustomConversions().getPropertyValueConversions().getValueConverter(documentField.getProperty())
439+
.write(value, new MongoConversionContext(documentField.getProperty(), converter));
439440
}
440441

441442
if (documentField.isIdField() && !documentField.isAssociation()) {

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/MongoCustomConversionsUnitTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ void propertyValueConverterRegistrationWorksAsExpected() {
6161
registry -> registry.registerConverter(Foo.class, "name", mock(PropertyValueConverter.class)));
6262
});
6363

64-
assertThat(conversions.hasPropertyValueConverter(persistentProperty)).isTrue();
64+
assertThat(conversions.getPropertyValueConversions().hasValueConverter(persistentProperty)).isTrue();
6565
}
6666

6767
static class DateToZonedDateTimeConverter implements Converter<Date, ZonedDateTime> {

0 commit comments

Comments
 (0)