Skip to content

Commit 872a6d2

Browse files
authored
Fix #793: call _assignGenerator (#794)
1 parent 5fc92b4 commit 872a6d2

File tree

4 files changed

+33
-4
lines changed

4 files changed

+33
-4
lines changed

release-notes/CREDITS

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,15 @@ Morten Olav Hansen (mortenoh@github)
1010
* Reported #25: `ACCEPT_EMPTY_STRING_AS_NULL_OBJECT` not honored in xml module
1111
for attributes
1212
(3.0.0)
13+
14+
Ghenadii Batalski (@ghenadiibatalski)
15+
16+
* Reported #793: `XmlSerializationContext`: NPE _writeCapabilities not set for
17+
`SerializationContext`
18+
(3.0.4)
19+
20+
PJ Fanning (@pjfanning)
21+
22+
* Fixed #793: `XmlSerializationContext`: NPE _writeCapabilities not set for
23+
`SerializationContext`
24+
(3.0.4)

release-notes/VERSION

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ Version: 3.x (for earlier see VERSION-2.x)
55
=== Releases ===
66
------------------------------------------------------------------------
77

8+
3.0.4 (not yet released)
9+
10+
#793: `XmlSerializationContext`: NPE _writeCapabilities not set for
11+
`SerializationContext`
12+
(reported by Ghenadii B)
13+
(fix by @pjfanning)
14+
815
3.0.3 (28-Nov-2025)
916

1017
No changes since 3.0.2

src/main/java/tools/jackson/dataformat/xml/ser/XmlSerializationContext.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public XmlSerializationContext(TokenStreamFactory streamFactory,
4949
@Override
5050
public void serializeValue(JsonGenerator gen, Object value) throws JacksonException
5151
{
52-
_generator = gen;
52+
_assignGenerator(gen);
5353
if (value == null) {
5454
_serializeXmlNull(gen);
5555
return;
@@ -101,7 +101,7 @@ public void serializeValue(JsonGenerator gen, Object value, JavaType rootType) t
101101
public void serializeValue(JsonGenerator gen, Object value, JavaType rootType,
102102
ValueSerializer<Object> ser) throws JacksonException
103103
{
104-
_generator = gen;
104+
_assignGenerator(gen);
105105
if (value == null) {
106106
_serializeXmlNull(gen);
107107
return;
@@ -155,7 +155,7 @@ public void serializePolymorphic(JsonGenerator gen, Object value, JavaType rootT
155155
ValueSerializer<Object> valueSer, TypeSerializer typeSer)
156156
throws JacksonException
157157
{
158-
_generator = gen;
158+
_assignGenerator(gen);
159159
if (value == null) {
160160
_serializeXmlNull(gen);
161161
return;

src/test/java/tools/jackson/dataformat/xml/ser/TestSerialization.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.LinkedHashMap;
44
import java.util.Map;
5+
import java.util.UUID;
56

67
import org.junit.jupiter.api.Test;
78

@@ -146,7 +147,7 @@ public void testMap() throws Exception
146147
map.put("b", 2);
147148

148149
String xml;
149-
150+
150151
xml = _xmlMapper.writeValueAsString(new WrapperBean<Map<?,?>>(map));
151152
assertEquals("<WrapperBean><value>"
152153
+"<a>1</a>"
@@ -270,4 +271,13 @@ private void checkDoubleInfinity(Doubles original, boolean xmlSchemaConforming,
270271
assertEquals(original.attr, deserialized.attr);
271272
assertEquals(original.elem, deserialized.elem);
272273
}
274+
275+
@Test
276+
public void uuidSerializability() throws Exception
277+
{
278+
String uuidStr = "6D416BE5-7EA9-4981-897C-32C57226205E".toLowerCase();
279+
String xml = _xmlMapper.writeValueAsString(new WrapperBean<UUID>(
280+
UUID.fromString(uuidStr))).trim();
281+
assertEquals("<WrapperBean><value>"+uuidStr+"</value></WrapperBean>", xml);
282+
}
273283
}

0 commit comments

Comments
 (0)