Skip to content

Commit 1819c14

Browse files
committed
Backport #233 fix, update release notes
1 parent 6586006 commit 1819c14

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

release-notes/VERSION

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ Project: jackson-dataformat-xml
1010

1111
#228: `XmlReadContext` should hold current value
1212
(suggested by kfypmqqw@github)
13+
#233: XmlMapper.copy() doesn't properly copy internal configurations
14+
(reported by gtrog@github)
1315

1416
2.8.8 (05-Apr-2017)
1517
2.8.7 (21-Feb-2017)

src/main/java/com/fasterxml/jackson/dataformat/xml/XmlMapper.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,19 @@ public XmlMapper(XmlFactory xmlFactory, JacksonXmlModule module)
8686
_serializationConfig = _serializationConfig.withDefaultPrettyPrinter(DEFAULT_XML_PRETTY_PRINTER);
8787
}
8888

89+
/**
90+
* @since 2.8.9
91+
*/
92+
protected XmlMapper(XmlMapper mapper) {
93+
super(mapper);
94+
this._xmlModule = mapper._xmlModule;
95+
}
96+
8997
@Override
9098
public XmlMapper copy()
9199
{
92100
_checkInvalidCopy(XmlMapper.class);
93-
return new XmlMapper((XmlFactory) _jsonFactory.copy(), _xmlModule);
101+
return new XmlMapper(this);
94102
}
95103

96104
@Override

src/main/java/com/fasterxml/jackson/dataformat/xml/ser/XmlSerializerProvider.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,25 @@ public XmlSerializerProvider(XmlSerializerProvider src,
4949
_rootNameLookup = src._rootNameLookup;
5050
}
5151

52+
/**
53+
* @since 2.8.9
54+
*/
55+
protected XmlSerializerProvider(XmlSerializerProvider toCopy) {
56+
super(toCopy);
57+
this._rootNameLookup = toCopy._rootNameLookup;
58+
}
59+
5260
/*
5361
/**********************************************************************
5462
/* Overridden methods
5563
/**********************************************************************
5664
*/
5765

66+
@Override
67+
public DefaultSerializerProvider copy() {
68+
return new XmlSerializerProvider(this);
69+
}
70+
5871
@Override
5972
public DefaultSerializerProvider createInstance(SerializationConfig config,
6073
SerializerFactory jsf) {

0 commit comments

Comments
 (0)