Example usage for com.liferay.portal.kernel.io.unsync UnsyncStringWriter reset

List of usage examples for com.liferay.portal.kernel.io.unsync UnsyncStringWriter reset

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.io.unsync UnsyncStringWriter reset.

Prototype

public void reset() 

Source Link

Usage

From source file:com.liferay.portlet.journal.util.FreeMarkerTemplateParser.java

License:Open Source License

@Override
protected boolean mergeTemplate(TemplateContext templateContext, UnsyncStringWriter unsyncStringWriter)
        throws Exception {

    FreeMarkerContext freeMarkerContext = (FreeMarkerContext) templateContext;

    try {//from   ww w .  j  a  v a  2 s. c  o m
        return FreeMarkerEngineUtil.mergeTemplate(getTemplateId(), getScript(), freeMarkerContext,
                unsyncStringWriter);
    } catch (Exception e) {
        if (e instanceof ParseException || e instanceof TemplateException) {
            String errorTemplateId = getErrorTemplateId();
            String errorTemplateContent = getErrorTemplateContent();

            freeMarkerContext.put("exception", e.getMessage());
            freeMarkerContext.put("script", getScript());

            if (e instanceof ParseException) {
                ParseException pe = (ParseException) e;

                freeMarkerContext.put("column", pe.getColumnNumber());
                freeMarkerContext.put("line", pe.getLineNumber());
            }

            unsyncStringWriter.reset();

            return FreeMarkerEngineUtil.mergeTemplate(errorTemplateId, errorTemplateContent, freeMarkerContext,
                    unsyncStringWriter);
        } else {
            throw e;
        }
    }
}

From source file:com.liferay.portlet.journal.util.VelocityTemplateParser.java

License:Open Source License

@Override
protected boolean mergeTemplate(TemplateContext templateContext, UnsyncStringWriter unsyncStringWriter)
        throws Exception {

    VelocityContext velocityContext = (VelocityContext) templateContext;

    try {/*from w w  w .j  a v a2s.  com*/
        return VelocityEngineUtil.mergeTemplate(getTemplateId(), getScript(), velocityContext,
                unsyncStringWriter);
    } catch (VelocityException ve) {
        String errorTemplateId = getErrorTemplateId();
        String errorTemplateContent = getErrorTemplateContent();

        velocityContext.put("exception", ve.getMessage());
        velocityContext.put("script", getScript());

        if (ve instanceof ParseErrorException) {
            ParseErrorException pee = (ParseErrorException) ve;

            velocityContext.put("column", pee.getColumnNumber());
            velocityContext.put("line", pee.getLineNumber());
        }

        unsyncStringWriter.reset();

        return VelocityEngineUtil.mergeTemplate(errorTemplateId, errorTemplateContent, velocityContext,
                unsyncStringWriter);
    }
}

From source file:com.liferay.portlet.journal.util.XSLTemplateParser.java

License:Open Source License

@Override
protected boolean mergeTemplate(TemplateContext templateContext, UnsyncStringWriter unsyncStringWriter)
        throws Exception {

    StreamSource xmlSource = new StreamSource(new UnsyncStringReader(getXML()));

    XSLContext xslContext = (XSLContext) templateContext;

    Transformer transformer = xslContext.getTransformer();

    try {// w w  w.ja v a2s.c o m
        transformer.transform(xmlSource, new StreamResult(unsyncStringWriter));
    } catch (Exception e) {
        String errorTemplateContent = getErrorTemplateContent();

        XSLContext errorXSLContext = (XSLContext) _getTemplateContext(errorTemplateContent);

        populateTemplateContext(errorXSLContext);

        Transformer errorTransformer = errorXSLContext.getTransformer();

        XSLErrorListener xslErrorListener = _getXSLErrorListener();

        errorTransformer.setParameter("exception", xslErrorListener.getMessageAndLocation());
        errorTransformer.setParameter("script", getScript());

        if (xslErrorListener.getLocation() != null) {
            errorTransformer.setParameter("column", new Integer(xslErrorListener.getColumnNumber()));
            errorTransformer.setParameter("line", new Integer(xslErrorListener.getLineNumber()));
        }

        unsyncStringWriter.reset();

        errorTransformer.transform(xmlSource, new StreamResult(unsyncStringWriter));
    }

    return false;
}