From 161dd31d99d33bf14c76dbe944be67c1a09322e7 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Sat, 22 Jun 2024 15:38:41 -0700 Subject: [PATCH] Fix #4595: PropertyName.merge() not considering PropertyName.NO_NAME --- release-notes/VERSION-2.x | 2 ++ .../java/com/fasterxml/jackson/databind/PropertyName.java | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/release-notes/VERSION-2.x b/release-notes/VERSION-2.x index ffb34165e8..997a989c5f 100644 --- a/release-notes/VERSION-2.x +++ b/release-notes/VERSION-2.x @@ -16,6 +16,8 @@ Project: jackson-databind #4577: Cannot deserialize value of type `java.math.BigDecimal` from String "3." (not a valid representation) (reported by @dmelisso) +#4595: No way to explicitly disable wrapping in custom annotation processor + (reported by @SimonCockx) 2.17.1 (04-May-2024) diff --git a/src/main/java/com/fasterxml/jackson/databind/PropertyName.java b/src/main/java/com/fasterxml/jackson/databind/PropertyName.java index 6a92bc260a..e514f6d20c 100644 --- a/src/main/java/com/fasterxml/jackson/databind/PropertyName.java +++ b/src/main/java/com/fasterxml/jackson/databind/PropertyName.java @@ -82,6 +82,9 @@ protected Object readResolve() { return NO_NAME; } */ + // 22-Jun-2024, tatu: This is hopeful not problematic as marker + // value should only be provided by AnnotationIntrospector etc, + // but not stored in Deserializer/Serializer instances. } return this; } @@ -127,6 +130,10 @@ public static PropertyName merge(PropertyName name1, PropertyName name2) { if (name2 == null) { return name1; } + // 22-Jun-2024, tatu: [databind#4595] Should not merge NO_NAME + if (name1 == NO_NAME) { + return name1; + } String ns = _nonEmpty(name1._namespace, name2._namespace); String simple = _nonEmpty(name1._simpleName, name2._simpleName);