Example usage for org.dom4j.io DocumentResult DocumentResult

List of usage examples for org.dom4j.io DocumentResult DocumentResult

Introduction

In this page you can find the example usage for org.dom4j.io DocumentResult DocumentResult.

Prototype

public DocumentResult() 

Source Link

Usage

From source file:org.mule.module.xml.transformer.AbstractXmlTransformer.java

License:Open Source License

/**
 * @param desiredClass Java class representing the desired format
 * @return Callback interface representing the desiredClass - or null if the
 *         return class isn't supported (or is null).
 *//*w w w.  ja va  2  s.  c  o  m*/
protected static ResultHolder getResultHolder(Class<?> desiredClass) {
    if (desiredClass == null) {
        return null;
    }
    if (byte[].class.equals(desiredClass) || InputStream.class.isAssignableFrom(desiredClass)) {
        return new ResultHolder() {
            ByteArrayOutputStream resultStream = new ByteArrayOutputStream();
            StreamResult result = new StreamResult(resultStream);

            public Result getResult() {
                return result;
            }

            public Object getResultObject() {
                return resultStream.toByteArray();
            }
        };
    } else if (String.class.equals(desiredClass)) {
        return new ResultHolder() {
            StringWriter writer = new StringWriter();
            StreamResult result = new StreamResult(writer);

            public Result getResult() {
                return result;
            }

            public Object getResultObject() {
                return writer.getBuffer().toString();
            }
        };
    } else if (org.w3c.dom.Document.class.isAssignableFrom(desiredClass)) {
        return new ResultHolder() {
            DOMResult result = new DOMResult();

            public Result getResult() {
                return result;
            }

            public Object getResultObject() {
                return result.getNode();
            }
        };
    } else if (org.dom4j.io.DocumentResult.class.isAssignableFrom(desiredClass)) {
        return new ResultHolder() {
            DocumentResult result = new DocumentResult();

            public Result getResult() {
                return result;
            }

            public Object getResultObject() {
                return result;
            }
        };
    } else if (org.dom4j.Document.class.isAssignableFrom(desiredClass)) {
        return new ResultHolder() {
            DocumentResult result = new DocumentResult();

            public Result getResult() {
                return result;
            }

            public Object getResultObject() {
                return result.getDocument();
            }
        };
    }

    return null;
}

From source file:org.sipfoundry.openfire.vcard.provider.RestInterface.java

License:Contributor Agreement License

public static Document styleDocument(Document document, InputStream stylesheet) throws Exception {

    // load the transformer using JAXP
    TransformerFactory factory = TransformerFactory.newInstance();
    Transformer transformer = factory.newTransformer(new StreamSource(stylesheet));

    // now lets style the given document
    DocumentSource source = new DocumentSource(document);
    DocumentResult result = new DocumentResult();
    transformer.transform(source, result);

    // return the transformed document
    Document transformedDoc = result.getDocument();
    return transformedDoc;
}

From source file:org.springframework.ws.server.endpoint.AbstractDom4jPayloadEndpoint.java

License:Apache License

@Override
public final Source invoke(Source request) throws Exception {
    Element requestElement = null;
    if (request != null) {
        DocumentResult dom4jResult = new DocumentResult();
        transform(request, dom4jResult);
        requestElement = dom4jResult.getDocument().getRootElement();
    }/*  ww w .  ja  v a  2  s  .  com*/
    Document responseDocument = DocumentHelper.createDocument();
    Element responseElement = invokeInternal(requestElement, responseDocument);
    return responseElement != null ? new DocumentSource(responseElement) : null;
}

From source file:org.springframework.ws.server.endpoint.AbstractDom4jPayloadEndpoint.java

License:Apache License

/**
 * Returns the payload element of the given source.
 *
 * <p>Default implementation checks whether the source is a {@link javax.xml.transform.dom.DOMSource}, and uses a
 * {@link org.dom4j.io.DOMReader} to create a JDOM {@link org.dom4j.Element}. In all other cases, or when
 * {@linkplain #setAlwaysTransform(boolean) alwaysTransform} is {@code true}, the source is transformed into a
 * {@link org.dom4j.io.DocumentResult}, which is more expensive. If the passed source is {@code null}, {@code
 * null} is returned.// www  . j a  v  a  2  s.c o m
 *
 * @param source the source to return the root element of; can be {@code null}
 * @return the document element
 * @throws javax.xml.transform.TransformerException
 *         in case of errors
 */
protected Element getDocumentElement(Source source) throws TransformerException {
    if (source == null) {
        return null;
    }
    if (!alwaysTransform && source instanceof DOMSource) {
        Node node = ((DOMSource) source).getNode();
        if (node.getNodeType() == Node.DOCUMENT_NODE) {
            DOMReader domReader = new DOMReader();
            Document document = domReader.read((org.w3c.dom.Document) node);
            return document.getRootElement();
        }
    }
    // we have no other option than to transform
    DocumentResult dom4jResult = new DocumentResult();
    transform(source, dom4jResult);
    return dom4jResult.getDocument().getRootElement();
}

From source file:org.springframework.ws.server.endpoint.adapter.method.dom.Dom4jPayloadMethodProcessor.java

License:Apache License

@Override
protected Element resolveRequestPayloadArgument(MethodParameter parameter, Source requestPayload)
        throws TransformerException {
    if (requestPayload instanceof DOMSource) {
        org.w3c.dom.Node node = ((DOMSource) requestPayload).getNode();
        if (node.getNodeType() == org.w3c.dom.Node.DOCUMENT_NODE) {
            DOMReader domReader = new DOMReader();
            Document document = domReader.read((org.w3c.dom.Document) node);
            return document.getRootElement();
        }//  w w  w .  j a va  2s.c o  m
    }
    // we have no other option than to transform
    DocumentResult dom4jResult = new DocumentResult();
    transform(requestPayload, dom4jResult);
    return dom4jResult.getDocument().getRootElement();
}