Skip to content

Commit 17858e9

Browse files
committed
Minor fix to "current value" setting wrt view processing
1 parent dcab137 commit 17858e9

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,8 +361,6 @@ public Object deserializeFromObject(JsonParser p, DeserializationContext ctxt) t
361361
return bean;
362362
}
363363
final Object bean = _valueInstantiator.createUsingDefault(ctxt);
364-
// [databind#631]: Assign current value, to be accessible by custom deserializers
365-
p.assignCurrentValue(bean);
366364

367365
// First: do we have native Object Ids (like YAML)?
368366
if (p.canReadObjectId()) {
@@ -390,6 +388,9 @@ else if (_objectIdReader != null && p.hasTokenId(JsonTokenId.ID_END_OBJECT)) {
390388
}
391389
}
392390
if (p.hasTokenId(JsonTokenId.ID_FIELD_NAME)) {
391+
// [databind#631]: Assign current value, to be accessible by custom serializers
392+
// [databind#4184]: but only if we have at least one property
393+
p.assignCurrentValue(bean);
393394
String propName = p.currentName();
394395
do {
395396
p.nextToken();
@@ -680,6 +681,9 @@ protected final Object deserializeWithView(JsonParser p, DeserializationContext
680681
throws IOException
681682
{
682683
if (p.hasTokenId(JsonTokenId.ID_FIELD_NAME)) {
684+
// [databind#631]: Assign current value, to be accessible by custom serializers
685+
// [databind#4184]: but only if we have at least one property
686+
p.assignCurrentValue(bean);
683687
String propName = p.currentName();
684688
do {
685689
p.nextToken();

0 commit comments

Comments
 (0)