Subversion Repositories SmartDukaan

Rev

Rev 3213 | Go to most recent revision | 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);
100
                //loadReports();
101
                reports = ReportsUtils.getReports(role);
1891 ankur.sing 102
                return authsuccess;
103
            } catch (Exception e) {
3213 chandransh 104
                logger.error("Invalid user", e);
1891 ankur.sing 105
                errorMsg = "Invalid Username or Password. Please try again...";
106
                return authfail;
107
            }
108
        }
109
        if (getSessionUserName() == null) {
110
            return authfail;
111
        }
112
        return authsuccess;
113
    }
114
 
115
    public String getErrorMsg() {
116
        return errorMsg;
117
    }
118
 
119
    public String getSessionUserName() {
1941 ankur.sing 120
        return (String) session.getAttribute(ReportsUtils.USER_NAME);
1891 ankur.sing 121
    }
122
 
123
    public List<Report> getReports() {
124
        return reports;
125
    }
126
 
127
    public String returnLoginFail() {
128
        return authfail;
129
    }
130
 
131
    public boolean isLoggedIn() {
1941 ankur.sing 132
        if (session.getAttribute(ReportsUtils.USER_NAME) != null) {
1891 ankur.sing 133
            return true;
134
        }
135
        return false;
136
    }
137
 
138
    public void setUserAsLogout() {
1941 ankur.sing 139
        session.setAttribute(ReportsUtils.USER_NAME, null);
140
        session.setAttribute(ReportsUtils.ROLE, null);
5826 rajveer 141
        session.setAttribute("STORE_ID", null);
1891 ankur.sing 142
    }
143
}