/**
* 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.servlet;
import com.liferay.portal.kernel.util.PortalUtil;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import javax.portlet.PortletRequest;
import javax.servlet.http.HttpServletRequest;
/**
* @author Julio Camarero
* @author Brian Wing Shun Chan
*/
public class MultiSessionMessages {
public static void add(PortletRequest portletRequest, Class<?> clazz) {
SessionMessages.add(portletRequest, clazz.getName());
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
SessionMessages.add(request, clazz.getName());
}
public static void add(
PortletRequest portletRequest, Class<?> clazz, Object value) {
SessionMessages.add(portletRequest, clazz.getName(), value);
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
SessionMessages.add(request, clazz.getName(), value);
}
public static void add(PortletRequest portletRequest, String key) {
SessionMessages.add(portletRequest, key);
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
SessionMessages.add(request, key);
}
public static void add(
PortletRequest portletRequest, String key, Object value) {
SessionMessages.add(portletRequest, key, value);
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
SessionMessages.add(request, key, value);
}
public static void clear(PortletRequest portletRequest) {
SessionMessages.clear(portletRequest);
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
SessionMessages.clear(request);
}
public static boolean contains(
PortletRequest portletRequest, Class<?> clazz) {
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
if (SessionMessages.contains(portletRequest, clazz.getName()) ||
SessionMessages.contains(request, clazz.getName())) {
return true;
}
return false;
}
public static boolean contains(PortletRequest portletRequest, String key) {
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
if (SessionMessages.contains(portletRequest, key) ||
SessionMessages.contains(request, key)) {
return true;
}
return false;
}
public static Object get(PortletRequest portletRequest, Class<?> clazz) {
Object value = SessionMessages.get(portletRequest, clazz.getName());
if (value != null) {
return value;
}
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
return SessionMessages.get(request, clazz.getName());
}
public static Object get(PortletRequest portletRequest, String key) {
Object value = SessionMessages.get(portletRequest, key);
if (value != null) {
return value;
}
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
return SessionMessages.get(request, key);
}
public static boolean isEmpty(PortletRequest portletRequest) {
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
if (SessionMessages.isEmpty(portletRequest) &&
SessionMessages.isEmpty(request)) {
return true;
}
return false;
}
public static Iterator<String> iterator(PortletRequest portletRequest) {
Set<String> set = keySet(portletRequest);
return set.iterator();
}
public static Set<String> keySet(PortletRequest portletRequest) {
Set<String> set = new HashSet<>();
set.addAll(SessionMessages.keySet(portletRequest));
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
set.addAll(SessionMessages.keySet(request));
return Collections.unmodifiableSet(set);
}
public static void print(PortletRequest portletRequest) {
SessionMessages.print(portletRequest);
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
SessionMessages.print(request);
}
public static int size(PortletRequest portletRequest) {
HttpServletRequest request = PortalUtil.getHttpServletRequest(
portletRequest);
return SessionMessages.size(portletRequest) +
SessionMessages.size(request);
}
}