All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.liferay.portal.kernel.display.context.util.BaseRequestHelper Maven / Gradle / Ivy

There is a newer version: 7.4.3.112-ga112
Show newest version
/**
 * 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.portal.kernel.display.context.util;

import com.liferay.portal.kernel.model.Company;
import com.liferay.portal.kernel.model.Layout;
import com.liferay.portal.kernel.model.User;
import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
import com.liferay.portal.kernel.portlet.PortletURLUtil;
import com.liferay.portal.kernel.security.permission.PermissionChecker;
import com.liferay.portal.kernel.theme.PortletDisplay;
import com.liferay.portal.kernel.theme.ThemeDisplay;
import com.liferay.portal.kernel.util.JavaConstants;
import com.liferay.portal.kernel.util.PortalUtil;
import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.kernel.util.WebKeys;

import java.util.Locale;

import javax.portlet.PortletRequest;
import javax.portlet.PortletResponse;
import javax.portlet.PortletURL;

import javax.servlet.http.HttpServletRequest;

/**
 * @author Iván Zaera
 */
public abstract class BaseRequestHelper {

	public BaseRequestHelper(HttpServletRequest request) {
		_request = request;
	}

	public Company getCompany() {
		if (_company == null) {
			ThemeDisplay themeDisplay = getThemeDisplay();

			_company = themeDisplay.getCompany();
		}

		return _company;
	}

	public long getCompanyId() {
		if (_companyId == null) {
			ThemeDisplay themeDisplay = getThemeDisplay();

			_companyId = themeDisplay.getCompanyId();
		}

		return _companyId;
	}

	public String getCurrentURL() {
		if (_currentURL == null) {
			PortletURL portletURL = PortletURLUtil.getCurrent(
				getLiferayPortletRequest(), getLiferayPortletResponse());

			_currentURL = portletURL.toString();
		}

		return _currentURL;
	}

	public Layout getLayout() {
		if (_layout == null) {
			ThemeDisplay themeDisplay = getThemeDisplay();

			_layout = themeDisplay.getLayout();
		}

		return _layout;
	}

	public LiferayPortletRequest getLiferayPortletRequest() {
		if (_liferayPortletRequest == null) {
			PortletRequest portletRequest =
				(PortletRequest)_request.getAttribute(
					JavaConstants.JAVAX_PORTLET_REQUEST);

			_liferayPortletRequest = PortalUtil.getLiferayPortletRequest(
				portletRequest);
		}

		return _liferayPortletRequest;
	}

	public LiferayPortletResponse getLiferayPortletResponse() {
		if (_liferayPortletResponse == null) {
			PortletResponse portletResponse =
				(PortletResponse)_request.getAttribute(
					JavaConstants.JAVAX_PORTLET_RESPONSE);

			_liferayPortletResponse = PortalUtil.getLiferayPortletResponse(
				portletResponse);
		}

		return _liferayPortletResponse;
	}

	public Locale getLocale() {
		if (_locale == null) {
			ThemeDisplay themeDisplay = getThemeDisplay();

			_locale = themeDisplay.getLocale();
		}

		return _locale;
	}

	public PermissionChecker getPermissionChecker() {
		if (_permissionChecker == null) {
			ThemeDisplay themeDisplay = getThemeDisplay();

			_permissionChecker = themeDisplay.getPermissionChecker();
		}

		return _permissionChecker;
	}

	public PortletDisplay getPortletDisplay() {
		if (_portletDisplay == null) {
			ThemeDisplay themeDisplay = getThemeDisplay();

			_portletDisplay = themeDisplay.getPortletDisplay();
		}

		return _portletDisplay;
	}

	public String getPortletId() {
		if (_portletId == null) {
			PortletDisplay portletDisplay = getPortletDisplay();

			_portletId = portletDisplay.getId();
		}

		return _portletId;
	}

	public String getPortletName() {
		if (_portletName == null) {
			PortletDisplay portletDisplay = getPortletDisplay();

			_portletName = portletDisplay.getPortletName();
		}

		return _portletName;
	}

	public String getPortletResource() {
		if (_portletResource == null) {
			PortletDisplay portletDisplay = getPortletDisplay();

			_portletResource = portletDisplay.getPortletResource();
		}

		return _portletResource;
	}

	public String getPortletTitle() {
		if (_portletTitle == null) {
			PortletDisplay portletDisplay = getPortletDisplay();

			_portletTitle = portletDisplay.getTitle();
		}

		return _portletTitle;
	}

	public HttpServletRequest getRequest() {
		return _request;
	}

	public String getResourcePortletId() {
		if (_resourcePortletId == null) {
			String portletResource = getPortletResource();

			if (Validator.isNotNull(portletResource)) {
				_resourcePortletId = getPortletResource();
			}
			else {
				_resourcePortletId = getPortletId();
			}
		}

		return _resourcePortletId;
	}

	public String getResourcePortletName() {
		if (_resourcePortletName == null) {
			String portletResource = getPortletResource();

			if (Validator.isNotNull(portletResource)) {
				_resourcePortletName = portletResource;
			}
			else {
				_resourcePortletName = getPortletName();
			}
		}

		return _resourcePortletName;
	}

	public long getScopeGroupId() {
		if (_scopeGroupId == null) {
			ThemeDisplay themeDisplay = getThemeDisplay();

			_scopeGroupId = themeDisplay.getScopeGroupId();
		}

		return _scopeGroupId;
	}

	public long getSiteGroupId() {
		if (_siteGroupId == null) {
			ThemeDisplay themeDisplay = getThemeDisplay();

			_siteGroupId = themeDisplay.getSiteGroupId();
		}

		return _siteGroupId;
	}

	public ThemeDisplay getThemeDisplay() {
		if (_themeDisplay == null) {
			_themeDisplay = (ThemeDisplay)_request.getAttribute(
				WebKeys.THEME_DISPLAY);
		}

		return _themeDisplay;
	}

	public User getUser() {
		if (_user == null) {
			ThemeDisplay themeDisplay = getThemeDisplay();

			_user = themeDisplay.getUser();
		}

		return _user;
	}

	public long getUserId() {
		if (_user == null) {
			ThemeDisplay themeDisplay = getThemeDisplay();

			_user = themeDisplay.getUser();
		}

		return _user.getUserId();
	}

	private Company _company;
	private Long _companyId;
	private String _currentURL;
	private Layout _layout;
	private LiferayPortletRequest _liferayPortletRequest;
	private LiferayPortletResponse _liferayPortletResponse;
	private Locale _locale;
	private PermissionChecker _permissionChecker;
	private PortletDisplay _portletDisplay;
	private String _portletId;
	private String _portletName;
	private String _portletResource;
	private String _portletTitle;
	private final HttpServletRequest _request;
	private String _resourcePortletId;
	private String _resourcePortletName;
	private Long _scopeGroupId;
	private Long _siteGroupId;
	private ThemeDisplay _themeDisplay;
	private User _user;

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy