diff options
author | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-04-16 13:29:48 +0200 |
---|---|---|
committer | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-04-16 13:29:48 +0200 |
commit | ef9a86858a5e05b4dd9bff3992c477f49b0b20f2 (patch) | |
tree | b5ca028b9df5d1b2edd0ea3979cd82138475e1d5 /src/main/java/at/gv/egiz/moazs/Marshaller.java | |
parent | 5ee2fdd40732aa8eca29e89b14fa5238385868e8 (diff) | |
download | moa-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.java | 33 |
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)); + } +} |