Rev 1941 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.support.controllers;import in.shop2020.support.services.RegisteredUsersGenerator;import in.shop2020.thrift.clients.HelperServiceClient;import in.shop2020.utils.StatisticsUser;import java.io.ByteArrayOutputStream;import java.io.IOException;import javax.servlet.ServletOutputStream;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;public class RegisteredUsersController implements ServletResponseAware, ServletRequestAware {private HttpServletRequest request;private HttpServletResponse response;private HttpSession session;private final String authsuccess = "authsuccess";private final String authfail = "authfail";private String message = "";public RegisteredUsersController() {}@Overridepublic void setServletRequest(HttpServletRequest req) {this.request = req;this.session = req.getSession();}@Overridepublic void setServletResponse(HttpServletResponse res) {this.response = res;}public String index() {if (getSessionUserName() == null) {return authfail;} else {return authsuccess;}}// Handles the POST request (Form Submission)public String create() {String username = request.getParameter("username");String password = request.getParameter("password");if(username != null && password != null) {try{HelperServiceClient hsc = new HelperServiceClient();in.shop2020.utils.HelperService.Client client = hsc.getClient();StatisticsUser user = client.authenticateStatisticsUser(username, password);session.setAttribute("username", user.getUsername());return authsuccess;}catch(Exception e){e.printStackTrace();return authfail;}}if (getSessionUserName() == null) {return authfail;}RegisteredUsersGenerator usersReportGenerator = new RegisteredUsersGenerator();ByteArrayOutputStream baos = usersReportGenerator.generateRegisteredUsersReport();if(baos == null) {message = "No registered user exists.";;return authsuccess;}// Preparing XLS file for outputresponse.setContentType("application/vnd.ms-excel");response.setHeader("Content-disposition", "inline; filename=registered-users" + ".xls");ServletOutputStream sos;try {sos = response.getOutputStream();baos.writeTo(sos);sos.flush();} catch (IOException e) {e.printStackTrace();}return authsuccess;}public String getSessionUserName() {return (String) session.getAttribute("username");}public String getMessage() {return message;}}