A self hosted chat application with end-to-end encrypted messaging.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package org.ros.chatto.logged;
import javax.servlet.http.HttpSessionBindingEvent; import javax.servlet.http.HttpSessionBindingListener;
import org.ros.chatto.model.UserSession; import org.ros.chatto.service.UserService;
import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j;
@Getter @Setter @Slf4j public class LoggedUser implements HttpSessionBindingListener {
private final String username; private final UserService userService;
public LoggedUser(String username) { this.username = username; userService = BeanUtil.getBean(UserService.class); }
@Override public void valueBound(HttpSessionBindingEvent event) {
LoggedUser user = (LoggedUser) event.getValue();
log.debug("Incrementing session count for user {}", user.getUsername());
userService.incrementUserSession(user.getUsername());
// log.trace("Username = {} with sessions = {}", userSession.getUser(),
// userSession.getNumSessions());
}
@Override public void valueUnbound(HttpSessionBindingEvent event) { LoggedUser user = (LoggedUser) event.getValue();
log.debug("Decrementing session count for user {}", user.getUsername());
UserSession userSession = userService .decrementUserSession(user.getUsername());
log.trace("Username = {} with sessions = {}", userSession.getUser(), userSession.getNumSessions());
} }
|