Example usage for javax.xml.transform TransformerException getMessage

List of usage examples for javax.xml.transform TransformerException getMessage

Introduction

In this page you can find the example usage for javax.xml.transform TransformerException getMessage.

Prototype

public String getMessage() 

Source Link

Document

Returns the detail message string of this throwable.

Usage

From source file:org.pentaho.platform.util.xml.XmlHelper.java

/**
 * Use the transform specified by xslPath and xslName and transform the document specified by docInStrm, and
 * return the resulting document./*from ww  w  .j a v a  2  s  .  co  m*/
 * 
 * @param xslSrc
 *          StreamSrc containing the xsl transform
 * @param docSrc
 *          StreamSrc containing the document to be transformed
 * @param params
 *          Map of properties to set on the transform
 * @param session
 *          IPentahoSession containing a URIResolver instance to resolve URI's in the output document.
 * 
 * @return StringBuffer containing the XML results of the transform. Null if there was an error.
 * @throws TransformerException
 *           If attempt to transform the document fails.
 */
@SuppressWarnings({ "unchecked" })
public static final StringBuffer transformXml(final String xslName, final String xslPath,
        final InputStream docInStrm, Map params, final IDocumentResourceLoader loader)
        throws TransformerException {
    StringBuffer result = null;

    InputStream xslInStrm = XmlHelper.getLocalizedXsl(xslPath, xslName, loader);
    if (null == xslInStrm) {
        Logger.error(XmlHelper.class.getName(),
                Messages.getInstance().getErrorString("XmlHelper.ERROR_0003_NULL_XSL_SOURCE")); //$NON-NLS-1$
    } else if (null == docInStrm) {
        Logger.error(XmlHelper.class.getName(),
                Messages.getInstance().getErrorString("XmlHelper.ERROR_0004_NULL_DOCUMENT")); //$NON-NLS-1$
    } else {

        // at this point, we have both of our InputStreams

        // Add encoding for any xsl that may set/use it
        if (params == null) {
            params = new HashMap();
        }
        params.put("output-encoding", LocaleHelper.getSystemEncoding()); //$NON-NLS-1$

        try {
            result = XmlHelper.transformXml(xslInStrm, docInStrm, params, loader);
        } catch (TransformerException e) {
            Logger.error(XmlHelper.class.getName(), Messages.getInstance()
                    .getErrorString("XmlHelper.ERROR_0006_TRANSFORM_XML_ERROR", e.getMessage(), xslName), e); //$NON-NLS-1$
            throw e;
        } finally {
            FileHelper.closeInputStream(xslInStrm);
        }
    }
    return result;
}

From source file:org.plasma.provisioning.xsd.AbstractAssembler.java

protected String serializeElement(ElementNSImpl nsElem) {
    String result = "";
    TransformerFactory transFactory = TransformerFactory.newInstance();
    log.debug("transformer factory: " + transFactory.getClass().getName());
    //transFactory.setAttribute("indent-number", 2);
    Transformer idTransform = null;
    ByteArrayOutputStream stream = null;
    try {/*from  w ww . j  av  a  2 s .  c  o m*/
        idTransform = transFactory.newTransformer();
        idTransform.setOutputProperty(OutputKeys.METHOD, "xml");
        idTransform.setOutputProperty(OutputKeys.INDENT, "yes");
        idTransform.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
        Source input = new DOMSource(nsElem.getOwnerDocument());
        stream = new ByteArrayOutputStream();
        Result output = new StreamResult(stream);
        idTransform.transform(input, output);
        stream.flush();
        result = new String(stream.toByteArray());
        return result;
    } catch (TransformerConfigurationException e1) {
        log.error(e1.getMessage(), e1);
    } catch (TransformerException e) {
        log.error(e.getMessage(), e);
    } catch (IOException e) {
        log.error(e.getMessage(), e);
    } finally {
        if (stream != null)
            try {
                stream.close();
            } catch (Throwable t) {
            }

    }
    return result;
}

From source file:org.plasma.provisioning.xsd.ConverterSupport.java

public String serializeElement(ElementNSImpl nsElem) {
    String result = "";
    TransformerFactory transFactory = TransformerFactory.newInstance();
    log.debug("transformer factory: " + transFactory.getClass().getName());
    //transFactory.setAttribute("indent-number", 2);
    Transformer idTransform = null;
    ByteArrayOutputStream stream = null;
    try {//from   w w w  . ja  v  a  2  s . co m
        idTransform = transFactory.newTransformer();
        idTransform.setOutputProperty(OutputKeys.METHOD, "xml");
        idTransform.setOutputProperty(OutputKeys.INDENT, "yes");
        idTransform.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
        Source input = new DOMSource(nsElem.getOwnerDocument());
        stream = new ByteArrayOutputStream();
        Result output = new StreamResult(stream);
        idTransform.transform(input, output);
        stream.flush();
        result = new String(stream.toByteArray());
        return result;
    } catch (TransformerConfigurationException e1) {
        log.error(e1.getMessage(), e1);
    } catch (TransformerException e) {
        log.error(e.getMessage(), e);
    } catch (IOException e) {
        log.error(e.getMessage(), e);
    } finally {
        if (stream != null)
            try {
                stream.close();
            } catch (Throwable t) {
            }

    }
    return result;
}

From source file:org.sakaibrary.xserver.XMLTransform.java

public ByteArrayOutputStream transform() {
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

    try {/*  w w w  . j  a va 2 s. co  m*/
        InputStream stylesheet = this.getClass().getResourceAsStream(xslFileName);

        DocumentBuilder builder = factory.newDocumentBuilder();
        document = builder.parse(new ByteArrayInputStream(xml.toByteArray()));

        // Use a Transformer for output
        TransformerFactory tFactory = TransformerFactory.newInstance();
        StreamSource stylesource = new StreamSource(stylesheet);
        Transformer transformer = tFactory.newTransformer(stylesource);

        transformedXml = new ByteArrayOutputStream();
        StreamResult result = new StreamResult(transformedXml);

        DOMSource source = new DOMSource(document);

        transformer.transform(source, result);
    } catch (TransformerConfigurationException tce) {
        // Error generated by the parser
        LOG.warn("XMLTransform.transform() - TransformerFactory error: " + tce.getMessage());
    } catch (TransformerException te) {
        // Error generated by the parser
        LOG.warn("XMLTransform.transform() - Transformation error: " + te.getMessage());
    } catch (SAXException sxe) {
        // Error generated by this application
        // (or a parser-initialization error)
        Exception x = sxe;

        if (sxe.getException() != null) {
            x = sxe.getException();
        }

        LOG.warn("XMLTransform.transform() SAX exception: " + sxe.getMessage(), x);
    } catch (ParserConfigurationException pce) {
        // Parser with specified options can't be built
        LOG.warn("XMLTransform.transform() SAX parser cannot be built with " + "specified options");
    } catch (IOException ioe) {
        // I/O error
        LOG.warn("XMLCleanup.cleanup() IO exception", ioe);
    }

    return transformedXml;
}

From source file:org.sakaiproject.tool.assessment.qti.util.XmlUtil.java

/**
 * Do XSLT transform.//from www  .j  a v a2 s  .c  o m
 *
 * @param transformer the transsformer
 * @param source the source
 * @param result the result
 */
private static void transform(Transformer transformer, Source source, Result result) {
    if (log.isDebugEnabled()) {
        log.debug("performTransform(Transformer " + transformer + ", Source" + source + ", Result " + result
                + ")");
    }

    try {
        transformer.transform(source, result);
    } catch (TransformerException e) {
        log.error(e.getMessage(), e);
    }
}

From source file:org.sakaiproject.tool.help.RestContentProvider.java

/**
 * Apply transform//ww  w . java 2 s.com
 * @param transformer
 * @param source
 * @param result
 */
private static void transform(Transformer transformer, Source source, Result result) {
    if (LOG.isDebugEnabled()) {
        LOG.debug("transform(Transformer " + transformer + ", Source" + source + ", Result " + result + ")");
    }

    try {
        transformer.transform(source, result);
    } catch (TransformerException e) {
        LOG.error(e.getMessage(), e);
    }
}

From source file:org.springframework.ws.client.core.WebServiceTemplate.java

/**
 * Sends and receives a {@link MessageContext}. Sends the {@link MessageContext#getRequest() request message}, and
 * received to the {@link MessageContext#getResponse() repsonse message}. Invocates the defined {@link
 * #setInterceptors(ClientInterceptor[]) interceptors} as part of the process.
 *
 * @param messageContext    the message context
 * @param connection        the connection to use
 * @param requestCallback   the requestCallback to be used for manipulating the request message
 * @param responseExtractor object that will extract results
 * @return an arbitrary result object, as returned by the <code>WebServiceMessageExtractor</code>
 * @throws WebServiceClientException if there is a problem sending or receiving the message
 * @throws IOException               in case of I/O errors
 *//* ww  w  .  j a  v  a  2  s  . c om*/
@SuppressWarnings("unchecked")
protected <T> T doSendAndReceive(MessageContext messageContext, WebServiceConnection connection,
        WebServiceMessageCallback requestCallback, WebServiceMessageExtractor<T> responseExtractor)
        throws IOException {
    try {
        if (requestCallback != null) {
            requestCallback.doWithMessage(messageContext.getRequest());
        }
        // Apply handleRequest of registered interceptors
        int interceptorIndex = -1;
        if (interceptors != null) {
            for (int i = 0; i < interceptors.length; i++) {
                interceptorIndex = i;
                if (!interceptors[i].handleRequest(messageContext)) {
                    break;
                }
            }
        }
        // if an interceptor has set a response, we don't send/receive
        if (!messageContext.hasResponse()) {
            sendRequest(connection, messageContext.getRequest());
            if (hasError(connection, messageContext.getRequest())) {
                return (T) handleError(connection, messageContext.getRequest());
            }
            WebServiceMessage response = connection.receive(getMessageFactory());
            messageContext.setResponse(response);
        }
        logResponse(messageContext);
        if (messageContext.hasResponse()) {
            if (!hasFault(connection, messageContext.getResponse())) {
                triggerHandleResponse(interceptorIndex, messageContext);
                return responseExtractor.extractData(messageContext.getResponse());
            } else {
                triggerHandleFault(interceptorIndex, messageContext);
                return (T) handleFault(connection, messageContext);
            }
        } else {
            return null;
        }
    } catch (TransformerException ex) {
        throw new WebServiceTransformerException("Transformation error: " + ex.getMessage(), ex);
    }
}

From source file:org.wso2.carbon.registry.core.jdbc.handlers.XSLTBasedUIEnabledHandler.java

public Resource getBrowseView(String viewKey, RequestContext requestContext) throws RegistryException {

    String xslt = browseXSLTs.get(viewKey);
    if (xslt == null) {
        String msg = "Unsupported browse view: " + viewKey + ". XSLT is not registered for this view.";
        log.error(msg);/* www .  ja va2s . c  om*/
        throw new RegistryException(msg);
    }
    Transformer viewTransformer = getTransformer(xslt);

    ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
    Resource resource = requestContext.getRegistry().get(requestContext.getResourcePath().getPath());

    try {
        viewTransformer.setParameter("resourcePath", requestContext.getResourcePath().toString());
        viewTransformer.transform(new StreamSource(resource.getContentStream()), new StreamResult(byteOut));

    } catch (TransformerException e) {
        String msg = "Failed to generate the view UI for resource " + requestContext.getResourcePath()
                + ". XSLT transformation failed for XSLT " + xslt + ". " + e.getMessage();
        log.error(msg, e);
        throw new RegistryException(msg, e);
    }

    String content = byteOut.toString();
    resource.setContent(content);

    return resource;
}

From source file:org.wso2.carbon.registry.core.jdbc.handlers.XSLTBasedUIEnabledHandler.java

public Resource getEditView(String editViewKey, RequestContext requestContext) throws RegistryException {

    String xslt = editXSLTs.get(editViewKey);
    if (xslt == null) {
        String msg = "Unsupported edit view: " + editViewKey + ". XSLT is not registered for this view.";
        log.error(msg);//from  w w w  . j a  va2s . c  o  m
        throw new RegistryException(msg);
    }
    Transformer viewTransformer = getTransformer(xslt);

    if (viewTransformer == null) {
        return getRawResource(requestContext);
    }

    ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
    Resource resource = requestContext.getRegistry().get(requestContext.getResourcePath().getPath());

    try {
        viewTransformer.setParameter("resourcePath", requestContext.getResourcePath().getPath());
        viewTransformer.transform(new StreamSource(resource.getContentStream()), new StreamResult(byteOut));

    } catch (TransformerException e) {
        String msg = "Failed to generate the edit UI for resource " + requestContext.getResourcePath()
                + ". XSLT transformation failed for XSLT " + xslt + ". " + e.getMessage();
        log.error(msg, e);
        throw new RegistryException(msg, e);
    }

    String content = byteOut.toString();
    resource.setContent(content);

    return resource;
}

From source file:org.wso2.carbon.wsdl2form.Util.java

/**
 * Transform based on parameters/*from  w  w  w. java 2 s. c o m*/
 *
 * @param xmlIn    XML
 * @param xslIn    XSL
 * @param result   Result
 * @param paramMap Parameter map
 * @throws javax.xml.transform.TransformerException
 *          will be thrown
 */
public static void transform(Source xmlIn, Source xslIn, Result result, Map paramMap)
        throws TransformerException {
    try {
        TransformerFactory transformerFactory = new TransformerFactoryImpl();
        Transformer transformer = transformerFactory.newTransformer(xslIn);
        if (paramMap != null) {
            Set set = paramMap.keySet();
            for (Object aSet : set) {
                if (aSet != null) {
                    String key = (String) aSet;
                    String value = (String) paramMap.get(key);
                    transformer.setParameter(key, value);
                }
            }
        }
        transformer.transform(xmlIn, result);
    } catch (TransformerException e) {
        log.error(e.getMessage(), e);
        throw e;
    }
}