Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
679 chandransh 1
package in.shop2020.support.controllers;
2
 
3
import in.shop2020.support.services.CourierDetailsGenerator;
4
 
5
import java.io.ByteArrayOutputStream;
6
import java.io.IOException;
7
import java.util.Calendar;
8
import java.util.GregorianCalendar;
9
 
10
import javax.servlet.ServletOutputStream;
11
import javax.servlet.http.HttpServletRequest;
12
import javax.servlet.http.HttpServletResponse;
13
 
14
import org.apache.struts2.interceptor.ServletRequestAware;
15
import org.apache.struts2.interceptor.ServletResponseAware;
16
import org.apache.struts2.rest.DefaultHttpHeaders;
17
import org.apache.struts2.rest.HttpHeaders;
18
 
19
public class CourierDetailsController implements ServletResponseAware,
20
		ServletRequestAware {
21
 
22
	private long warehouseId;
23
	private long providerId;
24
	private HttpServletRequest request;
25
	private HttpServletResponse response;
26
 
27
	public HttpHeaders index(){
28
		this.warehouseId = Long.parseLong(request.getParameter("warehouseID"));
29
		this.providerId = Long.parseLong(request.getParameter("providerID"));
30
 
31
		System.out.println("Warehouse Id is:  " + warehouseId);
32
		System.out.println("Provider Id is: " + providerId);
33
 
34
		CourierDetailsGenerator courierDetailsGenerator = new CourierDetailsGenerator();
35
		ByteArrayOutputStream baos = courierDetailsGenerator.generateCourierDetails(warehouseId, providerId);
36
		response.setContentType("application/vnd.ms-excel");
37
 
38
		Calendar date = new GregorianCalendar();
39
		int year = date.get(Calendar.YEAR);
40
		int month = date.get(Calendar.MONTH) +1;
41
		int day = date.get(Calendar.DAY_OF_MONTH);
42
 
43
		response.setHeader("Content-disposition", "inline; filename=courier-details-"+warehouseId+"-"+ providerId + "-"+year+"-"+ month+"-" + day +".xls" );
44
 
45
		ServletOutputStream sos;
46
		try {
47
			sos = response.getOutputStream();
48
			baos.writeTo(sos);
49
			sos.flush();
50
		} catch (IOException e) {
51
			e.printStackTrace();
52
		}	
53
		return new DefaultHttpHeaders("lsuccess");
54
	}
55
 
56
	@Override
57
	public void setServletResponse(HttpServletResponse response) {
58
		this.response  = response;
59
	}
60
 
61
	@Override
62
	public void setServletRequest(HttpServletRequest request) {
63
		this.request = request;
64
	}
65
 
66
}