package com.hangum.tadpole.session.manager; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; import org.apache.log4j.Logger; /** * collect login session * * @author hangum * */ public class SessionManagerListener implements HttpSessionListener { /** * Logger for this class */ private static final Logger logger = Logger.getLogger(SessionManagerListener.class); private static Map<String, String> sessionIds = new HashMap<String, String>(); @Override public void sessionCreated(HttpSessionEvent se) { logger.debug("new user login " + se.getSession().getId()); Object email = se.getSession().getAttribute(SessionManager.NAME.LOGIN_EMAIL.toString()); if(email != null) { sessionIds.put(email.toString(), se.getSession().getId()); } } @Override public void sessionDestroyed(HttpSessionEvent se) { Object email = se.getSession().getAttribute(SessionManager.NAME.LOGIN_EMAIL.toString()); if(email != null) { sessionIds.remove(email.toString()); } } /** * find session id * * @param email * @return session id */ public static String getSessionIds(String email) { return sessionIds.get(email); } }