Example usage for com.liferay.portal.kernel.template TemplateResourceLoaderUtil getTemplateResource

List of usage examples for com.liferay.portal.kernel.template TemplateResourceLoaderUtil getTemplateResource

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.template TemplateResourceLoaderUtil getTemplateResource.

Prototype

public static TemplateResource getTemplateResource(String templateResourceLoaderName, String templateId)
            throws TemplateException 

Source Link

Usage

From source file:com.liferay.content.targeting.portlet.FreeMarkerPortlet.java

License:Open Source License

@Override
protected void include(String path, PortletRequest portletRequest, PortletResponse portletResponse,
        String lifecycle) throws IOException, PortletException {

    PortletContext portletContext = getPortletContext();

    String servletContextName = portletContext.getPortletContextName();

    String resourcePath = servletContextName.concat(TemplateConstants.SERVLET_SEPARATOR).concat(path);

    boolean resourceExists = false;

    try {/*from  www.  j  a  va 2  s. c o m*/
        resourceExists = TemplateResourceLoaderUtil.hasTemplateResource(TemplateConstants.LANG_TYPE_FTL,
                resourcePath);
    } catch (TemplateException te) {
        throw new IOException(te.getMessage());
    }

    if (!resourceExists) {
        _log.error(path + " is not a valid include");
    } else {
        try {
            TemplateResource templateResource = TemplateResourceLoaderUtil
                    .getTemplateResource(TemplateConstants.LANG_TYPE_FTL, resourcePath);

            Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_FTL,
                    templateResource, false);

            TemplateTaglibSupportProvider templateTaglibSupportProvider = getTaglibSupportProvider();

            if (templateTaglibSupportProvider != null) {
                templateTaglibSupportProvider.addTaglibSupport(template, servletContextName, portletRequest,
                        portletResponse);
            }

            // LPS-43725

            HttpServletRequestWrapper httpServletRequestWrapper = new HttpServletRequestWrapper(
                    PortalUtil.getHttpServletRequest(portletRequest));

            HttpServletResponseWrapper httpServletResponseWrapper = new HttpServletResponseWrapper(
                    PortalUtil.getHttpServletResponse(portletResponse));

            HttpRequestHashModel httpRequestHashModel = new HttpRequestHashModel(httpServletRequestWrapper,
                    httpServletResponseWrapper, ObjectWrapper.DEFAULT_WRAPPER);

            template.put("Request", httpRequestHashModel);

            populateContext(path, portletRequest, portletResponse, template);

            Writer writer = null;

            if (portletResponse instanceof MimeResponse) {
                MimeResponse mimeResponse = (MimeResponse) portletResponse;

                writer = UnsyncPrintWriterPool.borrow(mimeResponse.getWriter());
            } else {
                writer = new UnsyncStringWriter();
            }

            template.processTemplate(writer);
        } catch (Exception e) {
            throw new PortletException(e);
        }
    }

    if (clearRequestParameters) {
        if (lifecycle.equals(PortletRequest.RENDER_PHASE)) {
            portletResponse.setProperty("clear-request-parameters", "true");
        }
    }
}

From source file:com.liferay.shipping.portlet.ShippingPortlet.java

License:Open Source License

protected Template getTemplateWithTaglibSupport(PortletRequest portletRequest, PortletResponse portletResponse,
        String servletContextName, String resourcePath) throws Exception {

    TemplateResource templateResource = TemplateResourceLoaderUtil
            .getTemplateResource(TemplateConstants.LANG_TYPE_FTL, resourcePath);

    Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_FTL, templateResource,
            false);//  w ww.j a va2  s .  c om

    TemplateTaglibSupportProvider templateTaglibSupportProvider = getTaglibSupportProvider();

    if (templateTaglibSupportProvider != null) {
        templateTaglibSupportProvider.addTaglibSupport(template, servletContextName, portletRequest,
                portletResponse);
    }

    // LPS-43725

    HttpServletRequestWrapper httpServletRequestWrapper = new HttpServletRequestWrapper(
            PortalUtil.getHttpServletRequest(portletRequest));

    HttpServletResponseWrapper httpServletResponseWrapper = new HttpServletResponseWrapper(
            PortalUtil.getHttpServletResponse(portletResponse));

    HttpRequestHashModel httpRequestHashModel = new HttpRequestHashModel(httpServletRequestWrapper,
            httpServletResponseWrapper, ObjectWrapper.DEFAULT_WRAPPER);

    template.put("Request", httpRequestHashModel);

    return template;
}