package org.openhab.domain; import org.w3c.dom.Document; import org.xml.sax.SAXException; import java.io.ByteArrayInputStream; import java.io.IOException; import javax.inject.Inject; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; public class DocumentFactory implements IDocumentFactory { private final DocumentBuilderFactory mBuilderFactory; @Inject public DocumentFactory() { mBuilderFactory = DocumentBuilderFactory.newInstance(); } @Override public Document build(String responseBody) throws ParserConfigurationException, IOException, SAXException { final DocumentBuilder builder = mBuilderFactory.newDocumentBuilder(); if (responseBody != null) { return builder.parse(new ByteArrayInputStream(responseBody.getBytes())); } else return null; } }