Example usage for org.w3c.dom.ls DOMImplementationLS createLSSerializer

List of usage examples for org.w3c.dom.ls DOMImplementationLS createLSSerializer

Introduction

In this page you can find the example usage for org.w3c.dom.ls DOMImplementationLS createLSSerializer.

Prototype

public LSSerializer createLSSerializer();

Source Link

Document

Create a new LSSerializer object.

Usage

From source file:org.wso2.carbon.identity.sso.saml.ui.ErrorResponseBuilder.java

private static String marshall(XMLObject xmlObject) throws org.wso2.carbon.identity.base.IdentityException {
    try {//w w  w. j  a  v  a  2 s.c  o m
        System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
                "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");

        MarshallerFactory marshallerFactory = org.opensaml.xml.Configuration.getMarshallerFactory();
        Marshaller marshaller = marshallerFactory.getMarshaller(xmlObject);
        Element element = marshaller.marshall(xmlObject);

        ByteArrayOutputStream byteArrayOutputStrm = new ByteArrayOutputStream();
        DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
        DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
        LSSerializer writer = impl.createLSSerializer();
        LSOutput output = impl.createLSOutput();
        output.setByteStream(byteArrayOutputStrm);
        writer.write(element, output);
        return byteArrayOutputStrm.toString("UTF-8");
    } catch (Exception e) {
        log.error("Error Serializing the SAML Response");
        throw new IdentityException("Error Serializing the SAML Response", e);
    }
}

From source file:org.wso2.carbon.identity.sso.saml.util.SAMLSSOUtil.java

/**
 * Serialize the Auth. Request/*ww  w . ja  va 2s .  c o m*/
 *
 * @param xmlObject
 * @return serialized auth. req
 */
public static String marshall(XMLObject xmlObject) throws IdentityException {

    ByteArrayOutputStream byteArrayOutputStrm = null;
    try {
        doBootstrap();
        System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
                "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");

        MarshallerFactory marshallerFactory = org.opensaml.xml.Configuration.getMarshallerFactory();
        Marshaller marshaller = marshallerFactory.getMarshaller(xmlObject);
        Element element = marshaller.marshall(xmlObject);

        byteArrayOutputStrm = new ByteArrayOutputStream();
        DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
        DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
        LSSerializer writer = impl.createLSSerializer();
        LSOutput output = impl.createLSOutput();
        output.setByteStream(byteArrayOutputStrm);
        writer.write(element, output);
        return byteArrayOutputStrm.toString("UTF-8");
    } catch (Exception e) {
        log.error("Error Serializing the SAML Response");
        throw new IdentityException("Error Serializing the SAML Response", e);
    } finally {
        if (byteArrayOutputStrm != null) {
            try {
                byteArrayOutputStrm.close();
            } catch (IOException e) {
                log.error("Error while closing the stream", e);
            }
        }
    }
}

From source file:org.wso2.carbon.mediation.configadmin.util.XMLPrettyPrinter.java

/**
 * XML Pretty Print method with XML Comments support.
 *
 * @return XML formatted String//from  w  ww.  j ava2s .co m
 */
public String xmlFormatWithComments() {
    String xmlOutput = null;
    Document doc;
    LSSerializer lsSerializer;

    try {
        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
        doc = documentBuilderFactory.newDocumentBuilder().parse(in);

        DOMImplementationLS domImplementation = (DOMImplementationLS) doc.getImplementation();
        lsSerializer = domImplementation.createLSSerializer();
        lsSerializer.getDomConfig().setParameter("format-pretty-print", Boolean.TRUE);

        LSOutput lsOutput = domImplementation.createLSOutput();
        lsOutput.setEncoding(encoding);
        Writer stringWriter = new StringWriter();
        lsOutput.setCharacterStream(stringWriter);
        lsSerializer.write(doc, lsOutput);

        xmlOutput = stringWriter.toString();

    } catch (IOException e) {
        log.error("XML Pretty Printer Error reading data from given InputStream to XML Document ", e);
    } catch (SAXException e) {
        log.error("XML Pretty Printer Error parsing the given InputStream to XML Document", e);
    } catch (Exception e) {
        log.error("XML Pretty Printer failed. ", e);
    }
    return xmlOutput;
}

From source file:org.wso2.carbon.ndatasource.core.utils.DataSourceUtils.java

public static String elementToString(Element element) {
    try {/*from   w  w w .ja  v  a 2s. c  om*/
        if (element == null) {
            /* return an empty string because, the other way around works the same,
            where if we give a empty string as the XML, we get a null element
            from "stringToElement" */
            return "";
        }
        Document document = element.getOwnerDocument();
        DOMImplementationLS domImplLS = (DOMImplementationLS) document.getImplementation();
        LSSerializer serializer = domImplLS.createLSSerializer();
        //by default its true, so set it to false to get String without xml-declaration
        serializer.getDomConfig().setParameter(XML_DECLARATION, false);
        return serializer.writeToString(element);
    } catch (Exception e) {
        log.error("Error while convering element to string: " + e.getMessage(), e);
        return null;
    }
}

From source file:org.wso2.developerstudio.eclipse.security.project.ui.form.SecurityFormPage.java

/**
 * Gets the updated content of the source
 *
 * @return content//  ww w.  j  a v  a 2 s .  c o  m
 * @throws TransformerException
 */
public String getUpdatedContent()
        throws TransformerException, InstantiationException, IllegalAccessException, ClassNotFoundException {
    DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
    final DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
    final LSSerializer writer = impl.createLSSerializer();

    // Set this to true if the output needs to be beautified.
    writer.getDomConfig().setParameter("format-pretty-print", Boolean.TRUE);
    // Set this to true if the declaration is needed to be outputted.
    writer.getDomConfig().setParameter("xml-declaration", false);

    return writer.writeToString(policyFileDOMDocument);
}

From source file:org.wso2.identity.iml.dsl.mediators.SAMLResponseBuilder.java

private String marshall(XMLObject xmlObject) throws ConfigurationException {

    IMLUtils.doBootstrap();/*from  www  .jav  a2s . c om*/

    try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) {
        System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
                "org.apache.xerces.jaxp" + ".DocumentBuilderFactoryImpl");
        MarshallerFactory marshallerFactory = org.opensaml.xml.Configuration.getMarshallerFactory();
        Marshaller marshaller = marshallerFactory.getMarshaller(xmlObject);
        Element element = marshaller.marshall(xmlObject);

        DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
        DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");

        LSSerializer serializer = impl.createLSSerializer();
        LSOutput output = impl.createLSOutput();

        output.setByteStream(byteArrayOutputStream);
        serializer.write(element, output);

        return byteArrayOutputStream.toString(StandardCharsets.UTF_8.name());

    } catch (MarshallingException | IOException | ClassNotFoundException | InstantiationException
            | IllegalAccessException e) {
        //TODO Build SAML Error Resp and do proper logging
        log.error("Error while marshalling the SAML response", e);
        return null;
    }
}

From source file:org.wso2.identity.integration.common.clients.sso.saml.query.QueryClientUtils.java

/**
 * This method is used to serialize response message
 *
 * @param xmlObject well formed XML object
 * @return String serialized response//from  w w  w.  j ava2s  . co m
 */
public static String marshall(XMLObject xmlObject) {

    ByteArrayOutputStream byteArrayOutputStrm = null;
    try {
        doBootstrap();
        System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
                "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
        MarshallerFactory marshallerFactory = XMLObjectProviderRegistrySupport.getMarshallerFactory();
        Marshaller marshaller = marshallerFactory.getMarshaller(xmlObject);
        if (marshaller != null) {
            Element element = marshaller.marshall(xmlObject);
            byteArrayOutputStrm = new ByteArrayOutputStream();
            DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
            DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
            LSSerializer writer = impl.createLSSerializer();
            LSOutput output = impl.createLSOutput();
            output.setByteStream(byteArrayOutputStrm);
            writer.write(element, output);
            return byteArrayOutputStrm.toString("UTF-8");
        } else {
            log.error("Error can not find marshaller");
        }
    } catch (InstantiationException e) {
        log.error("Unable to initiate DOM implementation registry", e);
    } catch (MarshallingException e) {
        log.error("Unable to marshall element", e);
    } catch (IllegalAccessException e) {
        log.error("Illegal access on DOM registry ", e);
    } catch (UnsupportedEncodingException e) {
        log.error("Unsupported encoding scheme", e);
    } catch (ClassNotFoundException e) {
        log.error("Class not found", e);
    } finally {
        if (byteArrayOutputStrm != null) {
            try {
                byteArrayOutputStrm.close();
            } catch (IOException e) {
                log.error("Error while closing the stream", e);
            }
        }
    }

    return null;
}

From source file:org.wso2.is.saml.TestUtils.java

public static String marshall(XMLObject xmlObject) {

    ByteArrayOutputStream byteArrayOutputStrm = null;
    try {//from www  .  j  a  v a 2 s . c  o m
        doBootstrap();
        MarshallerFactory marshallerFactory = org.opensaml.xml.Configuration.getMarshallerFactory();
        Marshaller marshaller = marshallerFactory.getMarshaller(xmlObject);
        Element element = marshaller.marshall(xmlObject);

        byteArrayOutputStrm = new ByteArrayOutputStream();
        DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
        DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
        LSSerializer writer = impl.createLSSerializer();
        LSOutput output = impl.createLSOutput();
        output.setByteStream(byteArrayOutputStrm);
        writer.write(element, output);
        return byteArrayOutputStrm.toString(StandardCharsets.UTF_8.name());
    } catch (Exception e) {
        logger.error("Error while marshalling xml object", e);
    } finally {
        if (byteArrayOutputStrm != null) {
            try {
                byteArrayOutputStrm.close();
            } catch (IOException e) {
                logger.error("Error while closing byteArrayOutputStream", e);
            }
        }
    }
    return null;
}

From source file:org.xwiki.platform.patchservice.web.PatchServiceAction.java

private void outputXml(Document doc, XWikiResponse response) {
    response.setContentType("text/xml");
    DOMImplementationLS ls = (DOMImplementationLS) doc.getImplementation();
    try {//from  ww  w . j a  va2s  . com
        response.getWriter().write(ls.createLSSerializer().writeToString(doc));
    } catch (Exception e) {
    }
}

From source file:org.xwiki.platform.patchservice.web.PatchServiceServlet.java

private void outputXml(Document doc, XWikiResponse response) {
    response.setContentType("text/xml");
    DOMImplementationLS ls = (DOMImplementationLS) doc.getImplementation();
    try {// ww w.  j ava2  s. c  o  m
        LSOutput o = ls.createLSOutput();
        o.setByteStream(response.getOutputStream());
        ls.createLSSerializer().write(doc, o);
    } catch (Exception e) {
    }
}