Rev 419 | Blame | Last modification | View Log | RSS feed
package in.shop2020.serving.controllers;import java.util.Date;import javax.servlet.http.Cookie;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.convention.annotation.Results;import org.apache.struts2.rest.DefaultHttpHeaders;import org.apache.struts2.rest.HttpHeaders;import org.apache.thrift.TException;import in.shop2020.model.v1.user.AuthenticationException;import in.shop2020.model.v1.user.UserContextException;import in.shop2020.model.v1.user.UserContextService.Client;import in.shop2020.serving.services.UserSessionInfo;import in.shop2020.serving.utils.Utils;import in.shop2020.thrift.clients.UserContextServiceClient;import in.shop2020.thrift.clients.UserProfileClient;import com.opensymphony.xwork2.ModelDriven;@Results({@Result(name="success", type="redirectAction", params = {"actionName" ,"entity"})})public class AuthController extends BaseController implements ModelDriven<Object>{private Auth auth = new Auth();private UserContextServiceClient client = null;private int errorCode = 0;private String errorMessage;private String id;public AuthController(){try {client = new UserContextServiceClient();} catch (Exception e) {e.printStackTrace();}}@Overridepublic Object getModel() {return this.auth;}public HttpHeaders show(){Client c = client.getClient();/*if(this.getId().equals("logout")){if(this.session.getAttribute("userid") != null&& this.session.getAttribute("loggedin") != null&& this.session.getAttribute("loggedin").toString().equals("true")){long userId = Long.parseLong(this.session.getAttribute("userid").toString());try {c.setUserAsLoggedOut(userId, (new Date()).getTime());} catch (UserContextException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (TException e) {// TODO Auto-generated catch blocke.printStackTrace();}this.session.removeAttribute("userid");this.session.removeAttribute("loggedin");this.session.removeAttribute("issessionid");this.session.removeAttribute("email");return new DefaultHttpHeaders("lsuccess");}else{return new DefaultHttpHeaders("lfail");}}*/if(this.getId().equals("logout")){if(userinfo.isLoggedIn()){long userId = userinfo.getUserId();try {c.setUserAsLoggedOut(userId, (new Date()).getTime());this.session.removeAttribute("userinfo");} catch (UserContextException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (TException e) {// TODO Auto-generated catch blocke.printStackTrace();}return new DefaultHttpHeaders("lsuccess");}else{return new DefaultHttpHeaders("lfail");}}return new DefaultHttpHeaders("lfail");}public HttpHeaders create(){System.out.println(auth);//return new DefaultHttpHeaders("lsuccess");//AUTH service to be invoked from hereClient c = client.getClient();try {if (c.authenticateUser(auth.getUserName(), auth.getPassword(), true)){long userId = c.getContext(auth.getUserName(), auth.getPassword()).getId();c.setUserAsLoggedIn(userId, (new Date()).getTime());// userinfo = (UserSessionInfo) this.session.getAttribute("userinfo");userinfo.setUserId(userId);userinfo.setLoggedIn(true);userinfo.setEmail(auth.getUserName());//userinfo.setNameOfUser(Utils.getNameOfUser(userId));this.session.setAttribute("userinfo", userinfo);Cookie cookie1 = new Cookie("userid", userId+"");this.response.addCookie(cookie1);return new DefaultHttpHeaders("lsuccess");}} catch (AuthenticationException e) {errorCode = e.getErrorCode();errorMessage = e.getMessage();} catch (TException e) {// TODO Auto-generated catch blockerrorCode = -1;e.printStackTrace();} catch (UserContextException e) {// TODO Auto-generated catch blockerrorCode = -1;e.printStackTrace();}return new DefaultHttpHeaders("lfail");}public int getErrorCode() {return errorCode;}public String getErrorMessage() {return errorMessage;}public String getId(){return id;}public void setId(String id){this.id = id;}public Auth getAuth() {return auth;}public void setAuth(Auth auth) {this.auth = auth;}}