Example usage for com.liferay.portal.kernel.template TemplateConstants LANG_TYPE_FTL

List of usage examples for com.liferay.portal.kernel.template TemplateConstants LANG_TYPE_FTL

Introduction

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

Prototype

String LANG_TYPE_FTL

To view the source code for com.liferay.portal.kernel.template TemplateConstants LANG_TYPE_FTL.

Click 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 {// ww w. j a va  2  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  va 2 s.c o m
    }

    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 w  w w  .jav a 2 s  .  c om*/
    }

    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 ww . j  a v  a 2  s . 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.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  w  w w  .j a  v a 2  s  .  com*/

    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

@Override
public boolean isAutocompleteEnabled(String language) {
    if (language.equals(TemplateConstants.LANG_TYPE_FTL) || language.equals(TemplateConstants.LANG_TYPE_VM)) {

        return true;
    }//  www  .j  a  va  2 s  .  c o m

    return false;
}

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

License:Open Source License

@Override
public void addDDMStructures(long userId, long groupId, long classNameId, ClassLoader classLoader,
        String fileName, ServiceContext serviceContext) throws Exception {

    Locale locale = _portal.getSiteDefaultLocale(groupId);

    List<Element> structureElements = getDDMStructures(classLoader, fileName, locale);

    for (Element structureElement : structureElements) {
        boolean dynamicStructure = GetterUtil.getBoolean(structureElement.elementText("dynamic-structure"));

        if (dynamicStructure) {
            continue;
        }//from   www  .j  a va  2s .c o m

        String name = structureElement.elementText("name");

        String description = structureElement.elementText("description");

        String ddmStructureKey = name;

        DDMStructure ddmStructure = _ddmStructureLocalService.fetchStructure(groupId, classNameId,
                ddmStructureKey);

        if (ddmStructure != null) {
            continue;
        }

        if (name.equals(DLFileEntryTypeConstants.NAME_IG_IMAGE)
                && !UpgradeProcessUtil.isCreateIGImageDocumentType()) {

            continue;
        }

        String ddmTemplateKey = name;

        Map<Locale, String> nameMap = new HashMap<>();
        Map<Locale, String> descriptionMap = new HashMap<>();

        for (Locale curLocale : LanguageUtil.getAvailableLocales(groupId)) {
            nameMap.put(curLocale, LanguageUtil.get(curLocale, name));
            descriptionMap.put(curLocale, LanguageUtil.get(curLocale, description));
        }

        DDMForm ddmForm = getDDMForm(structureElement, locale);

        DDMFormLayout ddmFormLayout = getDDMFormLayout(structureElement, ddmForm);

        serviceContext.setAttribute("status", WorkflowConstants.STATUS_APPROVED);

        ddmStructure = _ddmStructureLocalService.addStructure(userId, groupId,
                DDMStructureConstants.DEFAULT_PARENT_STRUCTURE_ID, classNameId, ddmStructureKey, nameMap,
                descriptionMap, ddmForm, ddmFormLayout, StorageType.JSON.toString(),
                DDMStructureConstants.TYPE_DEFAULT, serviceContext);

        Element templateElement = structureElement.element("template");

        if (templateElement == null) {
            continue;
        }

        String templateFileName = templateElement.elementText("file-name");

        String script = StringUtil.read(classLoader,
                FileUtil.getPath(fileName) + StringPool.SLASH + templateFileName);

        boolean cacheable = GetterUtil.getBoolean(templateElement.elementText("cacheable"));

        _ddmTemplateLocalService.addTemplate(userId, groupId, _portal.getClassNameId(DDMStructure.class),
                ddmStructure.getStructureId(), ddmStructure.getClassNameId(), ddmTemplateKey, nameMap, null,
                DDMTemplateConstants.TEMPLATE_TYPE_DISPLAY, DDMTemplateConstants.TEMPLATE_MODE_CREATE,
                TemplateConstants.LANG_TYPE_FTL, script, cacheable, false, StringPool.BLANK, null,
                serviceContext);
    }
}

From source file:com.liferay.dynamic.data.mapping.service.test.BaseDDMServiceTestCase.java

License:Open Source License

protected String getTestTemplateScript(String language) throws Exception {
    String text = StringPool.BLANK;

    if (language.equals(TemplateConstants.LANG_TYPE_FTL)) {
        text = "${variable}";
    } else if (language.equals(TemplateConstants.LANG_TYPE_VM)) {
        text = "#set ($preferences = $renderRequest.getPreferences())";
    } else if (language.equals("xsd")) {
        text = read("test-template.xsd");
    }/*from ww  w  .  j  a  va 2 s .  c  om*/

    return text;
}

From source file:com.liferay.dynamic.data.mapping.service.test.DDMTemplateLocalServiceTest.java

License:Open Source License

@Test
public void testSearchCountByLanguage() throws Exception {
    String velocityLanguage = TemplateConstants.LANG_TYPE_VM;

    addTemplate(RandomTestUtil.randomLong(), RandomTestUtil.randomLong(), StringUtil.randomString(),
            StringPool.BLANK, StringPool.BLANK, velocityLanguage, getTestTemplateScript(velocityLanguage),
            WorkflowConstants.STATUS_APPROVED);
    addTemplate(RandomTestUtil.randomLong(), RandomTestUtil.randomLong(), StringUtil.randomString(),
            StringPool.BLANK, StringPool.BLANK, velocityLanguage, getTestTemplateScript(velocityLanguage),
            WorkflowConstants.STATUS_APPROVED);

    String freeMarkerLanguage = TemplateConstants.LANG_TYPE_FTL;

    addTemplate(RandomTestUtil.randomLong(), RandomTestUtil.randomLong(), StringUtil.randomString(),
            StringPool.BLANK, StringPool.BLANK, freeMarkerLanguage, getTestTemplateScript(freeMarkerLanguage),
            WorkflowConstants.STATUS_APPROVED);

    int count = DDMTemplateLocalServiceUtil.searchCount(TestPropsValues.getCompanyId(),
            new long[] { group.getGroupId() }, null, null, _resourceClassNameId, null, null, null, null,
            TemplateConstants.LANG_TYPE_VM, WorkflowConstants.STATUS_APPROVED, true);

    Assert.assertEquals(2, count);//  ww  w . j  a v  a  2s.  com
}

From source file:com.liferay.dynamic.data.mapping.service.test.DDMTemplateServiceTest.java

License:Open Source License

@Test
public void testGetTemplatesByClassPK() throws Exception {
    DDMStructure ddmStructure = addStructure(_recordSetClassNameId, StringUtil.randomString());

    String language = TemplateConstants.LANG_TYPE_FTL;

    String script = getTestTemplateScript(language);

    addTemplate(0, ddmStructure.getStructureId(), StringUtil.randomString(), null, null, language, script,
            WorkflowConstants.STATUS_ANY);
    addTemplate(0, ddmStructure.getStructureId(), StringUtil.randomString(), null, null, language, script,
            WorkflowConstants.STATUS_ANY);
    addTemplate(0, ddmStructure.getStructureId(), StringUtil.randomString(), null, null, language, script,
            WorkflowConstants.STATUS_ANY);

    List<DDMTemplate> templates = DDMTemplateServiceUtil.getTemplatesByClassPK(TestPropsValues.getCompanyId(),
            group.getGroupId(), ddmStructure.getStructureId(), _recordSetClassNameId,
            WorkflowConstants.STATUS_ANY);

    Assert.assertEquals(templates.toString(), 3, templates.size());
}