Files
myhealth/1.sources/MyHealth/src/managedbean/common/SessionUtils.java
2019-12-23 16:23:51 +01:00

129 lines
4.2 KiB
Java

package managedbean.common;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import TO.LoggedUserTO;
import common.UserType;
public class SessionUtils {
public static final String SESSION_VAR_USERNAME = "userName";
public static final String SESSION_VAR_USERID = "userId";
public static final String SESSION_VAR_USERTYPE = "userType";
public static final String SESSION_VAR_USER = "loggedOnUser";
public static final String SESSION_VAR_MESSAGE = "facesMessage";
public static HttpSession getSession(boolean create) {
FacesContext ctx = FacesContext.getCurrentInstance();
if (ctx != null)
return (HttpSession) ctx.getExternalContext().getSession(create);
else
return null;
}
public static HttpSession getSession() {
return getSession(false);
}
public static HttpServletRequest getRequest() {
return (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
}
public static HttpSession getSession(ServletRequest request) {
return ((HttpServletRequest) request).getSession(false);
}
public static void createOrUpdateSession(LoggedUserTO usr) {
HttpSession ses = getSession(true);
ses.setAttribute(SessionUtils.SESSION_VAR_USERNAME, usr.getName());
ses.setAttribute(SessionUtils.SESSION_VAR_USERID, usr.getId());
ses.setAttribute(SessionUtils.SESSION_VAR_USERTYPE, usr.getUserType());
ses.setAttribute(SessionUtils.SESSION_VAR_USER, usr);
}
public static void DestroySession() {
HttpSession ses = getSession();
ses.invalidate();
}
public static boolean isLogedIn() {
return isLogedIn(getSession());
}
public static boolean isLogedIn(HttpSession session) {
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_USERID) != null)
return true;
else
return false;
}
public static String getUserName() {
HttpSession session = getSession();
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_USERNAME) != null)
return session.getAttribute(SessionUtils.SESSION_VAR_USERNAME).toString();
else
return "";
}
public static String getUserId() {
HttpSession session = getSession();
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_USERID) != null)
return session.getAttribute(SessionUtils.SESSION_VAR_USERID).toString();
else
return "";
}
public static String getUserDisplayName() {
HttpSession session = getSession();
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_USER) != null) {
LoggedUserTO usr = LoggedUserTO.class.cast(session.getAttribute(SessionUtils.SESSION_VAR_USER));
return usr.getDisplayName();
} else
return "";
}
public static UserType getUserType() {
return getUserType(getSession());
}
public static UserType getUserType(HttpSession session) {
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_USERTYPE) != null)
return UserType.class.cast(session.getAttribute(SessionUtils.SESSION_VAR_USERTYPE));
else
return null;
}
public static LoggedUserTO getloggedOnUser() {
HttpSession session = getSession();
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_USER) != null)
return LoggedUserTO.class.cast(session.getAttribute(SessionUtils.SESSION_VAR_USER));
else
return null;
}
public static FacesMessage getMessage() {
HttpSession session = getSession();
if (session != null && session.getAttribute(SessionUtils.SESSION_VAR_MESSAGE) != null) {
FacesMessage msg = FacesMessage.class.cast(session.getAttribute(SessionUtils.SESSION_VAR_MESSAGE));
session.removeAttribute(SessionUtils.SESSION_VAR_MESSAGE);
return msg;
} else
return null;
}
public static void addMessage(FacesMessage.Severity severity, String summary, String detail) {
addMessage(getSession(), severity, summary, detail);
}
public static void addMessage(HttpSession session, FacesMessage.Severity severity, String summary, String detail) {
if (session != null)
session.setAttribute(SessionUtils.SESSION_VAR_MESSAGE, new FacesMessage(severity, summary, detail));
}
}