Skip to content

Commit 71d4d7d

Browse files
committed
Fix minor issue wrt Map/CollectionLikeType vs Map/CollectionType handling
1 parent 1ea2452 commit 71d4d7d

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

release-notes/VERSION-2.x

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ Project: jackson-databind
99
#2840: `ObjectMapper.activateDefaultTypingAsProperty()` is not using
1010
parameter `PolymorphicTypeValidator`
1111
(reported by Daniel W)
12+
- Fix issues with `MapLikeType.isTrueMapType()`,
13+
`CollectionLikeType.isTrueCollectionType()`
1214

1315
2.11.2 (02-Aug-2020)
1416

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ protected JsonDeserializer<?> _createDeserializer2(DeserializationContext ctxt,
383383
JsonFormat.Value format = beanDesc.findExpectedFormat(null);
384384
if ((format == null) || format.getShape() != JsonFormat.Shape.OBJECT) {
385385
MapLikeType mlt = (MapLikeType) type;
386-
if (mlt.isTrueMapType()) {
386+
if (mlt instanceof MapType) {
387387
return factory.createMapDeserializer(ctxt,(MapType) mlt, beanDesc);
388388
}
389389
return factory.createMapLikeDeserializer(ctxt, mlt, beanDesc);
@@ -398,7 +398,7 @@ protected JsonDeserializer<?> _createDeserializer2(DeserializationContext ctxt,
398398
JsonFormat.Value format = beanDesc.findExpectedFormat(null);
399399
if ((format == null) || format.getShape() != JsonFormat.Shape.OBJECT) {
400400
CollectionLikeType clt = (CollectionLikeType) type;
401-
if (clt.isTrueCollectionType()) {
401+
if (clt instanceof CollectionType) {
402402
return factory.createCollectionDeserializer(ctxt, (CollectionType) clt, beanDesc);
403403
}
404404
return factory.createCollectionLikeDeserializer(ctxt, clt, beanDesc);

src/main/java/com/fasterxml/jackson/databind/ser/BasicSerializerFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,7 @@ protected JsonSerializer<?> buildContainerSerializer(SerializerProvider prov,
614614
* But we do need to check class annotations.
615615
*/
616616
JsonSerializer<Object> keySerializer = _findKeySerializer(prov, beanDesc.getClassInfo());
617-
if (mlt.isTrueMapType()) {
617+
if (mlt instanceof MapType) {
618618
return buildMapSerializer(prov, (MapType) mlt, beanDesc, staticTyping,
619619
keySerializer, elementTypeSerializer, elementValueSerializer);
620620
}
@@ -642,7 +642,7 @@ protected JsonSerializer<?> buildContainerSerializer(SerializerProvider prov,
642642
}
643643
if (type.isCollectionLikeType()) {
644644
CollectionLikeType clt = (CollectionLikeType) type;
645-
if (clt.isTrueCollectionType()) {
645+
if (clt instanceof CollectionType) {
646646
return buildCollectionSerializer(prov, (CollectionType) clt, beanDesc, staticTyping,
647647
elementTypeSerializer, elementValueSerializer);
648648
}

0 commit comments

Comments
 (0)