aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/Marshaller.java
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-04-16 13:29:48 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-04-16 13:29:48 +0200
commitef9a86858a5e05b4dd9bff3992c477f49b0b20f2 (patch)
treeb5ca028b9df5d1b2edd0ea3979cd82138475e1d5 /src/main/java/at/gv/egiz/moazs/Marshaller.java
parent5ee2fdd40732aa8eca29e89b14fa5238385868e8 (diff)
downloadmoa-zs-ef9a86858a5e05b4dd9bff3992c477f49b0b20f2.tar.gz
moa-zs-ef9a86858a5e05b4dd9bff3992c477f49b0b20f2.tar.bz2
moa-zs-ef9a86858a5e05b4dd9bff3992c477f49b0b20f2.zip
Add Getter for Repository + Refactor Marshalling
- mv MyMarshaller Marshaller - Remove jaxbcontext bean - Move Marshaller config to MarshallerConfig class
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/Marshaller.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/Marshaller.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/Marshaller.java b/src/main/java/at/gv/egiz/moazs/Marshaller.java
new file mode 100644
index 0000000..c126f03
--- /dev/null
+++ b/src/main/java/at/gv/egiz/moazs/Marshaller.java
@@ -0,0 +1,33 @@
+package at.gv.egiz.moazs;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.oxm.jaxb.Jaxb2Marshaller;
+import org.springframework.stereotype.Component;
+
+import javax.xml.transform.Result;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import java.io.InputStream;
+import java.io.StringWriter;
+
+/**
+ * @author xerx593
+ * Source: https://stackoverflow.com/questions/44676532/how-to-use-spring-to-marshal-and-unmarshal-xml
+ */
+@Component
+public class Marshaller {
+
+ @Autowired
+ private Jaxb2Marshaller marshaller;
+
+ public <T> String marshallXml(final T obj) {
+ StringWriter sw = new StringWriter();
+ Result result = new StreamResult(sw);
+ marshaller.marshal(obj, result);
+ return sw.toString();
+ }
+
+ public <T> T unmarshallXml(final InputStream xml) {
+ return (T) marshaller.unmarshal(new StreamSource(xml));
+ }
+}