com.liferay.site.navigation.breadcrumb.web.internal.display.context.SiteNavigationBreadcrumbDisplayContext.java Source code

Java tutorial

Introduction

Here is the source code for com.liferay.site.navigation.breadcrumb.web.internal.display.context.SiteNavigationBreadcrumbDisplayContext.java

Source

/**
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.liferay.site.navigation.breadcrumb.web.internal.display.context;

import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.module.configuration.ConfigurationException;
import com.liferay.portal.kernel.theme.PortletDisplay;
import com.liferay.portal.kernel.theme.ThemeDisplay;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.portal.kernel.util.WebKeys;
import com.liferay.portlet.display.template.PortletDisplayTemplate;
import com.liferay.site.navigation.breadcrumb.web.configuration.SiteNavigationBreadcrumbPortletInstanceConfiguration;

import javax.servlet.http.HttpServletRequest;

/**
 * @author Julio Camarero
 */
public class SiteNavigationBreadcrumbDisplayContext {

    public SiteNavigationBreadcrumbDisplayContext(HttpServletRequest request) throws ConfigurationException {

        _request = request;

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

        PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

        _siteNavigationBreadcrumbPortletInstanceConfiguration = portletDisplay
                .getPortletInstanceConfiguration(SiteNavigationBreadcrumbPortletInstanceConfiguration.class);
    }

    public String getDDMTemplateKey() {
        if (_ddmTemplateKey != null) {
            return _ddmTemplateKey;
        }

        String displayStyle = getDisplayStyle();

        if (displayStyle != null) {
            PortletDisplayTemplate portletDisplayTemplate = (PortletDisplayTemplate) _request
                    .getAttribute(WebKeys.PORTLET_DISPLAY_TEMPLATE);

            _ddmTemplateKey = portletDisplayTemplate.getDDMTemplateKey(displayStyle);
        }

        return _ddmTemplateKey;
    }

    public String getDisplayStyle() {
        if (_displayStyle != null) {
            return _displayStyle;
        }

        _displayStyle = ParamUtil.getString(_request, "displayStyle",
                _siteNavigationBreadcrumbPortletInstanceConfiguration.displayStyle());

        return _displayStyle;
    }

    public long getDisplayStyleGroupId() {
        if (_displayStyleGroupId != 0) {
            return _displayStyleGroupId;
        }

        _displayStyleGroupId = _siteNavigationBreadcrumbPortletInstanceConfiguration.displayStyleGroupId();

        _displayStyleGroupId = ParamUtil.getLong(_request, "displayStyleGroupId",
                _siteNavigationBreadcrumbPortletInstanceConfiguration.displayStyleGroupId());

        if (_displayStyleGroupId <= 0) {
            ThemeDisplay themeDisplay = (ThemeDisplay) _request.getAttribute(WebKeys.THEME_DISPLAY);

            _displayStyleGroupId = themeDisplay.getSiteGroupId();
        }

        return _displayStyleGroupId;
    }

    public String getPortletResource() {
        if (_portletResource != null) {
            return _portletResource;
        }

        _portletResource = ParamUtil.getString(_request, "portletResource");

        return _portletResource;
    }

    public boolean isShowCurrentGroup() {
        if (_showCurrentGroup != null) {
            return _showCurrentGroup;
        }

        _showCurrentGroup = ParamUtil.getBoolean(_request, "showCurrentGroup",
                _siteNavigationBreadcrumbPortletInstanceConfiguration.showCurrentGroup());

        return _showCurrentGroup;
    }

    public boolean isShowGuestGroup() {
        if (_showGuestGroup != null) {
            return _showGuestGroup;
        }

        _showGuestGroup = ParamUtil.getBoolean(_request, "showGuestGroup",
                _siteNavigationBreadcrumbPortletInstanceConfiguration.showGuestGroup());

        return _showGuestGroup;
    }

    public boolean isShowLayout() {
        if (_showLayout != null) {
            return _showLayout;
        }

        _showLayout = ParamUtil.getBoolean(_request, "showLayout",
                _siteNavigationBreadcrumbPortletInstanceConfiguration.showLayout());

        return _showLayout;
    }

    public boolean isShowParentGroups() {
        if (_showParentGroups != null) {
            return _showParentGroups;
        }

        _showParentGroups = ParamUtil.getBoolean(_request, "showParentGroups",
                _siteNavigationBreadcrumbPortletInstanceConfiguration.showParentGroups());

        return _showParentGroups;
    }

    public boolean isShowPortletBreadcrumb() {
        if (_showPortletBreadcrumb != null) {
            return _showPortletBreadcrumb;
        }

        _showPortletBreadcrumb = ParamUtil.getBoolean(_request, "showPortletBreadcrumb",
                _siteNavigationBreadcrumbPortletInstanceConfiguration.showPortletBreadcrumb());

        return _showPortletBreadcrumb;
    }

    private static final Log _log = LogFactoryUtil.getLog(SiteNavigationBreadcrumbDisplayContext.class);

    private String _ddmTemplateKey;
    private String _displayStyle;
    private long _displayStyleGroupId;
    private String _portletResource;
    private final HttpServletRequest _request;
    private Boolean _showCurrentGroup;
    private Boolean _showGuestGroup;
    private Boolean _showLayout;
    private Boolean _showParentGroups;
    private Boolean _showPortletBreadcrumb;
    private final SiteNavigationBreadcrumbPortletInstanceConfiguration _siteNavigationBreadcrumbPortletInstanceConfiguration;

}