1 18 19 package cowsultants.itracker.web.util; 20 21 import java.util.*; 22 23 public class SessionManager { 24 private static HashMap activeSessionsStarted = new HashMap(); 25 private static HashMap activeSessionsLastAccess = new HashMap(); 26 private static HashMap activeSessionsReset = new HashMap(); 27 28 public SessionManager() { 29 } 30 31 public static int getNumActiveSessions() { 32 return activeSessionsStarted.size(); 33 } 34 35 public static Date getSessionStart(String login) { 36 return ((Date) activeSessionsStarted.get(login)); 37 } 38 39 public static Date getSessionLastAccess(String login) { 40 return ((Date) activeSessionsLastAccess.get(login)); 41 } 42 43 public static boolean getSessionNeedsReset(String login) { 44 return (activeSessionsReset.get(login) != null ? true : false); 45 } 46 47 public static void updateSessionLastAccess(String login) { 48 activeSessionsLastAccess.put(login, new Date()); 49 } 50 51 public static void createSession(String login) { 52 Date now = new Date(); 53 activeSessionsStarted.put(login, now); 54 activeSessionsLastAccess.put(login, now); 55 } 56 57 public static void invalidateSession(String login) { 58 activeSessionsLastAccess.remove(login); 59 activeSessionsStarted.remove(login); 60 activeSessionsReset.remove(login); 61 } 62 63 public static void setSessionNeedsReset(String login) { 64 activeSessionsReset.put(login, new Integer (1)); 65 } 66 67 public static void setAllSessionsNeedsReset() { 68 for(Iterator iter = activeSessionsStarted.keySet().iterator(); iter.hasNext(); ) { 69 activeSessionsReset.put((String ) iter.next(), new Integer (1)); 70 } 71 } 72 73 public static void clearSessionNeedsReset(String login) { 74 activeSessionsReset.remove(login); 75 } 76 } | Popular Tags |