Repect StaxDriver in XStreamMarshaller::marshalXmlStreamWriter

This commit makes sure that namespaces configured via the streamDriver
property are respected.
This commit is contained in:
qxo
2017-11-29 17:44:05 +08:00
committed by Arjen Poutsma
parent b67e97d388
commit e8eeb99ac8

View File

@@ -696,7 +696,13 @@ public class XStreamMarshaller extends AbstractMarshaller implements BeanClassLo
@Override
protected void marshalXmlStreamWriter(Object graph, XMLStreamWriter streamWriter) throws XmlMappingException {
try {
doMarshal(graph, new StaxWriter(new QNameMap(), streamWriter, this.nameCoder), null);
final StaxWriter writer;
if( streamDriver instanceof StaxDriver){
writer = ((StaxDriver)streamDriver).createStaxWriter(streamWriter);
}else{
writer = new StaxWriter( new QNameMap(),streamWriter, this.nameCoder);
}
doMarshal(graph,writer, null);
}
catch (XMLStreamException ex) {
throw convertXStreamException(ex, true);