package lifting.conversion; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStream; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.TransformerFactoryConfigurationError; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.jdom2.Document; import org.jdom2.input.SAXBuilder; import org.jdom2.transform.JDOMSource; public class StreamConversionImp implements StreamConversion { @Override public Document stream2Doc(InputStream input) { SAXBuilder sxb = new SAXBuilder(); Document document=null; try { document = sxb.build(input); } catch (Exception e) { e.printStackTrace(); } return document; } @Override public InputStream doc2Stream(Document doc) { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); Source xmlSource = new JDOMSource(doc); Result outputTarget = new StreamResult(outputStream); try { TransformerFactory.newInstance().newTransformer() .transform(xmlSource, outputTarget); } catch (TransformerException | TransformerFactoryConfigurationError e) { // TODO Auto-generated catch block e.printStackTrace(); } InputStream is = new ByteArrayInputStream(outputStream.toByteArray()); return is; } }