You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Java class 'models/Suite' uses the JAXB annotation @XmlCdata which instructs the unmarshaller to remove "CDATA" XML directives from XML elements before converting them to Java objects.
The @XmlCdata annotation is now obsolete and is causing compilation errors.
It will be necessary to use another method to remove 'CDATA' from XML elements, such as using the @XmlJavaTypeAdapter annotation, which allows specifying a home grown marshaller/unmarshaller class.
The text was updated successfully, but these errors were encountered:
The JAXB marshalling has been refactored to no longer use the '@XmlCdata' annotation. Instead, a '@XmlJavaTypeAdapter' annotation is used, so that CDATA blocks are added during marshalling and removed during unmarshalling.
The problem with JAXB annotations is that it is not possible to control the character escaping, so that during marshalling (java object -> xml), XML character escaping happens (e.g. '<' to '>'), which is not what we want for XML CDATA sections, and in our case, which hold source code for the quality check. To fix this, the entire document is XML 'unescaped' before outputting the quality report (e.g. to save to the db, to print to the screen during debugging).
The Java class 'models/Suite' uses the JAXB annotation
@XmlCdata
which instructs the unmarshaller to remove "CDATA" XML directives from XML elements before converting them to Java objects.The
@XmlCdata
annotation is now obsolete and is causing compilation errors.It will be necessary to use another method to remove 'CDATA' from XML elements, such as using the
@XmlJavaTypeAdapter
annotation, which allows specifying a home grown marshaller/unmarshaller class.The text was updated successfully, but these errors were encountered: