Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

package in.shop2020.serving.controllers;

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.UserContextService.Client;
import in.shop2020.serving.rest.Auth;
import in.shop2020.thrift.clients.UserContextServiceClient;
import in.shop2020.thrift.clients.UserProfileClient;

import com.opensymphony.xwork2.ModelDriven;

public class AuthController implements ModelDriven<Object>{

        private Auth auth = new Auth();
        
        private UserContextServiceClient client = null;
        
        private int errorCode = 0;
        private String errorMessage;
        
        public AuthController(){
                try {
                        client = new UserContextServiceClient();
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
        
        @Override
        public Object getModel() {
                return auth;
        }
        
        public HttpHeaders create(){
                
                //AUTH service to be invoked from here
                Client c = client.getClient();
                try {
                        if (c.authenticateUser(auth.getUserName(), auth.getPassword(), true)){
                                return new DefaultHttpHeaders("lsuccess");
                        }
                } catch (AuthenticationException e) {
                        
                        errorCode = e.getErrorCode();
                        errorMessage = e.getMessage();
                        
                } catch (TException e) {
                        // TODO Auto-generated catch block
                        errorCode = -1;
                        e.printStackTrace();
                }
                return new DefaultHttpHeaders("lfail");
        }

        public int getErrorCode() {
                return errorCode;
        }

        public String getErrorMessage() {
                return errorMessage;
        }
}