Subversion Repositories SmartDukaan

Rev

Rev 5826 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1891 ankur.sing 1
package in.shop2020.support.controllers;
2
 
1941 ankur.sing 3
import in.shop2020.support.utils.ReportsUtils;
3125 rajveer 4
import in.shop2020.thrift.clients.HelperClient;
1891 ankur.sing 5
import in.shop2020.utils.Report;
6
import in.shop2020.utils.ReportUser;
7
 
8
import java.util.List;
9
 
10
import javax.servlet.ServletContext;
11
import javax.servlet.http.HttpServletRequest;
12
import javax.servlet.http.HttpServletResponse;
13
import javax.servlet.http.HttpSession;
14
 
15
import org.apache.struts2.interceptor.ServletRequestAware;
16
import org.apache.struts2.interceptor.ServletResponseAware;
17
import org.apache.struts2.util.ServletContextAware;
3213 chandransh 18
import org.slf4j.Logger;
19
import org.slf4j.LoggerFactory;
1891 ankur.sing 20
 
21
public class ReportsController implements ServletResponseAware, ServletRequestAware, ServletContextAware {
22
 
3213 chandransh 23
    private static Logger logger = LoggerFactory.getLogger(ReportsController.class);
24
 
1891 ankur.sing 25
    private HttpServletRequest request;
26
    private HttpServletResponse response;
27
    private HttpSession session;
28
    private ServletContext context;
29
 
30
    private String errorMsg = "";
31
    private final String authsuccess = "authsuccess";
32
    private final String authfail = "authfail";
33
    private List<Report> reports;
34
 
3125 rajveer 35
    private HelperClient hsc;
1891 ankur.sing 36
    private in.shop2020.utils.HelperService.Client client;
37
 
38
    private long role;
1941 ankur.sing 39
    //private static final String USER_NAME = "username", PASSWORD = "password", ROLE = "role";
1891 ankur.sing 40
 
41
    public ReportsController() {
42
        try {
3125 rajveer 43
            hsc = new HelperClient();
1891 ankur.sing 44
            client = hsc.getClient();
45
        } catch (Exception e) {
3213 chandransh 46
            logger.error("Error while initializing connection to the helper service", e);
1891 ankur.sing 47
        }
48
    }
49
 
50
    @Override
51
    public void setServletRequest(HttpServletRequest req) {
52
        this.request = req;
53
        this.session = req.getSession();
54
    }
55
 
56
    public HttpServletRequest getServletRequest() {
57
        return request;
58
    }
59
 
60
    @Override
61
    public void setServletResponse(HttpServletResponse res) {
62
        this.response = res;
63
    }
64
 
65
    public HttpServletResponse getServletResponse() {
66
        return response;
67
    }
68
 
69
    @Override
70
    public void setServletContext(ServletContext context) {
71
        this.context = context;
72
    }
73
 
74
    public String getServletContextPath() {
75
        return context.getContextPath();
76
    }
77
 
78
    public String index() {
79
        if (getSessionUserName() == null) {
80
            return authfail;
81
        } else {
1941 ankur.sing 82
            if(reports == null) {
83
                reports = ReportsUtils.getReports((Long)session.getAttribute(ReportsUtils.ROLE));
84
            }
85
            //loadReports();
1891 ankur.sing 86
            return authsuccess;
87
        }
88
    }
89
 
90
    // Handles the POST request (Form Submission)
91
    public String create() {
1941 ankur.sing 92
        String username = request.getParameter(ReportsUtils.USER_NAME);
93
        String password = request.getParameter(ReportsUtils.PASSWORD);
1891 ankur.sing 94
        if (username != null && password != null) {
95
            try {
96
                ReportUser user = client.authenticateReportUser(username, password);
97
                role = user.getRole();
1941 ankur.sing 98
                session.setAttribute(ReportsUtils.USER_NAME, user.getUsername());
99
                session.setAttribute(ReportsUtils.ROLE, role);
12256 kshitij.so 100
                logger.info("email is "+user.getEmail());
101
                session.setAttribute(ReportsUtils.USER_EMAIL, user.getEmail());
1941 ankur.sing 102
                //loadReports();
103
                reports = ReportsUtils.getReports(role);
1891 ankur.sing 104
                return authsuccess;
105
            } catch (Exception e) {
3213 chandransh 106
                logger.error("Invalid user", e);
1891 ankur.sing 107
                errorMsg = "Invalid Username or Password. Please try again...";
108
                return authfail;
109
            }
110
        }
111
        if (getSessionUserName() == null) {
112
            return authfail;
113
        }
114
        return authsuccess;
115
    }
116
 
117
    public String getErrorMsg() {
118
        return errorMsg;
119
    }
120
 
121
    public String getSessionUserName() {
1941 ankur.sing 122
        return (String) session.getAttribute(ReportsUtils.USER_NAME);
1891 ankur.sing 123
    }
124
 
125
    public List<Report> getReports() {
126
        return reports;
127
    }
128
 
129
    public String returnLoginFail() {
130
        return authfail;
131
    }
132
 
133
    public boolean isLoggedIn() {
1941 ankur.sing 134
        if (session.getAttribute(ReportsUtils.USER_NAME) != null) {
1891 ankur.sing 135
            return true;
136
        }
137
        return false;
138
    }
139
 
140
    public void setUserAsLogout() {
1941 ankur.sing 141
        session.setAttribute(ReportsUtils.USER_NAME, null);
142
        session.setAttribute(ReportsUtils.ROLE, null);
5826 rajveer 143
        session.setAttribute("STORE_ID", null);
1891 ankur.sing 144
    }
145
}