diff options
author | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-07-08 13:42:56 -0700 |
---|---|---|
committer | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-07-08 13:42:56 -0700 |
commit | 0ea66a06a70cca0718d4d4dc5b66b1dab4405afb (patch) | |
tree | f32097978d325cd286bae371fe45c6b5187be718 /src | |
parent | 5e941f6f534b4a000fb93017734eb1f2e2a51703 (diff) | |
parent | eeac38b29b8bb011f1741fdd2253c71a7635a88c (diff) | |
download | jackson-databind-0ea66a06a70cca0718d4d4dc5b66b1dab4405afb.tar.gz |
Merge branch '2.10' into 2.11
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedFieldCollector.java | 2 | ||||
-rw-r--r-- | src/test/java/com/fasterxml/jackson/failing/EnumDeserialization2787Test.java | 42 |
2 files changed, 43 insertions, 1 deletions
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedFieldCollector.java b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedFieldCollector.java index 2c45507a9..d5403cc69 100644 --- a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedFieldCollector.java +++ b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedFieldCollector.java @@ -88,7 +88,7 @@ public class AnnotatedFieldCollector fields.put(f.getName(), b); } // And then... any mix-in overrides? - if (_mixInResolver != null) { + if ((fields != null) && (_mixInResolver != null)) { Class<?> mixin = _mixInResolver.findMixInClassFor(cls); if (mixin != null) { _addFieldMixIns(mixin, cls, fields); diff --git a/src/test/java/com/fasterxml/jackson/failing/EnumDeserialization2787Test.java b/src/test/java/com/fasterxml/jackson/failing/EnumDeserialization2787Test.java new file mode 100644 index 000000000..9ade19da0 --- /dev/null +++ b/src/test/java/com/fasterxml/jackson/failing/EnumDeserialization2787Test.java @@ -0,0 +1,42 @@ +package com.fasterxml.jackson.failing; + +import com.fasterxml.jackson.annotation.*; + +import com.fasterxml.jackson.databind.*; + +public class EnumDeserialization2787Test extends BaseMapTest +{ + // [databind#2787] + static enum SomeEnum2787 { + none, + tax10, + tax20 + } + + static enum SomeEnumMixin2787 { + @JsonProperty("zero") + none, + @JsonProperty("TypTyp") + tax10, + @JsonProperty("PytPyt") + tax20 + } + + /* + /********************************************************** + /* Test methods + /********************************************************** + */ + + protected final ObjectMapper MAPPER = newJsonMapper(); + + // [databind#2787] + public void testMixinOnEnumValues2787() throws Exception + { + ObjectMapper mapper = jsonMapperBuilder() + .addMixIn(SomeEnum2787.class, SomeEnumMixin2787.class) + .build(); + SomeEnum2787 result = mapper.readValue(quote("zero"), SomeEnum2787.class); + assertEquals(SomeEnum2787.none, result); + } +} |