Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1071 → Rev 1070

/hostadmiral/trunk/src/ak/hostadmiral/servlet/sessioncontrol/SessionObserver.java
File deleted
/hostadmiral/trunk/src/ak/hostadmiral/servlet/sessioncontrol/SessionBug.java
File deleted
/hostadmiral/trunk/src/ak/hostadmiral/servlet/sessioncontrol/SessionControl.java
File deleted
/hostadmiral/trunk/src/ak/hostadmiral/core/action/UserUpdater.java
1,15 → 1,21
package ak.hostadmiral.core.action;
package ak.hostadmiral.core.action.sessioncontrol;
 
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;
18,10 → 24,15
public final class UserUpdater
implements
ConfigInit,
UserModifiedListener
UserModifiedListener,
HttpSessionListener,
HttpSessionActivationListener
{
private static final Logger logger = Logger.getLogger(UserUpdater.class);
 
protected Set sessions = new HashSet();
protected boolean registered = false;
 
public UserUpdater()
{
}
28,16 → 39,56
 
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 = SessionControl.getInstance().getSessions().iterator(); i.hasNext(); ) {
for(Iterator i = sessions.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,11 → 264,6
return locale;
}
 
public void setLocale(Locale locale)
{
this.locale = locale;
}
 
public void setLocale(User editor, Locale locale)
throws ModelException
{
/hostadmiral/trunk/webapp/WEB-INF/conf/hostadmiral_config.xml.default
48,6 → 48,10
and can use static initializers.
-->
<initializations>
<!-- Utils -->
<initialization>
<class>ak.hostadmiral.util.ResourceManager</class>
</initialization>
<!-- Core classes -->
<initialization>
<class>ak.hostadmiral.core.model.UserManager</class>
103,9 → 107,5
<param-value>ak.hostadmiral.core.model.store.hibernate.MailAliasDestinationHibernate</param-value>
</init-param>
</initialization>
<!-- Web classes -->
<initialization>
<class>ak.hostadmiral.core.action.UserUpdater</class>
</initialization>
</initializations>
</hostadmiral>
/hostadmiral/trunk/webapp/WEB-INF/web.xml
49,7 → 49,7
</filter-mapping>
 
<listener>
<listener-class>ak.hostadmiral.servlet.sessioncontrol.SessionObserver</listener-class>
<listener-class>ak.hostadmiral.core.action.UserUpdater</listener-class>
</listener>
 
<servlet>