Subversion Repositories SmartDukaan

Rev

Rev 536 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 536 Rev 545
Line 2... Line 2...
2
 
2
 
3
import java.util.Date;
3
import java.util.Date;
4
 
4
 
5
import javax.servlet.http.Cookie;
5
import javax.servlet.http.Cookie;
6
 
6
 
-
 
7
import org.apache.juli.logging.Log;
-
 
8
import org.apache.juli.logging.LogFactory;
7
import org.apache.struts2.convention.annotation.Result;
9
import org.apache.struts2.convention.annotation.Result;
8
import org.apache.struts2.convention.annotation.Results;
10
import org.apache.struts2.convention.annotation.Results;
9
import org.apache.struts2.rest.DefaultHttpHeaders;
11
import org.apache.struts2.rest.DefaultHttpHeaders;
10
import org.apache.struts2.rest.HttpHeaders;
12
import org.apache.struts2.rest.HttpHeaders;
11
import org.apache.thrift.TException;
13
import org.apache.thrift.TException;
Line 16... Line 18...
16
import in.shop2020.serving.utils.Utils;
18
import in.shop2020.serving.utils.Utils;
17
import in.shop2020.thrift.clients.UserContextServiceClient;
19
import in.shop2020.thrift.clients.UserContextServiceClient;
18
 
20
 
19
import com.opensymphony.xwork2.ModelDriven;
21
import com.opensymphony.xwork2.ModelDriven;
20
 
22
 
21
@Results({
23
/**
22
    @Result(name="success", type="redirectAction", params = {"actionName" , 
24
 * Authantication class to authenticate the user.
-
 
25
 * 
23
    		"entity/1000111"})
26
 * @author rajveer
24
})
27
 *
-
 
28
 */
-
 
29
 
25
public class AuthController extends BaseController implements ModelDriven<Object>{
30
public class AuthController extends BaseController implements ModelDriven<Object>{
26
 
31
 
27
	private Auth auth = new Auth();
32
	private Auth auth = new Auth();
28
	
33
	
29
	private UserContextServiceClient client = null;
34
	private UserContextServiceClient client = null;
Line 33... Line 38...
33
	
38
	
34
	private String id;
39
	private String id;
35
	
40
	
36
	private String nameOfUser;
41
	private String nameOfUser;
37
	
42
	
-
 
43
	private static Log log = LogFactory.getLog(AuthController.class);
38
	
44
	
39
	public AuthController(){
45
	public AuthController(){
40
		try {
46
		try {
41
			client = new UserContextServiceClient();
47
			client = new UserContextServiceClient();
42
		} catch (Exception e) {
48
		} catch (Exception e) {
Line 47... Line 53...
47
	@Override
53
	@Override
48
	public Object getModel() {
54
	public Object getModel() {
49
		return this.auth;
55
		return this.auth;
50
	}
56
	}
51
	
57
	
52
	public HttpHeaders show(){
-
 
53
		Client c = client.getClient();
-
 
54
		
-
 
55
		/*
-
 
56
		if(this.getId().equals("logout")){
-
 
57
			if(this.session.getAttribute("userid") != null 
-
 
58
					&& this.session.getAttribute("loggedin") != null
-
 
59
					&& this.session.getAttribute("loggedin").toString().equals("true")){
-
 
60
				
-
 
61
				long userId = Long.parseLong(this.session.getAttribute("userid").toString());
-
 
62
				try {
58
	// POST /auth
63
					c.setUserAsLoggedOut(userId, (new Date()).getTime());
-
 
64
				} catch (UserContextException e) {
-
 
65
					// TODO Auto-generated catch block
-
 
66
					e.printStackTrace();
-
 
67
				} catch (TException e) {
-
 
68
					// TODO Auto-generated catch block
-
 
69
					e.printStackTrace();
-
 
70
				}
-
 
71
				
-
 
72
				this.session.removeAttribute("userid");
-
 
73
				this.session.removeAttribute("loggedin");
-
 
74
				this.session.removeAttribute("issessionid");
-
 
75
				this.session.removeAttribute("email");
-
 
76
				return new DefaultHttpHeaders("lsuccess");
-
 
77
			}else{
-
 
78
				return new DefaultHttpHeaders("lfail");
-
 
79
			}
-
 
80
		}*/
-
 
81
		
-
 
82
		if(this.getId().equals("logout")){
-
 
83
			if(userinfo.isLoggedIn()){
-
 
84
				long userId = userinfo.getUserId();
-
 
85
				
-
 
86
				try {
-
 
87
					c.setUserAsLoggedOut(userId, (new Date()).getTime());
-
 
88
					this.session.removeAttribute("userinfo");
-
 
89
				} catch (UserContextException e) {
-
 
90
					// TODO Auto-generated catch block
-
 
91
					e.printStackTrace();
-
 
92
				} catch (TException e) {
-
 
93
					// TODO Auto-generated catch block
-
 
94
					e.printStackTrace();
-
 
95
				}
-
 
96
				
-
 
97
				return new DefaultHttpHeaders("lsuccess");
-
 
98
			}else{
-
 
99
				return new DefaultHttpHeaders("lfail");
-
 
100
			}
-
 
101
		}
-
 
102
			
-
 
103
			
-
 
104
		return new DefaultHttpHeaders("lfail");
-
 
105
 
-
 
106
	}
-
 
107
	
-
 
108
	public HttpHeaders create(){
59
	public HttpHeaders create(){
109
		System.out.println(auth);
60
		log.info(auth);
110
		//return new DefaultHttpHeaders("lsuccess");
-
 
111
		//AUTH service to be invoked from here
-
 
112
		
-
 
113
		Client c = client.getClient();
61
		Client c = client.getClient();
114
		try {
62
		try {
115
			
-
 
116
			if (c.authenticateUser(auth.getUserName(), auth.getPassword(), true)){
63
			if (c.authenticateUser(auth.getUserName(), auth.getPassword(), true)){
117
				long userId = c.getContext(auth.getUserName(), auth.getPassword()).getId();
64
				long userId = c.getContext(auth.getUserName(), auth.getPassword()).getId();
118
				c.setUserAsLoggedIn(userId, (new Date()).getTime());
65
				c.setUserAsLoggedIn(userId, (new Date()).getTime());
119
				
-
 
120
//				userinfo = (UserSessionInfo) this.session.getAttribute("userinfo");
-
 
121
 
66
 
122
				userinfo.setUserId(userId);
67
				userinfo.setUserId(userId);
123
				userinfo.setLoggedIn(true);
68
				userinfo.setLoggedIn(true);
124
				userinfo.setEmail(auth.getUserName());
69
				userinfo.setEmail(auth.getUserName());
125
				userinfo.setNameOfUser(Utils.getNameOfUser(userId));
70
				userinfo.setNameOfUser(Utils.getNameOfUser(userId));
Line 140... Line 85...
140
			}
85
			}
141
		} catch (AuthenticationException e) {
86
		} catch (AuthenticationException e) {
142
			
87
			
143
			errorCode = e.getErrorCode();
88
			errorCode = e.getErrorCode();
144
			errorMessage = e.getMessage();
89
			errorMessage = e.getMessage();
145
			
-
 
-
 
90
			log.error("Exception number is: " +  errorCode + "Exception message is:" + errorMessage);
146
		} catch (TException e) {
91
		} catch (TException e) {
147
			// TODO Auto-generated catch block
-
 
148
			errorCode = -1;
92
			errorCode = -1;
149
			e.printStackTrace();
93
			e.printStackTrace();
-
 
94
			log.error("Exception number is: " +  errorCode + "Exception message is:" + errorMessage);
150
		} catch (UserContextException e) {
95
		} catch (UserContextException e) {
151
			// TODO Auto-generated catch block
-
 
152
			errorCode = -1;
96
			errorCode = e.getErrorCode();
153
			e.printStackTrace();
97
			e.printStackTrace();
-
 
98
			log.error("Exception number is: " +  errorCode + "Exception message is:" + errorMessage);
154
		}
99
		}
155
		return new DefaultHttpHeaders("lfail");
100
		return new DefaultHttpHeaders("lfail");
156
		
-
 
157
	}
101
	}
158
 
102
 
159
	public int getErrorCode() {
103
	public int getErrorCode() {
160
		return errorCode;
104
		return errorCode;
161
	}
105
	}