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

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

Introduction

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

Prototype

public StringBundler getStringBundler() 

Source Link

Usage

From source file:com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.java

License:Open Source License

public void processTemplate(ServletContext servletContext, HttpServletRequest request,
        HttpServletResponse response, PageContext pageContext, JspWriter jspWriter, String portletId,
        String velocityTemplateId, String velocityTemplateContent) throws Exception {

    if (Validator.isNull(velocityTemplateContent)) {
        return;//from ww  w  . j a  va  2s .c  o m
    }

    TemplateProcessor processor = new TemplateProcessor(servletContext, request, response, portletId);

    VelocityContext velocityContext = VelocityEngineUtil.getWrappedStandardToolsContext();

    velocityContext.put("processor", processor);

    // Velocity variables

    VelocityVariablesUtil.insertVariables(velocityContext, request);

    // liferay:include tag library

    UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter();

    MethodHandler methodHandler = new MethodHandler(_initMethodKey, servletContext, request,
            new PipingServletResponse(response, unsyncStringWriter), pageContext);

    Object velocityTaglib = methodHandler.invoke(true);

    velocityContext.put("taglibLiferay", velocityTaglib);
    velocityContext.put("theme", velocityTaglib);

    try {
        VelocityEngineUtil.mergeTemplate(velocityTemplateId, velocityTemplateContent, velocityContext,
                unsyncStringWriter);
    } catch (Exception e) {
        _log.error(e, e);

        throw e;
    }

    String output = unsyncStringWriter.toString();

    Map<Portlet, Object[]> portletsMap = processor.getPortletsMap();

    Map<String, StringBundler> contentsMap = new HashMap<String, StringBundler>(portletsMap.size());

    for (Map.Entry<Portlet, Object[]> entry : portletsMap.entrySet()) {
        Portlet portlet = entry.getKey();
        Object[] value = entry.getValue();

        String queryString = (String) value[0];
        String columnId = (String) value[1];
        Integer columnPos = (Integer) value[2];
        Integer columnCount = (Integer) value[3];

        UnsyncStringWriter portletUnsyncStringWriter = new UnsyncStringWriter();

        PipingServletResponse pipingServletResponse = new PipingServletResponse(response,
                portletUnsyncStringWriter);

        processPortlet(servletContext, request, pipingServletResponse, portlet, queryString, columnId,
                columnPos, columnCount, null, true);

        contentsMap.put(portlet.getPortletId(), portletUnsyncStringWriter.getStringBundler());
    }

    StringBundler sb = StringUtil.replaceWithStringBundler(output, "[$TEMPLATE_PORTLET_", "$]", contentsMap);

    sb.writeTo(jspWriter);
}

From source file:com.liferay.taglib.theme.WrapPortletTag.java

License:Open Source License

public static String doTag(String wrapPage, String portletPage, ServletContext servletContext,
        HttpServletRequest request, HttpServletResponse response, PageContext pageContext) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    Theme theme = themeDisplay.getTheme();
    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    // Portlet content

    RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher(portletPage);

    UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter();

    PipingServletResponse pipingServletResponse = new PipingServletResponse(response, unsyncStringWriter);

    requestDispatcher.include(request, pipingServletResponse);

    portletDisplay.setContent(unsyncStringWriter.getStringBundler());

    // Page/* w  ww .  java2  s  . c o m*/

    String content = null;

    String extension = theme.getTemplateExtension();

    if (extension.equals(ThemeHelper.TEMPLATE_EXTENSION_FTL)) {
        content = ThemeUtil.includeFTL(servletContext, request, pageContext, wrapPage, theme, false);
    } else if (extension.equals(ThemeHelper.TEMPLATE_EXTENSION_VM)) {
        content = ThemeUtil.includeVM(servletContext, request, pageContext, wrapPage, theme, false);
    }

    return _CONTENT_WRAPPER_PRE.concat(content).concat(_CONTENT_WRAPPER_POST);
}

From source file:com.liferay.wiki.engine.impl.WikiEngineRenderer.java

License:Open Source License

public void renderEditPageHTML(String format, PageContext pageContext, WikiNode node, WikiPage page)
        throws IOException, ServletException, WikiFormatException {

    WikiEngine wikiEngine = _wikiEngineTracker.getWikiEngine(format);

    if (wikiEngine == null) {
        _wikiCacheHelper.clearCache(page.getNodeId(), page.getTitle());

        throw new WikiFormatException();
    }//from  w ww. ja v a2s .  c o m

    HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();

    UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter();

    PipingServletResponse pipingServletResponse = new PipingServletResponse(response, unsyncStringWriter);

    wikiEngine.renderEditPage(pageContext.getRequest(), pipingServletResponse, node, page);

    Writer writer = pageContext.getOut();

    StringBundler sb = unsyncStringWriter.getStringBundler();

    writer.write(sb.toString());
}

From source file:com.liferay.wiki.engine.input.editor.common.BaseInputEditorWikiEngine.java

License:Open Source License

public String getHelpPageHTML(PageContext pageContext) throws IOException, ServletException {

    if (!isHelpPageDefined()) {
        return StringPool.BLANK;
    }//w ww .j a  v a 2  s .  c o  m

    HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();

    UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter();

    PipingServletResponse pipingServletResponse = new PipingServletResponse(response, unsyncStringWriter);

    ServletContext servletContext = getHelpPageServletContext();

    RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher(getHelpPageJSP());

    requestDispatcher.include(pageContext.getRequest(), pipingServletResponse);

    StringBundler sb = unsyncStringWriter.getStringBundler();

    return sb.toString();
}