Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
490 rajveer 1
package in.shop2020.support.controllers;
2
 
3
import java.io.ByteArrayOutputStream;
4
import java.io.IOException;
5
 
6
import javax.servlet.ServletOutputStream;
7
import javax.servlet.http.HttpServletResponse;
8
 
9
import in.shop2020.support.services.InvoiceGenerationService;
10
 
11
import org.apache.struts2.interceptor.ServletResponseAware;
12
import org.apache.struts2.rest.DefaultHttpHeaders;
13
import org.apache.struts2.rest.HttpHeaders;
2784 chandransh 14
import org.slf4j.Logger;
15
import org.slf4j.LoggerFactory;
490 rajveer 16
 
17
public class InvoiceController implements ServletResponseAware{
18
 
2784 chandransh 19
	private static Logger logger = LoggerFactory.getLogger(InvoiceController.class);
20
 
490 rajveer 21
	private int errorCode = 0;
22
	private String errorMessage;
23
 
24
	private String id;
25
	private long orderId;
26
	private HttpServletResponse response;
27
 
28
	public InvoiceController(){
29
 
30
	}
31
 
32
	public HttpHeaders show(){
2784 chandransh 33
		logger.info("Printing invoice for order id: " + getId());
490 rajveer 34
		this.orderId = Long.parseLong(getId());
35
 
734 chandransh 36
		InvoiceGenerationService invoiceGenerationService = new InvoiceGenerationService();
37
		ByteArrayOutputStream baos = invoiceGenerationService.generateInvoice(orderId);
490 rajveer 38
		response.setContentType("application/pdf");
39
		response.setHeader("Content-disposition", "inline; filename=invoice-"+orderId+".pdf" );
40
 
41
		ServletOutputStream sos;
42
		try {
43
			sos = response.getOutputStream();
44
			baos.writeTo(sos);
45
			sos.flush();
46
		} catch (IOException e) {
2784 chandransh 47
			logger.error("Encountered error while sending invoice response: ", e);
490 rajveer 48
		}
49
 
50
		return new DefaultHttpHeaders("lsuccess");
51
	}
52
 
53
	public int getErrorCode() {
54
		return errorCode;
55
	}
56
 
57
	public String getErrorMessage() {
58
		return errorMessage;
59
	}
60
 
61
	public String getId(){
62
		return id;
63
	}
64
 
65
	public void setId(String id){
66
		this.id = id;
67
	}
68
 
69
	@Override
70
	public void setServletResponse(HttpServletResponse response) {
71
		this.response  = response;
72
	}
73
 
74
}