/** * Convert DOM Element into a fully built OMElement * @param element * @param buildAll if true, full OM tree is immediately built. if false, caller is responsible * for building the tree and closing the parser. * @return * @throws Exception */ public static OMElement toOM(Element element, boolean buildAll) throws Exception { Source source = new DOMSource(element); ByteArrayOutputStream baos = new ByteArrayOutputStream(); Result result = new StreamResult(baos); Transformer xformer = TransformerFactory.newInstance().newTransformer(); xformer.transform(source, result); ByteArrayInputStream is = new ByteArrayInputStream(baos.toByteArray()); OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(is); OMElement omElement = builder.getDocumentElement(); if (buildAll) { omElement.build(); builder.close(); } return omElement; }
/** * Close the builders. * * @param messageContext * @throws ServletException */ void closeStaxBuilder(MessageContext messageContext) throws ServletException { if (closeReader && messageContext != null) { try { SOAPEnvelope envelope = messageContext.getEnvelope(); if(envelope != null) { OMXMLParserWrapper builder = envelope.getBuilder(); if (builder != null) { builder.close(); } } } catch (Exception e) { log.debug(e.toString(), e); } } }
/** * Simple utility that takes an XMLStreamReader and writes it * to an XMLStreamWriter * @param reader * @param writer * @throws XMLStreamException */ public static void reader2writer(XMLStreamReader reader, XMLStreamWriter writer) throws XMLStreamException { OMXMLParserWrapper builder = OMXMLBuilderFactory.createStAXOMBuilder(reader); try { OMDocument omDocument = builder.getDocument(); Iterator it = omDocument.getChildren(); while (it.hasNext()) { OMNode omNode = (OMNode) it.next(); omNode.serializeAndConsume(writer); } } finally { builder.close(); } } }
/** * Converts a given inputstream to an OMNode * The reurned OMNode is fully built if buildAll is true. * If buildAll is false, the caller is responsible for closing the parser. * * @param inputStream * @param buildAll * @return OMNode * @throws javax.xml.stream.XMLStreamException * */ public static OMNode toOM(InputStream inputStream, boolean buildAll) throws XMLStreamException { OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(inputStream); OMNode omNode = builder.getDocumentElement(); if (buildAll) { omNode.build(); builder.close(); } return omNode; }
/** * Converts a given Reader to an OMNode. * The reurned OMNode is fully built if buildAll is true. * If buildAll is false, the caller is responsible for closing the parser. * * @param reader * @param buildAll * @return OMNode * @throws XMLStreamException */ public static OMNode toOM(Reader reader, boolean buildAll) throws XMLStreamException { OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(reader); OMNode omNode = builder.getDocumentElement(); if (buildAll) { omNode.build(); builder.close(); } return omNode; } }
/** * Converts a given inputstream to an OMNode * The reurned OMNode is fully built if buildAll is true. * If buildAll is false, the caller is responsible for closing the parser. * * @param inputStream * @param buildAll * @return OMNode * @throws javax.xml.stream.XMLStreamException * */ public static OMNode toOM(InputStream inputStream, boolean buildAll) throws XMLStreamException { OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(inputStream); OMNode omNode = builder.getDocumentElement(); if (buildAll) { omNode.build(); builder.close(); } return omNode; }
/** * Converts a given Reader to an OMNode. * The reurned OMNode is fully built if buildAll is true. * If buildAll is false, the caller is responsible for closing the parser. * * @param reader * @param buildAll * @return OMNode * @throws XMLStreamException */ public static OMNode toOM(Reader reader, boolean buildAll) throws XMLStreamException { OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(reader); OMNode omNode = builder.getDocumentElement(); if (buildAll) { omNode.build(); builder.close(); } return omNode; } }