Attribute / element name collision (same local name, different namepace) cannot be configured during deserialization
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 45/100
Rechercherichtung
Beginne mit dem fehlschlagenden Test in com.fasterxml.jackson.dataformat.xml.failing.TestDeserialization, insbesondere mit testAttrElementConflict und seinem MAPPER.readValue-Aufruf. Reproduziere den Fehler, verfolge, wie das Attribut und das Element mit dem Namen state während der Deserialisierung aufgelöst werden, und betrachte das Issue als erledigt, wenn der Test mit stateAttr auf "stateAttr" und state auf "stateElement" gesetzt erfolgreich ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
If an element has an attribute and sub-element with the same name, the attribute seems to be ignored and the element value used, despite collision resolving configuration with @JacksonXmlProperty(localName="state", isAttribute=true) (for colliding name state). Here is concrete example
static class TwoStates {
@JacksonXmlProperty(localName="state", isAttribute=true)
public String stateAttr = "NOT SET";
public String state = "NOT SET";
}
The following input should deserialize the appropriate distinct values into the appropriate distinct fields:
<Wrapper state='stateAttr'><state>stateElement</state></Wrapper>
Here is a failing test snippet for com.fasterxml.jackson.dataformat.xml.failing.TestDeserialization
private static class TwoStates
{
@JacksonXmlProperty(localName="state", isAttribute=true)
public String stateAttr = "NOT SET";
public String state = "NOT SET";
@Override public String toString() { return "TwoStates: stateAttr: " + stateAttr + " state: " + state; }
}
public void testAttrElementConflict() throws Exception
{
TwoStates ob = MAPPER.readValue("<Wrapper state='stateAttr'><state>stateElement</state></Wrapper>",
TwoStates.class);
assertNotNull(ob);
System.err.println("ob: " + ob);
assertEquals("stateElement", ob.state);
assertEquals("stateAttr", ob.stateAttr); // attribute stateAttr is ignored so this fails
}
- Vorherrschende Sprache
- Java
- Sterne
- 636
- Forks
- 250
- Ø Merge
- 7 Std. 10 Min.
- Gemergte PRs (30 T.)
- 8
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus FasterXML/jackson-dataformat-xml
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
FasterXML/jackson-dataformat-xml#931 · 3 Kommentare ·
-
XmlMapper with `FAIL_ON_UNKNOWN_PROPERTIES` fails on whitespace-only elementEvtl. vergeben @arimu1 hat das vor 89 Tagen übernommen. Offento-evaluate
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
-
3.x
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
FasterXML/jackson-dataformat-xml#787 · 1 Kommentar ·
Alle Issues in FasterXML/jackson-dataformat-xml
Ähnliche Issues
-
Cleanup: restore the interrupt flag in AiFailureAnalyzerEvtl. vergeben @Rishankgupta08 hat das heute übernommen. Offengood first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
seleniumboot/selenium-boot#258 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
dense-analysis/ale#5181 ·
-
bug subsystem:agent-harness triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
ShaftHQ/SHAFT_ENGINE#8043 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
johanhaleby/occurrent#1505 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag