Rev 12143 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.mobileapi.serving.services;import in.shop2020.model.v1.user.User;import in.shop2020.model.v1.user.UserContextException;import in.shop2020.thrift.clients.UserClient;import java.io.Serializable;import org.apache.log4j.Logger;import org.apache.thrift.TException;/*** This class is used to cache data about the user.**/@SuppressWarnings("serial")public class UserSessionInfo implements Serializable{private static Logger logger = Logger.getLogger(UserSessionInfo.class);/****/private boolean isLoggedIn;private long userId;private String email;private String pincode;private boolean isPrivateDealUser;public UserSessionInfo(){this.isLoggedIn = false;this.setPrivateDealUser(false);this.userId = -1;this.email = "";this.pincode = "110001";}public UserSessionInfo(long userId){this();try {UserClient ucsc = new UserClient();in.shop2020.model.v1.user.UserContextService.Client userClient = ucsc.getClient();User existingUser = userClient.getUserById(userId);if(existingUser != null && existingUser.getUserId() != -1){pincode = userClient.getDefaultPincode(existingUser.getUserId());initialize(existingUser, pincode);}} catch (UserContextException e) {logger.error("Unable to get user info from user service: ", e);} catch (TException e) {logger.error("Unable to get user info from user service: ", e);} catch (Exception e) {logger.error("Unexpected exception: ", e);}}public UserSessionInfo(String jsessionId) {this();UserClient ucsc = null;try {ucsc = new UserClient();in.shop2020.model.v1.user.UserContextService.Client userClient = ucsc.getClient();User anonUser = userClient.createAnonymousUser(jsessionId);pincode = userClient.getDefaultPincode(anonUser.getUserId());initialize(anonUser, pincode);} catch (UserContextException e) {logger.error("Unable to get user info from user service: ", e);} catch (TException e) {logger.error("Unable to get user info from user service: ", e);} catch (Exception e) {logger.error("Unexpected exception: ", e);}}private void initialize(User user, String pincode){if(user!=null){this.isLoggedIn = !user.isIsAnonymous();this.userId = user.getUserId();this.email = user.getEmail();this.pincode = pincode;}else{this.isLoggedIn = false;this.userId = -1;this.email = "";this.pincode = pincode;}}public boolean isSessionId() {return !isLoggedIn;}public boolean isLoggedIn() {return isLoggedIn;}public void setLoggedIn(boolean isLoggedIn) {this.isLoggedIn = isLoggedIn;}public long getUserId() {return userId;}public void setUserId(long userId) {this.userId = userId;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getPincode() {return pincode;}public void setPincode(String pincode) {this.pincode = pincode;}@Overridepublic String toString() {return "UserSessionInfo [isLoggedIn=" + isLoggedIn + ", userId="+ userId + ", email=" + email + ", pincode=" + pincode+ ", isPrivateDealUser=" + isPrivateDealUser + "]";}public static void main(String[] args) {System.out.println();String cookieValue = "fG0CKt4DUD_D9iP1Ero0v2Io1AgVLoGqXDp0NWAPkzZuw3zHKot5owJK6IodZQfE2aS-obOK3BwXUNRirVHDyd-ycsyG4GfBPd0Ypl1MkxuVBmY4csB0FEg_IgWUm9GaGEzvtmmiZ5bE24XlpUPqR4AoTUAp8d92DDTG61FOFktDIGg3L0Tyk4qpVlAU3xQ3";// UserSessionInfo uinfo = UserSessionInfo.getUserSessionInfoFromCookieValue(cookieValue);// System.out.println(uinfo);}public void setPrivateDealUser(boolean isPrivateDealUser) {this.isPrivateDealUser = isPrivateDealUser;}public boolean isPrivateDealUser() {return isPrivateDealUser;}}