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

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

Introduction

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

Prototype

@JSON(include = false)
    public PortletDisplay getPortletDisplay() 

Source Link

Usage

From source file:com.liferay.faces.bridge.ext.filter.internal.HeaderRequestBridgeLiferayImpl.java

License:Open Source License

public HeaderRequestBridgeLiferayImpl(HeaderRequest headerRequest, String responseNamespace,
        PortletConfig portletConfig, PortalContext portalContext) {
    super(headerRequest);
    this.liferayPortletRequest = new LiferayPortletRequest(headerRequest, responseNamespace, portletConfig);
    this.portalContext = portalContext;

    // Hack: Need to save information that's only available at RenderRequest time in order to have
    // LiferayURLGeneratorBaseImpl be able to create ResourceURLs properly during the RESOURCE_PHASE.
    String p_p_col_id = responseNamespace.concat("p_p_col_id");
    String p_p_col_pos = responseNamespace.concat("p_p_col_pos");
    String p_p_col_count = responseNamespace.concat("p_p_col_count");
    String p_p_mode = responseNamespace.concat("p_p_mode");
    String p_p_state = responseNamespace.concat("p_p_state");

    try {/*w ww. ja  v  a  2  s.co  m*/
        PortletContext portletContext = headerRequest.getPortletSession().getPortletContext();

        // Get the p_p_col_id and save it.
        ThemeDisplay themeDisplay = (ThemeDisplay) headerRequest.getAttribute(WebKeys.THEME_DISPLAY);
        PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();
        portletContext.setAttribute(p_p_col_id, portletDisplay.getColumnId());

        // Get the p_p_col_pos and save it.
        portletContext.setAttribute(p_p_col_pos, Integer.toString(portletDisplay.getColumnPos()));

        // Get the p_p_col_count and save it.
        portletContext.setAttribute(p_p_col_count, Integer.toString(portletDisplay.getColumnCount()));

        // Get the p_p_mode and save it.
        PortletMode portletMode = headerRequest.getPortletMode();

        if (portletMode != null) {
            portletContext.setAttribute(p_p_mode, portletMode.toString());
        }

        // Get the p_p_state and save it.
        WindowState windowState = headerRequest.getWindowState();

        if (windowState != null) {
            portletContext.setAttribute(p_p_state, windowState.toString());
        }
    } catch (Exception e) {
        logger.error(e.getMessage(), e);
    }
}

From source file:com.liferay.faces.bridge.ext.filter.internal.RenderRequestBridgeLiferayImpl.java

License:Open Source License

public RenderRequestBridgeLiferayImpl(RenderRequest renderRequest, String responseNamespace,
        PortletConfig portletConfig, PortalContext portalContext) {
    super(renderRequest);
    this.liferayPortletRequest = new LiferayPortletRequest(renderRequest, responseNamespace, portletConfig);
    this.portalContext = portalContext;

    // Hack: Need to save information that's only available at RenderRequest time in order to have
    // LiferayURLGeneratorBaseImpl be able to create ResourceURLs properly during the RESOURCE_PHASE.
    String p_p_col_id = responseNamespace.concat("p_p_col_id");
    String p_p_col_pos = responseNamespace.concat("p_p_col_pos");
    String p_p_col_count = responseNamespace.concat("p_p_col_count");
    String p_p_mode = responseNamespace.concat("p_p_mode");
    String p_p_state = responseNamespace.concat("p_p_state");

    try {//  w  w  w. j  av  a  2  s  .co  m
        PortletContext portletContext = renderRequest.getPortletSession().getPortletContext();

        // Get the p_p_col_id and save it.
        ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
        PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();
        portletContext.setAttribute(p_p_col_id, portletDisplay.getColumnId());

        // Get the p_p_col_pos and save it.
        portletContext.setAttribute(p_p_col_pos, Integer.toString(portletDisplay.getColumnPos()));

        // Get the p_p_col_count and save it.
        portletContext.setAttribute(p_p_col_count, Integer.toString(portletDisplay.getColumnCount()));

        // Get the p_p_mode and save it.
        PortletMode portletMode = renderRequest.getPortletMode();

        if (portletMode != null) {
            portletContext.setAttribute(p_p_mode, portletMode.toString());
        }

        // Get the p_p_state and save it.
        WindowState windowState = renderRequest.getWindowState();

        if (windowState != null) {
            portletContext.setAttribute(p_p_state, windowState.toString());
        }
    } catch (Exception e) {
        logger.error(e.getMessage(), e);
    }
}

From source file:com.liferay.faces.bridge.ext.lifecycle.internal.ClientWindowLiferayImpl.java

License:Open Source License

@Override
public String getId() {

    if (id == null) {

        FacesContext facesContext = FacesContext.getCurrentInstance();
        ExternalContext externalContext = facesContext.getExternalContext();
        String portletNamespace = "";
        ThemeDisplay themeDisplay = (ThemeDisplay) externalContext.getRequestMap().get(WebKeys.THEME_DISPLAY);

        if (themeDisplay != null) {
            PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();
            portletNamespace = portletDisplay.getNamespace();
        }/*from  ww w  .j  a  va2  s. c o m*/

        char separatorChar = UINamingContainer.getSeparatorChar(facesContext);
        String clientWindowCounterKey = CLIENT_WINDOW_COUNTER_KEY + separatorChar + portletNamespace;
        Object session = externalContext.getSession(true);
        String sessionId = externalContext.getSessionId(true);
        Map<String, Object> sessionMap = externalContext.getSessionMap();

        synchronized (session) {
            Integer clientWindowCounter = (Integer) sessionMap.get(clientWindowCounterKey);

            if (clientWindowCounter == null) {
                clientWindowCounter = new Integer(0);
            }

            id = sessionId + separatorChar + portletNamespace + separatorChar + clientWindowCounter;
            sessionMap.put(clientWindowCounterKey, ++clientWindowCounter);
        }
    }

    return id;
}

From source file:com.liferay.faces.portal.context.internal.LiferayPortletHelperImpl.java

License:Open Source License

@Override
public boolean userHasPortletPermission(String actionId) {

    ThemeDisplay themeDisplay = getThemeDisplay();
    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();
    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();
    String portletId = portletDisplay.getId();
    boolean hasPermission = false;

    try {//w  w  w .  j a  va2s. co  m
        hasPermission = PortletPermissionUtil.contains(permissionChecker, themeDisplay.getPlid(), portletId,
                actionId);
    } catch (Exception e) {
        logger.error(e.getMessage(), e);
    }

    return hasPermission;
}

From source file:com.liferay.journal.content.web.internal.display.context.JournalContentDisplayContext.java

License:Open Source License

public String getURLEdit() {
    try {//  ww  w .  j av a  2  s  .c  om
        AssetRendererFactory<JournalArticle> assetRendererFactory = AssetRendererFactoryRegistryUtil
                .getAssetRendererFactoryByClass(JournalArticle.class);

        JournalArticle article = getArticle();

        AssetRenderer<JournalArticle> latestArticleAssetRenderer = assetRendererFactory
                .getAssetRenderer(article, AssetRendererFactory.TYPE_LATEST_APPROVED);

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

        PortletURL redirectURL = PortletURLFactoryUtil.create(_portletRequest,
                JournalContentPortletKeys.JOURNAL_CONTENT, PortletRequest.RENDER_PHASE);

        redirectURL.setParameter("mvcPath", "/update_journal_article_redirect.jsp");

        PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

        redirectURL.setParameter("referringPortletResource", portletDisplay.getId());

        redirectURL.setWindowState(LiferayWindowState.POP_UP);

        PortletURL portletURL = latestArticleAssetRenderer.getURLEdit((LiferayPortletRequest) _portletRequest,
                null, LiferayWindowState.POP_UP, redirectURL);

        portletURL.setParameter("hideDefaultSuccessMessage", Boolean.TRUE.toString());
        portletURL.setParameter("showHeader", Boolean.FALSE.toString());

        return portletURL.toString();
    } catch (Exception e) {
        _log.error("Unable to get edit URL", e);

        return StringPool.BLANK;
    }
}

From source file:com.liferay.journal.content.web.internal.display.context.JournalContentDisplayContext.java

License:Open Source License

public String getURLEditTemplate() {
    try {//  w ww .  ja v a 2  s.  co m
        ThemeDisplay themeDisplay = (ThemeDisplay) _portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

        PortletURL portletURL = PortletURLFactoryUtil.create(_portletRequest,
                PortletProviderUtil.getPortletId(DDMTemplate.class.getName(), PortletProvider.Action.EDIT),
                PortletRequest.RENDER_PHASE);

        DDMTemplate ddmTemplate = getDDMTemplate();

        if (ddmTemplate == null) {
            return StringPool.BLANK;
        }

        portletURL.setParameter("hideDefaultSuccessMessage", Boolean.TRUE.toString());
        portletURL.setParameter("mvcPath", "/edit_template.jsp");
        portletURL.setParameter("navigationStartsOn", "SELECT_TEMPLATE");

        PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

        PortletURL redirectURL = PortletURLFactoryUtil.create(_portletRequest, portletDisplay.getId(),
                PortletRequest.RENDER_PHASE);

        redirectURL.setParameter("mvcPath", "/update_journal_article_redirect.jsp");
        redirectURL.setParameter("referringPortletResource", portletDisplay.getId());
        redirectURL.setWindowState(LiferayWindowState.POP_UP);

        portletURL.setParameter("redirect", redirectURL.toString());

        portletURL.setParameter("showBackURL", Boolean.FALSE.toString());
        portletURL.setParameter("showCacheableInput", Boolean.TRUE.toString());
        portletURL.setParameter("groupId", String.valueOf(ddmTemplate.getGroupId()));
        portletURL.setParameter("refererPortletName",
                PortletProviderUtil.getPortletId(JournalArticle.class.getName(), PortletProvider.Action.EDIT));
        portletURL.setParameter("templateId", String.valueOf(ddmTemplate.getTemplateId()));
        portletURL.setParameter("showHeader", Boolean.FALSE.toString());
        portletURL.setPortletMode(PortletMode.VIEW);
        portletURL.setWindowState(LiferayWindowState.POP_UP);

        return portletURL.toString();
    } catch (Exception e) {
        _log.error("Unable to get edit template URL", e);

        return StringPool.BLANK;
    }
}

From source file:com.liferay.journal.content.web.internal.display.context.JournalContentDisplayContext.java

License:Open Source License

public boolean isShowEditTemplateIcon() {
    if (_showEditTemplateIcon != null) {
        return _showEditTemplateIcon;
    }//ww  w . j a  v  a2 s . co m

    _showEditTemplateIcon = false;

    DDMTemplate ddmTemplate = getDDMTemplate();

    if (ddmTemplate == null) {
        return _showEditTemplateIcon;
    }

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

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    try {
        _showEditTemplateIcon = DDMTemplatePermission.contains(themeDisplay.getPermissionChecker(),
                themeDisplay.getScopeGroupId(), ddmTemplate, portletDisplay.getId(), ActionKeys.UPDATE);
    } catch (PortalException pe) {
        _log.error("Unable to check permission on DDM template " + ddmTemplate.getTemplateId(), pe);
    }

    return _showEditTemplateIcon;
}

From source file:com.liferay.journal.content.web.internal.display.context.JournalContentDisplayContext.java

License:Open Source License

public boolean isShowSelectArticleIcon() throws PortalException {
    if (_showSelectArticleIcon != null) {
        return _showSelectArticleIcon;
    }/*from   www  .  j a  va 2  s  .  c om*/

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

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    _showSelectArticleIcon = PortletPermissionUtil.contains(themeDisplay.getPermissionChecker(),
            themeDisplay.getLayout(), portletDisplay.getId(), ActionKeys.CONFIGURATION);

    return _showSelectArticleIcon;
}

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

License:Open Source License

protected JournalContentDisplayContext getJournalContentDisplayContext(PortletRequest portletRequest,
        PortletResponse portletResponse, long ddmStructureClassNameId) {

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

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    try {/*from   w  w  w.ja v  a 2  s .  c o m*/
        return JournalContentDisplayContext.create(portletRequest, portletResponse, portletDisplay,
                ddmStructureClassNameId);
    } catch (PortalException pe) {
        _log.error("Unable to create display context", pe);
    }

    return null;
}

From source file:com.liferay.journal.content.web.internal.portlet.toolbar.contributor.JournalContentPortletToolbarContributor.java

License:Open Source License

protected void addPortletTitleAddJournalArticleMenuItems(List<MenuItem> menuItems, ThemeDisplay themeDisplay,
        PortletRequest portletRequest) throws Exception {

    long plid = themeDisplay.getPlid();
    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();
    long scopeGroupId = themeDisplay.getScopeGroupId();

    PortletURL portletURL = _portal.getControlPanelPortletURL(portletRequest, JournalPortletKeys.JOURNAL,
            PortletRequest.RENDER_PHASE);

    portletURL.setParameter("hideDefaultSuccessMessage", Boolean.TRUE.toString());
    portletURL.setParameter("groupId", String.valueOf(scopeGroupId));
    portletURL.setParameter("mvcPath", "/edit_article.jsp");
    portletURL.setParameter("portletResource", portletDisplay.getId());
    portletURL.setParameter("redirect", _getAddJournalArticleRedirectURL(themeDisplay, portletRequest));
    portletURL.setParameter("referringPlid", String.valueOf(plid));
    portletURL.setParameter("showHeader", Boolean.FALSE.toString());

    portletURL.setWindowState(LiferayWindowState.POP_UP);

    List<DDMStructure> ddmStructures = _journalFolderService.getDDMStructures(
            _portal.getCurrentAndAncestorSiteGroupIds(scopeGroupId),
            JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID, JournalFolderConstants.RESTRICTION_TYPE_INHERIT);

    for (DDMStructure ddmStructure : ddmStructures) {
        portletURL.setParameter("ddmStructureId", String.valueOf(ddmStructure.getStructureId()));

        URLMenuItem urlMenuItem = new URLMenuItem();

        String ddmStructureName = ddmStructure.getName(themeDisplay.getLocale());

        String title = LanguageUtil.format(themeDisplay.getLocale(), "new-x", ddmStructureName);

        Map<String, Object> data = new HashMap<>();

        data.put("id", HtmlUtil.escape(portletDisplay.getNamespace()) + "editAsset");

        data.put("title", HtmlUtil.escape(title));

        urlMenuItem.setData(data);/*from w w  w.j  a v  a2  s  .c o  m*/

        String label = ddmStructure.getUnambiguousName(ddmStructures, themeDisplay.getScopeGroupId(),
                themeDisplay.getLocale());

        urlMenuItem.setLabel(label);

        urlMenuItem.setURL(portletURL.toString());
        urlMenuItem.setUseDialog(true);

        menuItems.add(urlMenuItem);
    }
}