예제 #1
0
 /** Get the object associated with the ID in the session */
 protected Object getSessionIdObject(String id) {
   HttpSession session = getSession();
   synchronized (session) {
     BidiMap map = (BidiMap) session.getAttribute(SESSION_KEY_OBJ_MAP);
     if (map == null) {
       return null;
     }
     return map.getKey(id);
   }
 }
예제 #2
0
 /** Get the ID with which the object is associated with the session, if any */
 protected String getSessionObjectId(Object obj) {
   HttpSession session = getSession();
   BidiMap map;
   synchronized (session) {
     map = (BidiMap) session.getAttribute(SESSION_KEY_OBJ_MAP);
     if (map == null) {
       map = new DualHashBidiMap();
       session.setAttribute(SESSION_KEY_OBJ_MAP, map);
     }
   }
   synchronized (map) {
     String id = (String) map.get(obj);
     if (id == null) {
       id = getNewSessionObjectId();
       map.put(obj, id);
     }
     return id;
   }
 }