Skip to content

Commit 2c5604c

Browse files
committed
Merge branch '2.12'
2 parents 69ff0d0 + 2449fd5 commit 2c5604c

File tree

4 files changed

+13
-5
lines changed

4 files changed

+13
-5
lines changed

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.fasterxml.jackson.databind.deser.impl.ValueInjector;
1111
import com.fasterxml.jackson.databind.introspect.*;
1212
import com.fasterxml.jackson.databind.util.Annotations;
13+
import com.fasterxml.jackson.databind.util.ClassUtil;
1314

1415
/**
1516
* Builder class used for aggregating deserialization information about
@@ -395,7 +396,7 @@ public JsonDeserializer<?> buildBuilderBased(JavaType valueType, String expBuild
395396
if (!expBuildMethodName.isEmpty()) {
396397
_context.reportBadDefinition(_beanDesc.getType(),
397398
String.format("Builder class %s does not have build method (name: '%s')",
398-
_beanDesc.getBeanClass().getName(),
399+
ClassUtil.getTypeDescription(_beanDesc.getType()),
399400
expBuildMethodName));
400401
}
401402
} else {
@@ -406,10 +407,10 @@ public JsonDeserializer<?> buildBuilderBased(JavaType valueType, String expBuild
406407
&& !rawBuildType.isAssignableFrom(rawValueType)
407408
&& !rawValueType.isAssignableFrom(rawBuildType)) {
408409
_context.reportBadDefinition(_beanDesc.getType(),
409-
String.format("Build method '%s' has wrong return type (%s), not compatible with POJO type (%s)",
410+
String.format("Build method `%s` has wrong return type (%s), not compatible with POJO type (%s)",
410411
_buildMethod.getFullName(),
411-
rawBuildType.getName(),
412-
valueType.getRawClass().getName()));
412+
ClassUtil.getClassDescription(rawBuildType),
413+
ClassUtil.getTypeDescription(valueType)));
413414
}
414415
}
415416
_fixAccess(_properties.values());

src/main/java/com/fasterxml/jackson/databind/deser/std/EnumSetDeserializer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ public AccessPattern getEmptyAccessPattern() {
142142
public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
143143
BeanProperty property) throws JsonMappingException
144144
{
145+
// 07-May-2020, tatu: Is the argument `EnumSet.class` correct here?
146+
// In a way seems like it should rather refer to value class... ?
147+
// (as it's individual value of element type, not Container)...
145148
final Boolean unwrapSingle = findFormatFeature(ctxt, property, EnumSet.class,
146149
JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
147150
JsonDeserializer<?> deser = _enumDeserializer;

src/main/java/com/fasterxml/jackson/databind/deser/std/ObjectArrayDeserializer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,9 @@ public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
116116
BeanProperty property) throws JsonMappingException
117117
{
118118
JsonDeserializer<?> valueDeser = _elementDeserializer;
119+
// 07-May-2020, tatu: Is the argument `containerType.getRawClass()` right here?
120+
// In a way seems like it should rather refer to value class... ?
121+
// (as it's individual value of element type, not Container)...
119122
Boolean unwrapSingle = findFormatFeature(ctxt, property, _containerType.getRawClass(),
120123
JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
121124
// May have a content converter

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ public void testBuilderMethodReturnInvalidType() throws Exception
7070
MAPPER.readValue(json, ValueClassWrongBuildType.class);
7171
fail("Missing expected InvalidDefinitionException exception");
7272
} catch (InvalidDefinitionException e) {
73-
verifyException(e, "Build method");
73+
verifyException(e, "Build method ");
74+
verifyException(e, "#build(0 params)");
7475
verifyException(e, "has wrong return type");
7576
}
7677
}

0 commit comments

Comments
 (0)