aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/MyMarshaller.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/MyMarshaller.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/MyMarshaller.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/MyMarshaller.java b/src/main/java/at/gv/egiz/moazs/MyMarshaller.java
new file mode 100644
index 0000000..609a3c8
--- /dev/null
+++ b/src/main/java/at/gv/egiz/moazs/MyMarshaller.java
@@ -0,0 +1,51 @@
+package at.gv.egiz.moazs;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.xml.bind.*;
+import java.io.ByteArrayInputStream;
+import java.io.StringWriter;
+
+@Component
+public class MyMarshaller {
+
+// @Value("classpath:mzs/app2mzs.xsd")
+// private Resource mzsSchema;
+//
+// @Value("classpath:mzs/mzs_mypersondata_en.xsd")
+// private Resource mzsPersonSchema;
+//
+// @Value("classpath:zusemsg/zuse_p2.xsd")
+// private Resource msgSchema;
+//
+// @Value("classpath:zusemsg/zuse_mypersondata_en_p2.xsd")
+// private Resource msgPersonSchema;
+
+
+ @Autowired
+ private JAXBContext context;
+
+ public byte[] toBytes(JAXBElement element) {
+ try {
+ Marshaller marshaller = context.createMarshaller();
+ StringWriter sw = new StringWriter();
+ marshaller.marshal(element, sw);
+ return sw.toString().getBytes();
+ } catch (JAXBException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public JAXBElement toJAXBElement(byte[] bytes) {
+ try {
+ Unmarshaller unmarshaller = context.createUnmarshaller();
+
+ var stream = new ByteArrayInputStream(bytes);
+ return (JAXBElement) unmarshaller.unmarshal(stream);
+
+ } catch (JAXBException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}