Skip to content

Commit 7349fad

Browse files
committed
Additional change for #962 wrt 3.0
1 parent 5c5cc71 commit 7349fad

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializerBase.java

+12-10
Original file line numberDiff line numberDiff line change
@@ -452,16 +452,18 @@ public void resolve(DeserializationContext ctxt) throws JsonMappingException
452452
// only happen for props in `creatorProps`
453453

454454
for (SettableBeanProperty prop : _beanProperties) {
455-
if (!prop.hasValueDeserializer()) {
456-
// [databind#125]: allow use of converters
457-
JsonDeserializer<?> deser = _findConvertingDeserializer(ctxt, prop);
458-
if (deser == null) {
459-
deser = ctxt.findNonContextualValueDeserializer(prop.getType());
460-
}
461-
SettableBeanProperty newProp = prop.withValueDeserializer(deser);
462-
if (prop != newProp) {
463-
_replaceProperty(_beanProperties, creatorProps, prop, newProp);
464-
}
455+
// [databind#962]: no eager lookup for inject-only [creator] properties
456+
if (prop.hasValueDeserializer() || prop.isInjectionOnly()) {
457+
continue;
458+
}
459+
// [databind#125]: allow use of converters
460+
JsonDeserializer<?> deser = _findConvertingDeserializer(ctxt, prop);
461+
if (deser == null) {
462+
deser = ctxt.findNonContextualValueDeserializer(prop.getType());
463+
}
464+
SettableBeanProperty newProp = prop.withValueDeserializer(deser);
465+
if (prop != newProp) {
466+
_replaceProperty(_beanProperties, creatorProps, prop, newProp);
465467
}
466468
}
467469

src/main/java/com/fasterxml/jackson/databind/deser/CreatorProperty.java

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import com.fasterxml.jackson.databind.introspect.AnnotatedParameter;
1313
import com.fasterxml.jackson.databind.jsontype.TypeDeserializer;
1414
import com.fasterxml.jackson.databind.util.Annotations;
15-
import com.fasterxml.jackson.databind.util.ClassUtil;
1615

1716
/**
1817
* This concrete sub-class implements property that is passed

0 commit comments

Comments
 (0)