Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1070 → Rev 1071

/hostadmiral/trunk/src/ak/hostadmiral/core/action/UserUpdater.java
1,21 → 1,15
package ak.hostadmiral.core.action.sessioncontrol;
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;
 
import org.apache.log4j.Logger;
 
import org.apache.struts.Globals;
 
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.util.ConfigInit;
import ak.hostadmiral.servlet.sessioncontrol.SessionControl;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserManager;
import ak.hostadmiral.core.model.UserModifiedListener;
24,15 → 18,10
public final class UserUpdater
implements
ConfigInit,
UserModifiedListener,
HttpSessionListener,
HttpSessionActivationListener
UserModifiedListener
{
private static final Logger logger = Logger.getLogger(UserUpdater.class);
 
protected Set sessions = new HashSet();
protected boolean registered = false;
 
public UserUpdater()
{
}
39,56 → 28,16
 
public void init(Map params)
{
register();
}
 
protected void register()
{
UserManager.getInstance().addModifiedListener(this);
registered = true;
 
logger.info("registered for user modifications");
}
 
public void sessionCreated(HttpSessionEvent se)
{
logger.info("session created");
sessions.add(se.getSession());
}
 
public void sessionDestroyed(HttpSessionEvent se)
{
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("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());
}
 
public void userModified(User editor, User user, User oldUser)
throws ModelException
{
logger.info("user modified: " + user);
 
for(Iterator i = sessions.iterator(); i.hasNext(); ) {
for(Iterator i = SessionControl.getInstance().getSessions().iterator(); i.hasNext(); ) {
HttpSession s = (HttpSession)i.next();
User u = (User)s.getAttribute(SessionKeys.USER);
 
/hostadmiral/trunk/src/ak/hostadmiral/core/model/User.java
264,6 → 264,11
return locale;
}
 
public void setLocale(Locale locale)
{
this.locale = locale;
}
 
public void setLocale(User editor, Locale locale)
throws ModelException
{