Skip to content

Commit 195e9b5

Browse files
committed
Backport #703 fix by Francisco
1 parent bff35ba commit 195e9b5

File tree

4 files changed

+27
-8
lines changed

4 files changed

+27
-8
lines changed

release-notes/CREDITS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,3 +207,11 @@ Ludevik@github:
207207
Antibrumm@github:
208208
* Reported #691: Jackson 2.5.0. NullSerializer for MapProperty failing
209209
(2.5.2)
210+
211+
Shumpei Akai (flexfrank@github)
212+
* Reported #703: Multiple calls to ObjectMapper#canSerialize(Object.class) returns different values
213+
(2.5.2)
214+
215+
Francisco A. Lozano (flozano@github)
216+
* Contributed fix for #703 (see above)
217+
(2.5.2)

release-notes/VERSION

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ Project: jackson-databind
88

99
#691: NullSerializer for MapProperty failing when using polymorphic handling
1010
(reported by Antibrumm@github)
11+
#703: Multiple calls to ObjectMapper#canSerialize(Object.class) returns different values
12+
(reported by flexfrank@github)
1113

1214
2.5.1 (06-Feb-2015)
1315

src/main/java/com/fasterxml/jackson/databind/SerializerProvider.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1087,16 +1087,16 @@ protected JsonSerializer<Object> _findExplicitUntypedSerializer(Class<?> runtime
10871087
ser = _serializerCache.untypedValueSerializer(runtimeType);
10881088
if (ser == null) {
10891089
ser = _createAndCacheUntypedSerializer(runtimeType);
1090-
/* 18-Sep-2014, tatu: This is unfortunate patch over related change
1091-
* that pushes creation of "unknown type" serializer deeper down
1092-
* in BeanSerializerFactory; as a result, we need to "undo" creation
1093-
* here.
1094-
*/
1095-
if (isUnknownTypeSerializer(ser)) {
1096-
return null;
1097-
}
10981090
}
10991091
}
1092+
/* 18-Sep-2014, tatu: This is unfortunate patch over related change
1093+
* that pushes creation of "unknown type" serializer deeper down
1094+
* in BeanSerializerFactory; as a result, we need to "undo" creation
1095+
* here.
1096+
*/
1097+
if (isUnknownTypeSerializer(ser)) {
1098+
return null;
1099+
}
11001100
return ser;
11011101
}
11021102

src/test/java/com/fasterxml/jackson/databind/TestObjectMapper.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,4 +185,13 @@ public void testAnnotationIntrospectorCopyin()
185185
assertEquals(MyAnnotationIntrospector.class,
186186
m2.getSerializationConfig().getAnnotationIntrospector().getClass());
187187
}
188+
189+
// For [databind#703]
190+
public void testNonSerializabilityOfObject()
191+
{
192+
ObjectMapper m = new ObjectMapper();
193+
assertFalse(m.canSerialize(Object.class));
194+
// but this used to pass, incorrectly
195+
assertFalse(m.canSerialize(Object.class));
196+
}
188197
}

0 commit comments

Comments
 (0)