Using `@XmlAttribute` for property with non-scalar type prevents serialization as attribute for other properties
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con el reproductor Bug2.main y ejecuta los dos casos de serialización de XmlMapper mostrados en el issue. Rastrea cómo se gestionan las anotaciones JAXB @XmlAttribute para el campo Bean no escalar, luego verifica que el comportamiento para start, bean y end coincida con un resultado acordado explícitamente y añade una prueba de regresión si se identifica la ubicación de las pruebas del proyecto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Look at the last line of this class.
Incorrect using @XmlAttribute for a bean serialization breaks a serialization of other properties.
I excepted to see an error or bean value as an attribute value.
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
public class Bug2 {
@XmlRootElement(name = "bean")
public static class Bean {
}
@XmlRootElement(name = "root")
public static class Container {
@XmlAttribute(name = "start")
public String start;
@XmlAttribute(name = "bean")
public Bean bean;
@XmlAttribute(name = "end")
public String end;
}
public static void main(String[] args) throws JsonProcessingException {
XmlMapper xmlMapper = new XmlMapper();
xmlMapper.registerModule(new JaxbAnnotationModule());
xmlMapper.registerModule(new JacksonXmlModule());
Container container = new Container();
container.start = "!start";
container.end = "!end";
System.out.println(xmlMapper.writeValueAsString(container)); // print <root xmlns="" start="!start" end="!end"></root>
Bean bean = new Bean();
container.bean = bean;
System.out.println(xmlMapper.writeValueAsString(container)); // print <root xmlns="" start="!start"><bean></bean><end>!end</end></root>
}
}
- Lenguaje dominante
- Java
- Estrellas
- 636
- Forks
- 250
- Merge medio
- 7 h 10 min
- PR fusionados (30 d)
- 8
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de FasterXML/jackson-dataformat-xml
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
FasterXML/jackson-dataformat-xml#931 · 3 comentarios ·
-
XmlMapper with `FAIL_ON_UNKNOWN_PROPERTIES` fails on whitespace-only elementPosiblemente ocupada @arimu1 la tomó hace 89 días. Abiertoto-evaluate
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
3.x
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
FasterXML/jackson-dataformat-xml#787 · 1 comentario ·
Todos los issues de FasterXML/jackson-dataformat-xml
Issues similares
-
Cleanup: restore the interrupt flag in AiFailureAnalyzerPosiblemente ocupada @Rishankgupta08 la tomó hoy. Abiertogood first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
seleniumboot/selenium-boot#258 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
dense-analysis/ale#5181 ·
-
bug subsystem:agent-harness triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
ShaftHQ/SHAFT_ENGINE#8043 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
johanhaleby/occurrent#1505 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día