Skip to content

Commit 9da8029

Browse files
committed
Merge branch '2.17' into 2.18
2 parents a4f6978 + afc3109 commit 9da8029

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

release-notes/VERSION-2.x

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ Project: jackson-dataformat-xml
99
- Remove unnecessary synchronization around `LRUMap` in `XmlRootNameLookup`
1010
(contributed by @pjfanning)
1111

12+
2.17.2 (not yet released)
13+
14+
#657: Nesting depth in `XmlReadContext` is not incremented/decremented on
15+
JsonToken.START_OBJECT/JsonToken.END_OBJECT
16+
(reported by @AlexUg)
17+
1218
2.17.1 (04-May-2024)
1319

1420
#646: Deserializing fails when using builder classes with `Iterable` Collection setters

src/main/java/com/fasterxml/jackson/dataformat/xml/deser/XmlReadContext.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ public XmlReadContext(XmlReadContext parent, int type, int lineNr, int colNr)
6666
_lineNr = lineNr;
6767
_columnNr = colNr;
6868
_index = -1;
69+
_nestingDepth = parent == null ? 0 : parent._nestingDepth + 1;
6970
}
7071

7172
protected final void reset(int type, int lineNr, int colNr)
@@ -77,6 +78,7 @@ protected final void reset(int type, int lineNr, int colNr)
7778
_currentName = null;
7879
_currentValue = null;
7980
_namesToWrap = null;
81+
// _nestingDepth fine as is, same level for reuse
8082
}
8183

8284
@Override

src/test/java/com/fasterxml/jackson/dataformat/xml/stream/XmlParserTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,19 @@ public void testSimplest() throws Exception
3030
// -> "{\"leaf\":\"abc\"}"
3131

3232
try (JsonParser p = _xmlMapper.createParser(XML)) {
33+
assertEquals(0, p.getParsingContext().getNestingDepth());
3334
assertToken(JsonToken.START_OBJECT, p.nextToken());
35+
assertEquals(1, p.getParsingContext().getNestingDepth());
3436
assertToken(JsonToken.FIELD_NAME, p.nextToken());
3537
assertEquals("leaf", p.currentName());
38+
assertEquals(1, p.getParsingContext().getNestingDepth());
3639
assertToken(JsonToken.VALUE_STRING, p.nextToken());
3740
assertEquals("abc", p.getText());
41+
assertEquals(1, p.getParsingContext().getNestingDepth());
3842
assertToken(JsonToken.END_OBJECT, p.nextToken());
43+
assertEquals(0, p.getParsingContext().getNestingDepth());
3944
assertNull(p.nextToken());
45+
assertEquals(0, p.getParsingContext().getNestingDepth());
4046
}
4147
}
4248

0 commit comments

Comments
 (0)