Subversion Repositories SmartDukaan

Rev

Rev 679 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 679 Rev 749
Line 1... Line 1...
1
package in.shop2020.support.controllers;
1
package in.shop2020.support.controllers;
2
 
2
 
3
import in.shop2020.support.services.CourierDetailsGenerator;
3
import in.shop2020.support.services.CourierDetailsGenerator;
-
 
4
import in.shop2020.thrift.clients.HelperServiceClient;
-
 
5
import in.shop2020.utils.HelperService;
-
 
6
import in.shop2020.utils.LogisticsUser;
4
 
7
 
5
import java.io.ByteArrayOutputStream;
8
import java.io.ByteArrayOutputStream;
6
import java.io.IOException;
9
import java.io.IOException;
7
import java.util.Calendar;
10
import java.util.Calendar;
8
import java.util.GregorianCalendar;
11
import java.util.GregorianCalendar;
9
 
12
 
10
import javax.servlet.ServletOutputStream;
13
import javax.servlet.ServletOutputStream;
11
import javax.servlet.http.HttpServletRequest;
14
import javax.servlet.http.HttpServletRequest;
12
import javax.servlet.http.HttpServletResponse;
15
import javax.servlet.http.HttpServletResponse;
-
 
16
import javax.servlet.http.HttpSession;
13
 
17
 
14
import org.apache.struts2.interceptor.ServletRequestAware;
18
import org.apache.struts2.interceptor.ServletRequestAware;
15
import org.apache.struts2.interceptor.ServletResponseAware;
19
import org.apache.struts2.interceptor.ServletResponseAware;
16
import org.apache.struts2.rest.DefaultHttpHeaders;
20
import org.apache.struts2.rest.DefaultHttpHeaders;
17
import org.apache.struts2.rest.HttpHeaders;
21
import org.apache.struts2.rest.HttpHeaders;
18
 
22
 
19
public class CourierDetailsController implements ServletResponseAware,
23
public class CourierDetailsController implements ServletResponseAware,
20
		ServletRequestAware {
24
		ServletRequestAware {
21
	
25
	private String id;
22
	private long warehouseId;
26
	//private long warehouseId;
23
	private long providerId;
27
	//private long providerId;
24
	private HttpServletRequest request;
28
	private HttpServletRequest request;
25
	private HttpServletResponse response;
29
	private HttpServletResponse response;
-
 
30
	private HttpSession session;
26
 
31
 
27
	public HttpHeaders index(){
32
	public String index(){
28
		this.warehouseId = Long.parseLong(request.getParameter("warehouseID"));
33
		if(getSessionUserName()==null)
29
		this.providerId = Long.parseLong(request.getParameter("providerID"));
34
			return "authfail";
30
		
35
		else
31
		System.out.println("Warehouse Id is:  " + warehouseId);
36
			return "authsuccess";
32
		System.out.println("Provider Id is: " + providerId);
-
 
33
		
37
	}
34
		CourierDetailsGenerator courierDetailsGenerator = new CourierDetailsGenerator();
-
 
35
		ByteArrayOutputStream baos = courierDetailsGenerator.generateCourierDetails(warehouseId, providerId);
-
 
36
		response.setContentType("application/vnd.ms-excel");
-
 
37
		
38
	
38
		Calendar date = new GregorianCalendar();
39
	// Handler for POST /courier-details
39
		int year = date.get(Calendar.YEAR);
40
	public String create(){
40
		int month = date.get(Calendar.MONTH) +1;
41
		String username = request.getParameter("username");
41
		int day = date.get(Calendar.DAY_OF_MONTH);
42
		String password = request.getParameter("password");
42
		
43
		try{
43
		response.setHeader("Content-disposition", "inline; filename=courier-details-"+warehouseId+"-"+ providerId + "-"+year+"-"+ month+"-" + day +".xls" );
44
			HelperServiceClient helperServiceClient = new HelperServiceClient();
44
		
-
 
45
		ServletOutputStream sos;
45
			in.shop2020.utils.HelperService.Client client = helperServiceClient.getClient();
46
		try {
-
 
47
			sos = response.getOutputStream();
46
			LogisticsUser user = client.authenticateLogisticsUser(username, password);
48
			baos.writeTo(sos);
47
			session.setAttribute("username", user.getUsername());
49
			sos.flush();
48
			session.setAttribute("providerId", Long.valueOf(user.getProviderId()));
50
		} catch (IOException e) {
49
		}catch(Exception e){
51
			e.printStackTrace();
50
			e.printStackTrace();
-
 
51
			return "authfail";
-
 
52
		}
-
 
53
		return "authsuccess";
-
 
54
	}
-
 
55
	
-
 
56
	// Handler for GET /courier-details/<warehouseId>
-
 
57
	public String show(){
-
 
58
		try {
-
 
59
			long warehouseId = Long.parseLong(getId());
-
 
60
			long providerId = ((Long)session.getAttribute("providerId")).longValue();
-
 
61
			
-
 
62
			System.out.println("Warehouse Id is:  " + warehouseId);
-
 
63
			System.out.println("Provider Id is: " + providerId);
-
 
64
			
-
 
65
			CourierDetailsGenerator courierDetailsGenerator = new CourierDetailsGenerator();
-
 
66
			ByteArrayOutputStream baos = courierDetailsGenerator.generateCourierDetails(warehouseId, providerId);
-
 
67
			response.setContentType("application/vnd.ms-excel");
-
 
68
			
-
 
69
			Calendar date = new GregorianCalendar();
-
 
70
			int year = date.get(Calendar.YEAR);
-
 
71
			int month = date.get(Calendar.MONTH) +1;
-
 
72
			int day = date.get(Calendar.DAY_OF_MONTH);
-
 
73
			
-
 
74
			response.setHeader("Content-disposition", "inline; filename=courier-details-"+warehouseId+"-"+ providerId + "-"+year+"-"+ month+"-" + day +".xls" );
-
 
75
			
-
 
76
			ServletOutputStream sos;
-
 
77
			try {
-
 
78
				sos = response.getOutputStream();
-
 
79
				baos.writeTo(sos);
-
 
80
				sos.flush();
-
 
81
			} catch (IOException e) {
-
 
82
				e.printStackTrace();
52
		}	
83
			}	
53
		return new DefaultHttpHeaders("lsuccess");
84
			return "authsuccess";
-
 
85
		}catch(NumberFormatException nfe){
-
 
86
			nfe.printStackTrace();
-
 
87
		}
-
 
88
		return "authfail";
54
	}
89
	}
55
	
90
	
56
	@Override
91
	@Override
57
	public void setServletResponse(HttpServletResponse response) {
92
	public void setServletResponse(HttpServletResponse response) {
58
		this.response  = response;
93
		this.response  = response;
59
	}
94
	}
60
 
95
 
61
	@Override
96
	@Override
62
	public void setServletRequest(HttpServletRequest request) {
97
	public void setServletRequest(HttpServletRequest request) {
63
		this.request = request;
98
		this.request = request;
-
 
99
		this.session = request.getSession();
-
 
100
	}
-
 
101
 
-
 
102
	public String getId(){
-
 
103
		return id;
-
 
104
	}
-
 
105
	
-
 
106
	public void setId(String id){
-
 
107
		this.id = id;
-
 
108
	}
-
 
109
	
-
 
110
	public String getSessionUserName(){
-
 
111
		return (String) session.getAttribute("username");
64
	}
112
	}
65
 
113
 
66
}
114
}