Skip to content

Commit 40edd60

Browse files
committed
Merge branch '2.10' into 2.11
2 parents 4216a53 + dc09248 commit 40edd60

File tree

4 files changed

+18
-28
lines changed

4 files changed

+18
-28
lines changed

release-notes/CREDITS-2.x

+4
Original file line numberDiff line numberDiff line change
@@ -991,6 +991,10 @@ Johan Haleby (johanhaleby@github)
991991
in 2.10
992992
(2.10.1)
993993
994+
Richard Wise (Woodz@github)
995+
* Reported #2519: Serializing `BigDecimal` values inside containers ignores shape override
996+
(2.10.1)
997+
994998
Ville Koskela (vjkoskela@github)
995999
* Contributed #2487: BeanDeserializerBuilder Protected Factory Method for Extension
9961000
(2.11.0)

release-notes/VERSION-2.x

+2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ Project: jackson-databind
2727
(contributed by Marc M)
2828
#2513: BigDecimalAsStringSerializer in NumberSerializer throws IllegalStateException in 2.10
2929
(reported by Johan H)
30+
#2519: Serializing `BigDecimal` values inside containers ignores shape override
31+
(reported by Richard W)
3032

3133
2.10.0 (26-Sep-2019)
3234

src/main/java/com/fasterxml/jackson/databind/introspect/ConcreteBeanPropertyBase.java

+11-27
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,6 @@ public abstract class ConcreteBeanPropertyBase
2929
*/
3030
protected final PropertyMetadata _metadata;
3131

32-
/**
33-
* Lazily accessed value for per-property format override definition.
34-
*
35-
* @since 2.8
36-
*/
37-
protected transient JsonFormat.Value _propertyFormat;
38-
3932
/**
4033
* @since 2.9
4134
*/
@@ -47,7 +40,6 @@ protected ConcreteBeanPropertyBase(PropertyMetadata md) {
4740

4841
protected ConcreteBeanPropertyBase(ConcreteBeanPropertyBase src) {
4942
_metadata = src._metadata;
50-
_propertyFormat = src._propertyFormat;
5143
}
5244

5345
@Override
@@ -78,27 +70,19 @@ public final JsonFormat.Value findFormatOverrides(AnnotationIntrospector intr) {
7870
@Override
7971
public JsonFormat.Value findPropertyFormat(MapperConfig<?> config, Class<?> baseType)
8072
{
81-
// 15-Apr-2016, tatu: Let's calculate lazily, retain; assumption being however that
82-
// baseType is always the same
83-
JsonFormat.Value v = _propertyFormat;
84-
if (v == null) {
85-
JsonFormat.Value v1 = config.getDefaultPropertyFormat(baseType);
86-
JsonFormat.Value v2 = null;
87-
AnnotationIntrospector intr = config.getAnnotationIntrospector();
88-
if (intr != null) {
89-
AnnotatedMember member = getMember();
90-
if (member != null) {
91-
v2 = intr.findFormat(member);
92-
}
93-
}
94-
if (v1 == null) {
95-
v = (v2 == null) ? EMPTY_FORMAT : v2;
96-
} else {
97-
v = (v2 == null) ? v1 : v1.withOverrides(v2);
73+
JsonFormat.Value v1 = config.getDefaultPropertyFormat(baseType);
74+
JsonFormat.Value v2 = null;
75+
AnnotationIntrospector intr = config.getAnnotationIntrospector();
76+
if (intr != null) {
77+
AnnotatedMember member = getMember();
78+
if (member != null) {
79+
v2 = intr.findFormat(member);
9880
}
99-
_propertyFormat = v;
10081
}
101-
return v;
82+
if (v1 == null) {
83+
return (v2 == null) ? EMPTY_FORMAT : v2;
84+
}
85+
return (v2 == null) ? v1 : v1.withOverrides(v2);
10286
}
10387

10488
@Override

src/test/java/com/fasterxml/jackson/failing/BigDecimalAsString2519Test.java renamed to src/test/java/com/fasterxml/jackson/databind/ser/jdk/BigDecimalAsString2519Test.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.fasterxml.jackson.failing;
1+
package com.fasterxml.jackson.databind.ser.jdk;
22

33
import java.math.BigDecimal;
44
import java.util.*;

0 commit comments

Comments
 (0)