Example usage for com.liferay.portal.kernel.template TemplateManagerUtil getTemplate

List of usage examples for com.liferay.portal.kernel.template TemplateManagerUtil getTemplate

Introduction

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

Prototype

public static Template getTemplate(String templateManagerName, TemplateResource templateResource,
            boolean restricted) 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   w  ww.  j  a va2 s.  c  om
        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.document.library.web.internal.display.context.logic.UIItemsBuilder.java

License:Open Source License

public void addCheckinToolbarItem(List<ToolbarItem> toolbarItems) throws PortalException {

    if (!_fileEntryDisplayContextHelper.isCheckinActionAvailable()) {
        return;/*from  www  . j  a v  a 2s  .com*/
    }

    PortletURL portletURL = _getActionURL("/document_library/edit_file_entry", Constants.CHECKIN);

    portletURL.setParameter("fileEntryId", String.valueOf(_fileEntry.getFileEntryId()));

    JavaScriptToolbarItem javaScriptToolbarItem = _addJavaScriptUIItem(new JavaScriptToolbarItem(),
            toolbarItems, DLUIItemKeys.CHECKIN, LanguageUtil.get(_resourceBundle, "checkin"),
            getNamespace() + "showVersionDetailsDialog('" + portletURL + "');");

    String javaScript = "/com/liferay/document/library/web/display/context/dependencies" + "/checkin_js.ftl";

    Class<?> clazz = getClass();

    URLTemplateResource urlTemplateResource = new URLTemplateResource(javaScript,
            clazz.getResource(javaScript));

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

    template.put("dialogCancelButtonLabel", LanguageUtil.get(_resourceBundle, "cancel"));
    template.put("dialogSaveButtonLabel", LanguageUtil.get(_resourceBundle, "save"));
    template.put("dialogTitle", UnicodeLanguageUtil.get(_resourceBundle, "describe-your-changes"));
    template.put("namespace", getNamespace());

    UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter();

    template.processTemplate(unsyncStringWriter);

    javaScriptToolbarItem.setJavaScript(unsyncStringWriter.toString());
}

From source file:com.liferay.document.library.web.internal.display.context.logic.UIItemsBuilder.java

License:Open Source License

public void addOpenInMsOfficeMenuItem(List<MenuItem> menuItems) throws PortalException {

    if (!isOpenInMsOfficeActionAvailable()) {
        return;/*from  www.j a  v a  2s  . com*/
    }

    String webDavURL = DLUtil.getWebDavURL(_themeDisplay, _fileEntry.getFolder(), _fileEntry,
            PropsValues.DL_FILE_ENTRY_OPEN_IN_MS_OFFICE_MANUAL_CHECK_IN_REQUIRED, true);

    String onClick = getNamespace() + "openDocument('" + webDavURL + "');";

    JavaScriptMenuItem javascriptMenuItem = _addJavaScriptUIItem(new JavaScriptMenuItem(), menuItems,
            DLUIItemKeys.OPEN_IN_MS_OFFICE, "open-in-ms-office", onClick);

    String javaScript = "/com/liferay/document/library/web/display/context/dependencies"
            + "/open_in_ms_office_js.ftl";

    Class<?> clazz = getClass();

    URLTemplateResource urlTemplateResource = new URLTemplateResource(javaScript,
            clazz.getResource(javaScript));

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

    template.put("errorMessage", UnicodeLanguageUtil.get(_resourceBundle,
            "cannot-open-the-requested-document-due-to-the-following-" + "reason"));
    template.put("namespace", getNamespace());

    UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter();

    template.processTemplate(unsyncStringWriter);

    javascriptMenuItem.setJavaScript(unsyncStringWriter.toString());
}

From source file:com.liferay.document.library.web.internal.display.context.logic.UIItemsBuilder.java

License:Open Source License

public JavaScriptMenuItem getJavacriptCheckinMenuItem() throws PortalException {

    PortletURL portletURL = _getActionURL("/document_library/edit_file_entry", Constants.CHECKIN);

    portletURL.setParameter("fileEntryId", String.valueOf(_fileEntry.getFileEntryId()));

    JavaScriptMenuItem javascriptMenuItem = new JavaScriptMenuItem();

    javascriptMenuItem.setKey(DLUIItemKeys.CHECKIN);
    javascriptMenuItem.setLabel("checkin");
    javascriptMenuItem.setOnClick(getNamespace() + "showVersionDetailsDialog('" + portletURL + "');");

    String javaScript = "/com/liferay/document/library/web/display/context/dependencies" + "/checkin_js.ftl";

    Class<?> clazz = getClass();

    URLTemplateResource urlTemplateResource = new URLTemplateResource(javaScript,
            clazz.getResource(javaScript));

    Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_FTL, urlTemplateResource,
            false);/* w  w  w . j ava 2s.  c  o  m*/

    template.put("dialogCancelButtonLabel", LanguageUtil.get(_resourceBundle, "cancel"));
    template.put("dialogSaveButtonLabel", LanguageUtil.get(_resourceBundle, "save"));
    template.put("dialogTitle", UnicodeLanguageUtil.get(_resourceBundle, "describe-your-changes"));
    template.put("namespace", getNamespace());
    template.put("randomNamespace", _request.getAttribute("randomNamespace"));

    UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter();

    template.processTemplate(unsyncStringWriter);

    javascriptMenuItem.setJavaScript(unsyncStringWriter.toString());

    return javascriptMenuItem;
}

From source file:com.liferay.dynamic.data.lists.form.web.internal.notification.DDLFormEmailNotificationSender.java

License:Open Source License

protected Template createTemplate(PortletRequest portletRequest, DDLRecordSet recordSet, DDLRecord record)
        throws PortalException {

    Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_SOY,
            getTemplateResource(_TEMPLATE_PATH), false);

    populateParameters(template, portletRequest, recordSet, record);

    return template;
}

From source file:com.liferay.dynamic.data.mapping.form.field.type.BaseDDMFormFieldRenderer.java

License:Open Source License

@Override
public String render(DDMFormField ddmFormField, DDMFormFieldRenderingContext ddmFormFieldRenderingContext)
        throws PortalException {

    Template template = TemplateManagerUtil.getTemplate(getTemplateLanguage(), getTemplateResource(), false);

    template.put(TemplateConstants.NAMESPACE, getTemplateNamespace());
    template.put(TemplateConstants.RENDER_STRICT, Boolean.FALSE);

    populateRequiredContext(template, ddmFormField, ddmFormFieldRenderingContext);

    populateOptionalContext(template, ddmFormField, ddmFormFieldRenderingContext);

    return render(template);
}

From source file:com.liferay.dynamic.data.mapping.form.renderer.internal.DDMFormRendererImpl.java

License:Open Source License

protected String doRender(DDMForm ddmForm, DDMFormLayout ddmFormLayout,
        DDMFormRenderingContext ddmFormRenderingContext) throws PortalException {

    Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_SOY, _templateResources,
            false);/*from w w w.  j a va 2s  .  c om*/

    populateCommonContext(template, ddmForm, ddmFormLayout, ddmFormRenderingContext);

    SoyRawData soyRawData = (SoyRawData) template.get("templateNamespace");

    String templateNamespace = (String) soyRawData.getValue();

    String html = render(template, templateNamespace);

    String javaScript = render(template, "ddm.form_renderer_js");

    return html.concat(javaScript);
}

From source file:com.liferay.dynamic.data.mapping.form.web.internal.notification.DDMFormEmailNotificationSender.java

License:Open Source License

protected Template createTemplate(PortletRequest portletRequest, DDMFormInstance ddmFormInstance,
        DDMFormInstanceRecord ddmFormInstanceRecord) throws PortalException {

    Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_SOY,
            getTemplateResource(_TEMPLATE_PATH), false);

    populateParameters(template, portletRequest, ddmFormInstance, ddmFormInstanceRecord);

    return template;
}

From source file:com.liferay.dynamic.data.mapping.internal.render.DDMFormFieldFreeMarkerRenderer.java

License:Open Source License

protected String processFTL(HttpServletRequest request, HttpServletResponse response, String fieldNamespace,
        String type, String mode, boolean readOnly, Map<String, Object> freeMarkerContext) throws Exception {

    if (Validator.isNull(fieldNamespace)) {
        fieldNamespace = _DEFAULT_NAMESPACE;
    }//from www .  j  a  v  a 2s .  c o  m

    TemplateResource templateResource = _defaultTemplateResource;

    Map<String, Object> fieldStructure = (Map<String, Object>) freeMarkerContext.get("fieldStructure");

    boolean fieldReadOnly = GetterUtil.getBoolean(fieldStructure.get("readOnly"));

    if ((fieldReadOnly && Validator.isNotNull(mode)
            && StringUtil.equalsIgnoreCase(mode, DDMTemplateConstants.TEMPLATE_MODE_EDIT)) || readOnly) {

        fieldNamespace = _DEFAULT_READ_ONLY_NAMESPACE;

        templateResource = _defaultReadOnlyTemplateResource;
    }

    String templateName = StringUtil.replaceFirst(type, fieldNamespace.concat(StringPool.DASH),
            StringPool.BLANK);

    StringBundler sb = new StringBundler(5);

    sb.append(_TPL_PATH);
    sb.append(StringUtil.toLowerCase(fieldNamespace));
    sb.append(CharPool.SLASH);
    sb.append(templateName);
    sb.append(_TPL_EXT);

    String resource = sb.toString();

    URL url = getResource(resource);

    if (url != null) {
        templateResource = getTemplateResource(resource);
    }

    if (templateResource == null) {
        throw new Exception("Unable to load template resource " + resource);
    }

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

    for (Map.Entry<String, Object> entry : freeMarkerContext.entrySet()) {
        template.put(entry.getKey(), entry.getValue());
    }

    TemplateManager templateManager = TemplateManagerUtil.getTemplateManager(TemplateConstants.LANG_TYPE_FTL);

    templateManager.addTaglibSupport(template, request, response);

    return processFTL(request, response, template);
}

From source file:com.liferay.dynamic.data.mapping.internal.util.DDMTemplateHelperImpl.java

License:Open Source License

protected List<TemplateVariableDefinition> getAutocompleteTemplateVariableDefinitions(
        HttpServletRequest request, String language) throws Exception {

    if (!isAutocompleteEnabled(language)) {
        return Collections.emptyList();
    }//from   w w w.j  ava2s.  co m

    Set<TemplateVariableDefinition> templateVariableDefinitions = new LinkedHashSet<>();

    // Declared variables

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

    DDMTemplate ddmTemplate = (DDMTemplate) request.getAttribute(DDMWebKeys.DYNAMIC_DATA_MAPPING_TEMPLATE);

    long classPK = BeanParamUtil.getLong(ddmTemplate, request, "classPK");
    long classNameId = BeanParamUtil.getLong(ddmTemplate, request, "classNameId");

    if (classPK > 0) {
        DDMStructure ddmStructure = _ddmStructureService.getStructure(classPK);

        classNameId = ddmStructure.getClassNameId();
    } else if (ddmTemplate != null) {
        classNameId = ddmTemplate.getClassNameId();
    }

    Map<String, TemplateVariableGroup> templateVariableGroups = TemplateContextHelper
            .getTemplateVariableGroups(classNameId, classPK, language, themeDisplay.getLocale());

    for (TemplateVariableGroup templateVariableGroup : templateVariableGroups.values()) {

        if (!templateVariableGroup.isAutocompleteEnabled()) {
            continue;
        }

        templateVariableDefinitions.addAll(templateVariableGroup.getTemplateVariableDefinitions());
    }

    // Other variables

    TemplateResource templateResource = new StringTemplateResource(_TEMPLATE_ID, _TEMPLATE_CONTENT);

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

    for (String key : template.getKeys()) {
        Object value = template.get(key);

        if (value == null) {
            continue;
        }

        TemplateVariableDefinition variableDefinition = new TemplateVariableDefinition(key, value.getClass(),
                key, (String) null);

        templateVariableDefinitions.add(variableDefinition);
    }

    return new ArrayList<>(templateVariableDefinitions);
}