Rev 1891 | Rev 3125 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.support.controllers;import in.shop2020.support.utils.ReportsUtils;import in.shop2020.thrift.clients.HelperServiceClient;import in.shop2020.utils.Report;import in.shop2020.utils.ReportUser;import java.util.List;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.struts2.interceptor.ServletRequestAware;import org.apache.struts2.interceptor.ServletResponseAware;import org.apache.struts2.util.ServletContextAware;public class ReportsController implements ServletResponseAware, ServletRequestAware, ServletContextAware {private HttpServletRequest request;private HttpServletResponse response;private HttpSession session;private ServletContext context;private String errorMsg = "";private final String authsuccess = "authsuccess";private final String authfail = "authfail";private List<Report> reports;private HelperServiceClient hsc;private in.shop2020.utils.HelperService.Client client;private long role;//private static final String USER_NAME = "username", PASSWORD = "password", ROLE = "role";public ReportsController() {try {hsc = new HelperServiceClient();client = hsc.getClient();} catch (Exception e) {e.printStackTrace();}}@Overridepublic void setServletRequest(HttpServletRequest req) {this.request = req;this.session = req.getSession();}public HttpServletRequest getServletRequest() {return request;}@Overridepublic void setServletResponse(HttpServletResponse res) {this.response = res;}public HttpServletResponse getServletResponse() {return response;}@Overridepublic void setServletContext(ServletContext context) {this.context = context;}public String getServletContextPath() {return context.getContextPath();}public String index() {if (getSessionUserName() == null) {return authfail;} else {if(reports == null) {reports = ReportsUtils.getReports((Long)session.getAttribute(ReportsUtils.ROLE));}//loadReports();return authsuccess;}}/*public boolean canAccessReport() {String reportPath = request.getServletPath();reportPath = reportPath.substring(1, reportPath.length());if(reports == null) {loadReports();}for(Report r : reports) {if(r.getController().equals(reportPath))return true;}return false;}public void loadReports() {try {reports = client.getReports((Long)session.getAttribute(ROLE));} catch (TException e) {e.printStackTrace();}}*/// Handles the POST request (Form Submission)public String create() {String username = request.getParameter(ReportsUtils.USER_NAME);String password = request.getParameter(ReportsUtils.PASSWORD);if (username != null && password != null) {try {ReportUser user = client.authenticateReportUser(username, password);role = user.getRole();session.setAttribute(ReportsUtils.USER_NAME, user.getUsername());session.setAttribute(ReportsUtils.ROLE, role);//loadReports();reports = ReportsUtils.getReports(role);return authsuccess;} catch (Exception e) {e.printStackTrace();errorMsg = "Invalid Username or Password. Please try again...";return authfail;}}if (getSessionUserName() == null) {return authfail;}return authsuccess;}public String getErrorMsg() {return errorMsg;}public String getSessionUserName() {return (String) session.getAttribute(ReportsUtils.USER_NAME);}public List<Report> getReports() {return reports;}public String returnLoginFail() {return authfail;}public boolean isLoggedIn() {if (session.getAttribute(ReportsUtils.USER_NAME) != null) {return true;}return false;}public void setUserAsLogout() {session.setAttribute(ReportsUtils.USER_NAME, null);session.setAttribute(ReportsUtils.ROLE, null);}}