package jp.co.y_net.amm.common;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;


/**
 * セッションの利用状況を検知するためのリスナー
 * 
 * 前提: web.xml での宣言
 * @author k_inaba
 *
 */
public class SessionUsageListener implements  HttpSessionListener {
    
    /*
     * 利用状況
     * 　意図的にスレッドセーフでは無い
     */
    public static Map<String, Date> map = new HashMap<String, Date>();
    
    @Override
    public void sessionCreated(HttpSessionEvent event) {
        //System.out.println("sessionCreated:" + event.getSession());
        if(event != null && event.getSession() != null) {
            map.put(event.getSession().getId(), new Date());
        }
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent event) {
        //System.out.println("sessionDestroyed" + event.getSession());
        if(event != null && event.getSession() != null) {
            map.remove(event.getSession().getId());
        }
    }

}
