Attribute / element name collision (same local name, different namepace) cannot be configured during deserialization
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez par le test en échec dans com.fasterxml.jackson.dataformat.xml.failing.TestDeserialization, en particulier testAttrElementConflict et son appel à MAPPER.readValue. Reproduisez l’échec, suivez la manière dont l’attribut et l’élément nommés state sont résolus pendant la désérialisation, et considérez l’issue comme terminée lorsque le test passe avec stateAttr défini sur "stateAttr" et state défini sur "stateElement".
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
}
- Langage dominant
- Java
- Étoiles
- 636
- Forks
- 250
- Merge moyen
- 7 h 10 min
- PR mergées (30 j)
- 8
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de FasterXML/jackson-dataformat-xml
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
FasterXML/jackson-dataformat-xml#931 · 3 commentaires ·
-
XmlMapper with `FAIL_ON_UNKNOWN_PROPERTIES` fails on whitespace-only elementPeut-être pris @arimu1 l’a pris il y a 89 jours. Ouverteto-evaluate
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
-
3.x
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
FasterXML/jackson-dataformat-xml#787 · 1 commentaire ·
Toutes les issues de FasterXML/jackson-dataformat-xml
Issues similaires
-
Cleanup: restore the interrupt flag in AiFailureAnalyzerPeut-être pris @Rishankgupta08 l’a pris aujourd’hui. Ouvertegood first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
seleniumboot/selenium-boot#258 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
dense-analysis/ale#5181 ·
-
bug subsystem:agent-harness triage
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
ShaftHQ/SHAFT_ENGINE#8043 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
johanhaleby/occurrent#1505 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour