Subversion Repositories SmartDukaan

Rev

Rev 1676 | Rev 1941 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1676 Rev 1891
Line 1... Line 1...
1
package in.shop2020.support.controllers;
1
package in.shop2020.support.controllers;
2
 
2
 
3
import in.shop2020.support.services.RegisteredUsersGenerator;
3
import in.shop2020.support.services.RegisteredUsersGenerator;
4
import in.shop2020.thrift.clients.HelperServiceClient;
-
 
5
import in.shop2020.utils.StatisticsUser;
-
 
6
 
4
 
7
import java.io.ByteArrayOutputStream;
5
import java.io.ByteArrayOutputStream;
8
import java.io.IOException;
6
import java.io.IOException;
9
 
7
 
10
import javax.servlet.ServletOutputStream;
8
import javax.servlet.ServletOutputStream;
11
import javax.servlet.http.HttpServletRequest;
-
 
12
import javax.servlet.http.HttpServletResponse;
-
 
13
import javax.servlet.http.HttpSession;
-
 
14
 
9
 
15
import org.apache.struts2.interceptor.ServletRequestAware;
10
import org.apache.struts2.convention.annotation.InterceptorRef;
-
 
11
import org.apache.struts2.convention.annotation.InterceptorRefs;
16
import org.apache.struts2.interceptor.ServletResponseAware;
12
import org.apache.struts2.convention.annotation.Result;
17
 
13
 
18
public class RegisteredUsersController implements ServletResponseAware, ServletRequestAware {
-
 
19
 
14
 
20
    private HttpServletRequest request;
15
@InterceptorRefs({
21
    private HttpServletResponse response;
16
    @InterceptorRef("myDefault"),
22
    private HttpSession session;
17
    @InterceptorRef("login")
-
 
18
})
-
 
19
 
-
 
20
public class RegisteredUsersController extends ReportsController {
23
 
21
 
24
    private final String authsuccess = "authsuccess";
22
    private final String authsuccess = "authsuccess";
25
    private final String authfail = "authfail";
-
 
26
    private String message = "";
23
    private String message = "";
27
    
24
    
28
    public RegisteredUsersController() {
25
    public RegisteredUsersController() {
29
 
26
 
30
    }
27
    }
31
 
28
 
32
    @Override
-
 
33
    public void setServletRequest(HttpServletRequest req) {
-
 
34
        this.request = req;
-
 
35
        this.session = req.getSession();
-
 
36
    }
-
 
37
 
-
 
38
    @Override
-
 
39
    public void setServletResponse(HttpServletResponse res) {
-
 
40
        this.response = res;
-
 
41
    }
-
 
42
 
-
 
43
    public String index() {
29
    public String index() {
44
        if (getSessionUserName() == null) {
30
        if(!canAccessReport()) {
45
            return authfail;
31
            return "exception";
46
        } else {
-
 
47
            return authsuccess;
-
 
48
        }
32
        }
-
 
33
        return authsuccess;
49
    }
34
    }
50
 
35
 
51
    // Handles the POST request (Form Submission)
36
    // Handles the POST request (Form Submission)
52
    public String create() {
37
    public String create() {
53
        String username = request.getParameter("username");
-
 
54
        String password = request.getParameter("password");
-
 
55
        if(username != null && password != null) {
-
 
56
            try{
-
 
57
                HelperServiceClient hsc = new HelperServiceClient();
-
 
58
                in.shop2020.utils.HelperService.Client client = hsc.getClient();
-
 
59
                StatisticsUser user = client.authenticateStatisticsUser(username, password);
-
 
60
                session.setAttribute("username", user.getUsername());
-
 
61
                return authsuccess;
-
 
62
            }catch(Exception e){
-
 
63
                e.printStackTrace();
-
 
64
                return authfail;
-
 
65
            }
-
 
66
        }
-
 
67
        if (getSessionUserName() == null) {
-
 
68
            return authfail;
-
 
69
        }
-
 
70
        
-
 
71
 
-
 
72
        RegisteredUsersGenerator usersReportGenerator = new RegisteredUsersGenerator();
38
        RegisteredUsersGenerator usersReportGenerator = new RegisteredUsersGenerator();
73
        ByteArrayOutputStream baos = usersReportGenerator.generateRegisteredUsersReport();
39
        ByteArrayOutputStream baos = usersReportGenerator.generateRegisteredUsersReport();
74
 
40
 
75
        if(baos == null) {
41
        if(baos == null) {
76
            message = "No registered user exists.";;
42
            message = "No registered user exists.";;
77
            return authsuccess;
43
            return authsuccess;
78
        }
44
        }
79
        // Preparing XLS file for output
45
        // Preparing XLS file for output
80
        response.setContentType("application/vnd.ms-excel");
46
        getServletResponse().setContentType("application/vnd.ms-excel");
81
        response.setHeader("Content-disposition", "inline; filename=registered-users" + ".xls");
47
        getServletResponse().setHeader("Content-disposition", "inline; filename=registered-users" + ".xls");
82
        ServletOutputStream sos;
48
        ServletOutputStream sos;
83
        try {
49
        try {
84
            sos = response.getOutputStream();
50
            sos = getServletResponse().getOutputStream();
85
            baos.writeTo(sos);
51
            baos.writeTo(sos);
86
            sos.flush();
52
            sos.flush();
87
        } catch (IOException e) {
53
        } catch (IOException e) {
88
            e.printStackTrace();
54
            e.printStackTrace();
89
        }
55
        }
90
        return authsuccess;
56
        return authsuccess;
91
    }
57
    }
92
 
58
 
93
    public String getSessionUserName() {
-
 
94
        return (String) session.getAttribute("username");
-
 
95
    }
-
 
96
 
-
 
97
    public String getMessage() {
59
    public String getMessage() {
98
        return message;
60
        return message;
99
    }
61
    }
100
}
62
}