package org.bonitasoft.console.common.server.page;
import java.util.Locale;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.bonitasoft.engine.session.APISession;
public class PageContextHelper {
public static final String PROFILE_PARAM = "profile";
public static final String LOCALE_PARAM = "locale";
public static final String DEFAULT_LOCALE = "en";
public static final String LOCALE_COOKIE_NAME = "BOS_Locale";
public static final String ATTRIBUTE_API_SESSION = "apiSession";
private final HttpServletRequest request;
public PageContextHelper(HttpServletRequest request) {
this.request = request;
}
public String getCurrentProfile() {
return request.getParameter(PROFILE_PARAM);
}
public Locale getCurrentLocale() {
final String locale = request.getParameter(LOCALE_PARAM);
if (locale == null) {
for (final Cookie cookie : request.getCookies()) {
if (cookie.getName().equals(LOCALE_COOKIE_NAME)) {
return new Locale(cookie.getValue());
}
}
return new Locale(DEFAULT_LOCALE);
}
return new Locale(locale);
}
public APISession getApiSession() {
final HttpSession httpSession = request.getSession();
return (APISession) httpSession.getAttribute(ATTRIBUTE_API_SESSION);
}
}