Skip to content

Commit 666a6ac

Browse files
committed
Merge branch '2.11' into 2.12
2 parents 9b91c1c + eb3ebd9 commit 666a6ac

File tree

4 files changed

+26
-3
lines changed

4 files changed

+26
-3
lines changed

release-notes/CREDITS-2.x

+5-2
Original file line numberDiff line numberDiff line change
@@ -1189,6 +1189,11 @@ Lucian H (symposion@github)
11891189
with `@JsonIdentityInfo`, `PropertyGenerator`
11901190
(2.11.4)
11911191
1192+
Gian Merlino (gianm@github)
1193+
* Reported #3022: Property ignorals cause `BeanDeserializer `to forget how to read
1194+
from arrays (not copying `_arrayDelegateDeserializer`)
1195+
(2.11.5 / 2.12.2)
1196+
11921197
Marc Carter (drekbour@github)
11931198
* Contributed #43 implementation: Add option to resolve type from multiple existing properties,
11941199
`@JsonTypeInfo(use=DEDUCTION)`
@@ -1293,5 +1298,3 @@ SunYiJun (xiaosunzhu@github)
12931298
* Reported, suggested fix for #2979: Conflicting in POJOPropertiesCollector when
12941299
having namingStrategy
12951300
(2.12.1)
1296-
1297-
--- END ---

release-notes/VERSION-2.x

+6
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ Project: jackson-databind
44
=== Releases ===
55
------------------------------------------------------------------------
66

7+
2.12.2 (not yet released)
8+
9+
#3022: Property ignorals cause `BeanDeserializer `to forget how to read
10+
from arrays (not copying `_arrayDelegateDeserializer`)
11+
(reported by Gian M)
12+
713
2.12.1 (08-Jan-2021)
814

915
#2962: Auto-detection of constructor-based creator method skipped if there is

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

+15
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,18 @@ public abstract class BeanDeserializerBase
6666
/**
6767
* Deserializer that is used iff delegate-based creator is
6868
* to be used for deserializing from JSON Object.
69+
*<p>
70+
* NOTE: cannot be {@code final} because we need to get it during
71+
* {@code resolve()} method (and not contextualization).
6972
*/
7073
protected JsonDeserializer<Object> _delegateDeserializer;
7174

7275
/**
7376
* Deserializer that is used iff array-delegate-based creator
7477
* is to be used for deserializing from JSON Object.
78+
*<p>
79+
* NOTE: cannot be {@code final} because we need to get it during
80+
* {@code resolve()} method (and not contextualization).
7581
*/
7682
protected JsonDeserializer<Object> _arrayDelegateDeserializer;
7783

@@ -211,7 +217,11 @@ protected BeanDeserializerBase(BeanDeserializerBuilder builder,
211217
{
212218
super(beanDesc.getType());
213219
_beanType = beanDesc.getType();
220+
214221
_valueInstantiator = builder.getValueInstantiator();
222+
_delegateDeserializer = null;
223+
_arrayDelegateDeserializer = null;
224+
_propertyBasedCreator = null;
215225

216226
_beanProperties = properties;
217227
_backRefs = backRefs;
@@ -264,6 +274,7 @@ protected BeanDeserializerBase(BeanDeserializerBase src, boolean ignoreAllUnknow
264274

265275
_valueInstantiator = src._valueInstantiator;
266276
_delegateDeserializer = src._delegateDeserializer;
277+
_arrayDelegateDeserializer = src._arrayDelegateDeserializer;
267278
_propertyBasedCreator = src._propertyBasedCreator;
268279

269280
_beanProperties = src._beanProperties;
@@ -291,6 +302,7 @@ protected BeanDeserializerBase(BeanDeserializerBase src, NameTransformer unwrapp
291302

292303
_valueInstantiator = src._valueInstantiator;
293304
_delegateDeserializer = src._delegateDeserializer;
305+
_arrayDelegateDeserializer = src._arrayDelegateDeserializer;
294306
_propertyBasedCreator = src._propertyBasedCreator;
295307

296308
_backRefs = src._backRefs;
@@ -329,6 +341,7 @@ public BeanDeserializerBase(BeanDeserializerBase src, ObjectIdReader oir)
329341

330342
_valueInstantiator = src._valueInstantiator;
331343
_delegateDeserializer = src._delegateDeserializer;
344+
_arrayDelegateDeserializer = src._arrayDelegateDeserializer;
332345
_propertyBasedCreator = src._propertyBasedCreator;
333346

334347
_backRefs = src._backRefs;
@@ -371,6 +384,7 @@ public BeanDeserializerBase(BeanDeserializerBase src,
371384

372385
_valueInstantiator = src._valueInstantiator;
373386
_delegateDeserializer = src._delegateDeserializer;
387+
_arrayDelegateDeserializer = src._arrayDelegateDeserializer;
374388
_propertyBasedCreator = src._propertyBasedCreator;
375389

376390
_backRefs = src._backRefs;
@@ -403,6 +417,7 @@ protected BeanDeserializerBase(BeanDeserializerBase src, BeanPropertyMap beanPro
403417

404418
_valueInstantiator = src._valueInstantiator;
405419
_delegateDeserializer = src._delegateDeserializer;
420+
_arrayDelegateDeserializer = src._arrayDelegateDeserializer;
406421
_propertyBasedCreator = src._propertyBasedCreator;
407422

408423
_beanProperties = beanProps;

src/test/java/com/fasterxml/jackson/databind/deser/builder/BuilderSimpleTest.java

-1
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,6 @@ private Value2354 build() {
295295
}
296296
}
297297

298-
299298
/*
300299
/**********************************************************
301300
/* Test methods

0 commit comments

Comments
 (0)