All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.visallo.web.routes.user.Logout Maven / Gradle / Ivy

There is a newer version: 2.2.0
Show newest version
package org.visallo.web.routes.user;

import com.google.inject.Inject;
import com.v5analytics.webster.ParameterizedHandler;
import com.v5analytics.webster.annotations.Handle;
import org.visallo.core.model.user.UserSessionCounterRepository;
import org.visallo.web.CurrentUser;
import org.visallo.web.VisalloResponse;
import org.visallo.web.clientapi.model.ClientApiSuccess;

import javax.servlet.http.HttpServletRequest;

public class Logout implements ParameterizedHandler {
    private UserSessionCounterRepository userSessionCounterRepository;

    @Inject
    public Logout(final UserSessionCounterRepository userSessionCounterRepository) {
        this.userSessionCounterRepository = userSessionCounterRepository;
    }

    @Handle
    public ClientApiSuccess handle(HttpServletRequest request) throws Exception {
        String userId = CurrentUser.getUserId(request);
        String sessionId = request.getSession().getId();
        this.userSessionCounterRepository.deleteSession(userId, sessionId);
        CurrentUser.clearUserFromSession(request);
        request.getSession().invalidate();
        return VisalloResponse.SUCCESS;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy