Subversion Repositories SmartDukaan

Rev

Rev 2419 | Rev 2911 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.serving.controllers;

import in.shop2020.datalogger.EventType;
import in.shop2020.thrift.clients.UserContextServiceClient;
import in.shop2020.utils.DataLogger;

import java.util.Date;

import javax.servlet.http.Cookie;

import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;

/**
 * @author rajveer
 *
 */
@Results({
    @Result(name="success", type="redirectAction", 
                params = {"actionName" , "home"})
})

public class LogoutController extends BaseController {

        
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        /**
         * 
         */
        
        public LogoutController() {
                super();
                
        }
    
    // GET /logout
    public String index() throws Exception {
                if(this.userinfo.isLoggedIn()){
                        logoutUser(this.userinfo.getUserId());
                        this.session.removeAttribute("userinfo");
                        Cookie uidCookie = cookiesMap.get("uid");
                        uidCookie.setDomain(domainName);
                        uidCookie.setPath("/");
                        uidCookie.setValue("");
                        uidCookie.setMaxAge(0);
                this.response.addCookie(uidCookie);
                }       
                DataLogger.logData(EventType.LOGOUT, session.getId(), userinfo.getUserId(), userinfo.getEmail());
                return "success";
        
    }
        

    public boolean logoutUser(long userId) throws Exception{
                UserContextServiceClient userContextServiceClient =new UserContextServiceClient();
                in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();
                
                userClient.setUserAsLoggedOut(userId, (new Date()).getTime());
                
        return true;
    }

}