Example usage for com.liferay.portal.kernel.theme ThemeDisplay getRequest

List of usage examples for com.liferay.portal.kernel.theme ThemeDisplay getRequest

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.theme ThemeDisplay getRequest.

Prototype

@JSON(include = false)
public HttpServletRequest getRequest() 

Source Link

Document

Returns the currently served HTTP servlet request.

Usage

From source file:com.liferay.dynamic.data.mapping.form.taglib.servlet.taglib.util.DDMFormTaglibUtil.java

License:Open Source License

public static String getFormBuilderContext(long ddmStructureId, ThemeDisplay themeDisplay) {

    String serializedFormBuilderContext = ParamUtil.getString(themeDisplay.getRequest(),
            "serializedFormBuilderContext");

    if (Validator.isNotNull(serializedFormBuilderContext)) {
        return serializedFormBuilderContext;
    }/*from ww w .  j a  v  a2s  . com*/

    JSONSerializer jsonSerializer = _jsonFactory.createJSONSerializer();

    Optional<DDMStructure> ddmStructureOptional = Optional
            .ofNullable(_ddmStructureLocalService.fetchDDMStructure(ddmStructureId));

    Locale locale = themeDisplay.getSiteDefaultLocale();

    if (ddmStructureOptional.isPresent()) {
        DDMStructure ddmStructure = ddmStructureOptional.get();

        DDMForm ddmForm = ddmStructure.getDDMForm();

        locale = ddmForm.getDefaultLocale();
    }

    DDMFormBuilderContextResponse formBuilderContextResponse = _ddmFormBuilderContextFactory
            .create(DDMFormBuilderContextRequest.with(ddmStructureOptional, themeDisplay.getRequest(),
                    themeDisplay.getResponse(), locale, true));

    return jsonSerializer.serializeDeep(formBuilderContextResponse.getContext());
}

From source file:com.liferay.dynamic.data.mapping.form.web.internal.display.context.DDMFormDisplayContext.java

License:Open Source License

protected String getSubmitLabel(DDMFormInstance ddmFormInstance) {
    ThemeDisplay themeDisplay = getThemeDisplay();

    boolean workflowEnabled = hasWorkflowEnabled(ddmFormInstance, themeDisplay);

    if (workflowEnabled) {
        return LanguageUtil.get(themeDisplay.getRequest(), "submit-for-publication");
    } else {//  ww w .  j av a 2  s.c  o  m
        return LanguageUtil.get(themeDisplay.getRequest(), "submit");
    }
}

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

License:Open Source License

@Override
public long[] getTemplateGroupIds(ThemeDisplay themeDisplay, boolean includeAncestorTemplates)
        throws Exception {

    HttpServletRequest request = themeDisplay.getRequest();

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    long groupId = themeDisplay.getScopeGroupId();

    String refererPortletName = ParamUtil.getString(request,
            portletDisplay.getNamespace() + "refererPortletName");

    if (Validator.isNull(refererPortletName)) {
        groupId = PortalUtil.getScopeGroupId(request, refererPortletName);
    }/*from   ww  w .  j  av  a  2s  .co m*/

    if (includeAncestorTemplates) {
        return PortalUtil.getCurrentAndAncestorSiteGroupIds(groupId);
    }

    return new long[] { groupId };
}

From source file:com.liferay.frontend.editor.ckeditor.web.internal.editor.configuration.BaseCKEditorConfigContributor.java

License:Open Source License

@Override
public void populateConfigJSONObject(JSONObject jsonObject, Map<String, Object> inputEditorTaglibAttributes,
        ThemeDisplay themeDisplay, RequestBackedPortletURLFactory requestBackedPortletURLFactory) {

    jsonObject.put("allowedContent", Boolean.TRUE);

    String cssClasses = GetterUtil
            .getString(inputEditorTaglibAttributes.get("liferay-ui:input-editor:cssClasses"));

    jsonObject.put("bodyClass", "html-editor " + HtmlUtil.escape(cssClasses));

    JSONArray jsonArray = JSONFactoryUtil.createJSONArray();

    jsonArray.put(HtmlUtil.escape(PortalUtil.getStaticResourceURL(themeDisplay.getRequest(),
            themeDisplay.getPathThemeCss() + "/clay.css")));
    jsonArray.put(HtmlUtil.escape(PortalUtil.getStaticResourceURL(themeDisplay.getRequest(),
            themeDisplay.getPathThemeCss() + "/main.css")));

    jsonObject.put("contentsCss", jsonArray);

    String contentsLanguageDir = getContentsLanguageDir(inputEditorTaglibAttributes);

    jsonObject.put("contentsLangDirection", HtmlUtil.escapeJS(contentsLanguageDir));

    String contentsLanguageId = getContentsLanguageId(inputEditorTaglibAttributes);

    contentsLanguageId = contentsLanguageId.replace("iw", "he");
    contentsLanguageId = contentsLanguageId.replace("_", "-");

    jsonObject.put("contentsLanguage", contentsLanguageId);

    jsonObject.put("height", 265);

    String languageId = getLanguageId(themeDisplay);

    languageId = languageId.replace("iw", "he");
    languageId = languageId.replace("_", "-");

    jsonObject.put("language", languageId);

    boolean resizable = GetterUtil
            .getBoolean((String) inputEditorTaglibAttributes.get("liferay-ui:input-editor:resizable"));

    if (resizable) {
        jsonObject.put("resize_dir", "vertical");
    }//from w  w  w  .  ja v a2  s .c o  m

    jsonObject.put("resize_enabled", resizable);
}

From source file:com.liferay.frontend.editor.tinymce.web.editor.configuration.TinyMCEEditorConfigContributor.java

License:Open Source License

protected JSONArray getToolbarJSONArray(Map<String, Object> inputEditorTaglibAttributes,
        ThemeDisplay themeDisplay) {

    JSONObject toolbarsJSONObject = getToolbarsJSONObject(inputEditorTaglibAttributes);

    String toolbarSet = (String) inputEditorTaglibAttributes.get("liferay-ui:input-editor:toolbarSet");

    String currentToolbarSet = TextFormatter.format(HtmlUtil.escapeJS(toolbarSet), TextFormatter.M);

    if (BrowserSnifferUtil.isMobile(themeDisplay.getRequest())) {
        currentToolbarSet = "phone";
    }/*  www  .  j a va 2  s.  c om*/

    JSONArray toolbarJSONArray = toolbarsJSONObject.getJSONArray(currentToolbarSet);

    if (toolbarJSONArray == null) {
        toolbarJSONArray = toolbarsJSONObject.getJSONArray("liferay");
    }

    return toolbarJSONArray;
}

From source file:com.liferay.frontend.editor.tinymce.web.internal.editor.configuration.BaseTinyMCEEditorConfigContributor.java

License:Open Source License

@Override
public void populateConfigJSONObject(JSONObject jsonObject, Map<String, Object> inputEditorTaglibAttributes,
        ThemeDisplay themeDisplay, RequestBackedPortletURLFactory requestBackedPortletURLFactory) {

    StringBundler sb = new StringBundler(3);

    sb.append(HtmlUtil.escape(PortalUtil.getStaticResourceURL(themeDisplay.getRequest(),
            themeDisplay.getPathThemeCss() + "/clay.css")));
    sb.append(StringPool.COMMA);/*from   www . j  av  a2 s .  c o m*/
    sb.append(HtmlUtil.escape(PortalUtil.getStaticResourceURL(themeDisplay.getRequest(),
            themeDisplay.getPathThemeCss() + "/main.css")));

    jsonObject.put("content_css", sb.toString());

    jsonObject.put("convert_urls", Boolean.FALSE);
    jsonObject.put("extended_valid_elements", _EXTENDED_VALID_ELEMENTS);

    ItemSelector itemSelector = getItemSelector();

    String filebrowserImageBrowseUrl = jsonObject.getString("filebrowserImageBrowseUrl");

    String itemSelectedEventName = itemSelector.getItemSelectedEventName(filebrowserImageBrowseUrl);

    List<ItemSelectorCriterion> itemSelectorCriteria = itemSelector
            .getItemSelectorCriteria(filebrowserImageBrowseUrl);

    ImageItemSelectorCriterion imageItemSelectorCriterion = new ImageItemSelectorCriterion();

    imageItemSelectorCriterion.setDesiredItemSelectorReturnTypes(
            Arrays.<ItemSelectorReturnType>asList(new URLItemSelectorReturnType()));

    itemSelectorCriteria.add(imageItemSelectorCriterion);

    PortletURL itemSelectorURL = itemSelector.getItemSelectorURL(requestBackedPortletURLFactory,
            itemSelectedEventName,
            itemSelectorCriteria.toArray(new ItemSelectorCriterion[itemSelectorCriteria.size()]));

    jsonObject.put("filebrowserImageBrowseUrl", itemSelectorURL.toString());

    jsonObject.put("invalid_elements", "script");

    String contentsLanguageId = (String) inputEditorTaglibAttributes
            .get("liferay-ui:input-editor:contentsLanguageId");

    jsonObject.put("language", getTinyMCELanguage(contentsLanguageId));

    jsonObject.put("menubar", Boolean.FALSE);
    jsonObject.put("mode", "textareas");
    jsonObject.put("relative_urls", Boolean.FALSE);
    jsonObject.put("remove_script_host", Boolean.FALSE);

    String namespace = GetterUtil
            .getString(inputEditorTaglibAttributes.get("liferay-ui:input-editor:namespace"));

    String name = GetterUtil.getString(inputEditorTaglibAttributes.get("liferay-ui:input-editor:name"));

    jsonObject.put("selector", "#" + namespace + name);

    jsonObject.put("toolbar", "bold italic underline | alignleft aligncenter alignright | " + "preview print");
    jsonObject.put("toolbar_items_size", "small");
}

From source file:com.liferay.frontend.editor.tinymce.web.internal.editor.configuration.TinyMCEEditorConfigContributor.java

License:Open Source License

protected JSONArray getToolbarJSONArray(Map<String, Object> inputEditorTaglibAttributes,
        ThemeDisplay themeDisplay) {

    JSONObject toolbarsJSONObject = getToolbarsJSONObject(inputEditorTaglibAttributes);

    String toolbarSet = (String) inputEditorTaglibAttributes.get("liferay-ui:input-editor:toolbarSet");

    String currentToolbarSet = TextFormatter.format(HtmlUtil.escapeJS(toolbarSet), TextFormatter.M);

    if (_browserSniffer.isMobile(themeDisplay.getRequest())) {
        currentToolbarSet = "phone";
    }//  w w w  .  j a va2s.  co m

    JSONArray toolbarJSONArray = toolbarsJSONObject.getJSONArray(currentToolbarSet);

    if (toolbarJSONArray == null) {
        toolbarJSONArray = toolbarsJSONObject.getJSONArray("liferay");
    }

    return toolbarJSONArray;
}

From source file:com.liferay.grow.linkedpages.LinkedPagesView.java

License:Open Source License

/**
 * Finding a linked pages in a wiki page
 * Based on Grow Navigation ADT/*from  w  w w.j av  a 2 s  .  c  o  m*/
 * https://grow.liferay.com/group/guest/people/-/wiki/Grow/Grow+navigation+ADT
 */
public LinkedPagesView(ThemeDisplay themeDisplay) {
    _linkedPages = new TreeSet<>();
    HttpServletRequest request = themeDisplay.getRequest();

    String wikiNode = ParamUtil.getString(request,
            "p_r_p__http://www.liferay.com/public-render-parameters" + "/wiki_nodeName");
    String wikiTitle = ParamUtil.getString(request,
            "p_r_p__http://www.liferay.com/public-render-parameters" + "/wiki_title");

    long groupId = themeDisplay.getScopeGroupId();

    fillLinkedPages(groupId, wikiNode, wikiTitle);
}

From source file:com.liferay.journal.transformer.JournalTransformer.java

License:Open Source License

protected String doTransform(ThemeDisplay themeDisplay, Map<String, Object> contextObjects,
        Map<String, String> tokens, String viewMode, String languageId, Document document,
        PortletRequestModel portletRequestModel, String script, String langType, boolean propagateException)
        throws Exception {

    // Setup listeners

    if (_log.isDebugEnabled()) {
        _log.debug("Language " + languageId);
    }/*from w  w w . j a va 2s.  c  o  m*/

    if (Validator.isNull(viewMode)) {
        viewMode = Constants.VIEW;
    }

    if (_logTokens.isDebugEnabled()) {
        String tokensString = PropertiesUtil.list(tokens);

        _logTokens.debug(tokensString);
    }

    if (_logTransformBefore.isDebugEnabled()) {
        _logTransformBefore.debug(document);
    }

    List<TransformerListener> transformerListeners = JournalTransformerListenerRegistryUtil
            .getTransformerListeners();

    for (TransformerListener transformerListener : transformerListeners) {

        // Modify XML

        if (_logXmlBeforeListener.isDebugEnabled()) {
            _logXmlBeforeListener.debug(document);
        }

        if (transformerListener != null) {
            document = transformerListener.onXml(document, languageId, tokens);

            if (_logXmlAfterListener.isDebugEnabled()) {
                _logXmlAfterListener.debug(document);
            }
        }

        // Modify script

        if (_logScriptBeforeListener.isDebugEnabled()) {
            _logScriptBeforeListener.debug(script);
        }

        if (transformerListener != null) {
            script = transformerListener.onScript(script, document, languageId, tokens);

            if (_logScriptAfterListener.isDebugEnabled()) {
                _logScriptAfterListener.debug(script);
            }
        }
    }

    // Transform

    String output = null;

    if (Validator.isNull(langType)) {
        output = LocalizationUtil.getLocalization(document.asXML(), languageId);
    } else {
        long companyId = 0;
        long companyGroupId = 0;
        long articleGroupId = 0;
        long classNameId = 0;

        if (tokens != null) {
            companyId = GetterUtil.getLong(tokens.get("company_id"));
            companyGroupId = GetterUtil.getLong(tokens.get("company_group_id"));
            articleGroupId = GetterUtil.getLong(tokens.get("article_group_id"));
            classNameId = GetterUtil.getLong(tokens.get(TemplateConstants.CLASS_NAME_ID));
        }

        long scopeGroupId = 0;
        long siteGroupId = 0;

        if (themeDisplay != null) {
            companyId = themeDisplay.getCompanyId();
            companyGroupId = themeDisplay.getCompanyGroupId();
            scopeGroupId = themeDisplay.getScopeGroupId();
            siteGroupId = themeDisplay.getSiteGroupId();
        }

        String templateId = tokens.get("template_id");

        templateId = getTemplateId(templateId, companyId, companyGroupId, articleGroupId);

        Template template = getTemplate(templateId, tokens, languageId, document, script, langType);

        if (contextObjects != null) {
            template.putAll(contextObjects);
        }

        UnsyncStringWriter unsyncStringWriter = new UnsyncStringWriter();

        try {
            if (document != null) {
                Element rootElement = document.getRootElement();

                List<TemplateNode> templateNodes = getTemplateNodes(themeDisplay, rootElement,
                        Long.valueOf(tokens.get("ddm_structure_id")));

                if (templateNodes != null) {
                    for (TemplateNode templateNode : templateNodes) {
                        template.put(templateNode.getName(), templateNode);
                    }
                }

                if (portletRequestModel != null) {
                    template.put("request", portletRequestModel.toMap());

                    if (langType.equals(TemplateConstants.LANG_TYPE_XSL)) {
                        Document requestDocument = SAXReaderUtil.read(portletRequestModel.toXML());

                        Element requestElement = requestDocument.getRootElement();

                        template.put("xmlRequest", requestElement.asXML());
                    }
                } else {
                    Element requestElement = rootElement.element("request");

                    template.put("request", insertRequestVariables(requestElement));

                    if (langType.equals(TemplateConstants.LANG_TYPE_XSL)) {
                        template.put("xmlRequest", requestElement.asXML());
                    }
                }
            }

            template.put("articleGroupId", articleGroupId);
            template.put("company", getCompany(themeDisplay, companyId));
            template.put("companyId", companyId);
            template.put("device", getDevice(themeDisplay));

            String templatesPath = getTemplatesPath(companyId, articleGroupId, classNameId);

            Locale locale = LocaleUtil.fromLanguageId(languageId);

            template.put("locale", locale);

            template.put("permissionChecker", PermissionThreadLocal.getPermissionChecker());
            template.put("randomNamespace", StringUtil.randomId() + StringPool.UNDERLINE);
            template.put("scopeGroupId", scopeGroupId);
            template.put("siteGroupId", siteGroupId);
            template.put("templatesPath", templatesPath);
            template.put("viewMode", viewMode);

            if (themeDisplay != null) {
                TemplateManager templateManager = TemplateManagerUtil.getTemplateManager(langType);

                HttpServletRequest request = themeDisplay.getRequest();

                templateManager.addTaglibSupport(template, request, themeDisplay.getResponse());
                templateManager.addTaglibTheme(template, "taglibLiferay", request,
                        new PipingServletResponse(themeDisplay.getResponse(), unsyncStringWriter));
            }

            // Deprecated variables

            template.put("groupId", articleGroupId);
            template.put("journalTemplatesPath", templatesPath);

            mergeTemplate(template, unsyncStringWriter, propagateException);
        } catch (Exception e) {
            if (e instanceof DocumentException) {
                throw new TransformException("Unable to read XML document", e);
            } else if (e instanceof IOException) {
                throw new TransformException("Error reading template", e);
            } else if (e instanceof TransformException) {
                throw (TransformException) e;
            } else {
                throw new TransformException("Unhandled exception", e);
            }
        }

        output = unsyncStringWriter.toString();
    }

    // Postprocess output

    for (TransformerListener transformerListener : transformerListeners) {

        // Modify output

        if (_logOutputBeforeListener.isDebugEnabled()) {
            _logOutputBeforeListener.debug(output);
        }

        output = transformerListener.onOutput(output, languageId, tokens);

        if (_logOutputAfterListener.isDebugEnabled()) {
            _logOutputAfterListener.debug(output);
        }
    }

    if (_logTransfromAfter.isDebugEnabled()) {
        _logTransfromAfter.debug(output);
    }

    return output;
}

From source file:com.liferay.journal.web.internal.portlet.configuration.icon.FeedsPermissionsPortletConfigurationIcon.java

License:Open Source License

@Override
public String getURL(PortletRequest portletRequest, PortletResponse portletResponse) {

    String url = StringPool.BLANK;

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

    try {//from   w ww.  ja va 2s.  co  m
        url = PermissionsURLTag.doTag(StringPool.BLANK, "com.liferay.journal",
                HtmlUtil.escape(themeDisplay.getScopeGroupName()), null,
                String.valueOf(themeDisplay.getScopeGroupId()), LiferayWindowState.POP_UP.toString(), null,
                themeDisplay.getRequest());
    } catch (Exception e) {
    }

    return url;
}