diff options
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/scheme')
-rw-r--r-- | src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java b/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java index 3c82419..83ace5c 100644 --- a/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java +++ b/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java @@ -7,6 +7,7 @@ import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import java.io.InputStream; import java.io.StringWriter; +import java.util.HashMap; /** * @author xerx593 @@ -16,8 +17,18 @@ public class Marshaller { private final Jaxb2Marshaller jaxbMarshaller; - public Marshaller(Jaxb2Marshaller marshaller) { - this.jaxbMarshaller = marshaller; + public Marshaller(boolean isMzs) { + this.jaxbMarshaller = new Jaxb2Marshaller(); + + jaxbMarshaller.setClassesToBeBound( + at.gv.zustellung.app2mzs.xsd.ObjectFactory.class, + at.gv.zustellung.app2mzs.xsd.persondata.ObjectFactory.class, + at.gv.zustellung.msg.xsd.ObjectFactory.class); + + var map = new HashMap<String, Object>(); + map.put(javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT, true); + map.put("com.sun.xml.bind.namespacePrefixMapper", new MoaZSPrefixMapper(isMzs)); + jaxbMarshaller.setMarshallerProperties(map); } public <T> String marshallXml(final T obj) { |