Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1062 → Rev 1063

/hostadmiral/trunk/src/ak/hostadmiral/core/action/UserUpdater.java
1,10 → 1,12
package ak.hostadmiral.core.action;
 
import java.util.Map;
import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
 
import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.HttpSessionActivationListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSession;
 
13,6 → 15,7
import org.apache.struts.Globals;
 
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.util.ConfigInit;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserManager;
import ak.hostadmiral.core.model.UserModifiedListener;
19,7 → 22,11
import ak.hostadmiral.core.servlet.SessionKeys;
 
public final class UserUpdater
implements UserModifiedListener, HttpSessionListener
implements
ConfigInit,
UserModifiedListener,
HttpSessionListener,
HttpSessionActivationListener
{
private static final Logger logger = Logger.getLogger(UserUpdater.class);
 
28,9 → 35,13
 
public UserUpdater()
{
logger.info("registered for session events");
}
 
public void init(Map params)
{
register();
}
 
protected void register()
{
UserManager.getInstance().addModifiedListener(this);
41,20 → 52,33
 
public void sessionCreated(HttpSessionEvent se)
{
if(!registered) register(); // FIXME is application always initialized
// before create a session?
 
logger.info("add session");
logger.info("session created");
sessions.add(se.getSession());
}
 
public void sessionDestroyed(HttpSessionEvent se)
{
if(!registered) register();
if(logger.isInfoEnabled()) {
logger.info("session destroyed for " + se.getSession().getAttribute(SessionKeys.USER));
}
 
sessions.remove(se.getSession());
}
 
public void sessionDidActivate(HttpSessionEvent se)
{
if(logger.isInfoEnabled()) {
logger.info("remove session for " + se.getSession().getAttribute(SessionKeys.USER));
logger.info("session activated for " + se.getSession().getAttribute(SessionKeys.USER));
}
 
sessions.add(se.getSession());
}
 
public void sessionWillPassivate(HttpSessionEvent se)
{
if(logger.isInfoEnabled()) {
logger.info("session passivated for " + se.getSession().getAttribute(SessionKeys.USER));
}
 
sessions.remove(se.getSession());
}