Rev 1884 | Blame | Last modification | View Log | RSS feed
package in.shop2020.support.controllers;import java.io.ByteArrayOutputStream;import java.io.IOException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import in.shop2020.support.services.InvoiceGenerationService;import org.apache.struts2.interceptor.ServletResponseAware;import org.apache.struts2.rest.DefaultHttpHeaders;import org.apache.struts2.rest.HttpHeaders;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class InvoiceController implements ServletResponseAware{private static Logger logger = LoggerFactory.getLogger(InvoiceController.class);private int errorCode = 0;private String errorMessage;private String id;private long orderId;private HttpServletResponse response;public InvoiceController(){}public HttpHeaders show(){logger.info("Printing invoice for order id: " + getId());this.orderId = Long.parseLong(getId());InvoiceGenerationService invoiceGenerationService = new InvoiceGenerationService();ByteArrayOutputStream baos = invoiceGenerationService.generateInvoice(orderId);response.setContentType("application/pdf");response.setHeader("Content-disposition", "inline; filename=invoice-"+orderId+".pdf" );ServletOutputStream sos;try {sos = response.getOutputStream();baos.writeTo(sos);sos.flush();} catch (IOException e) {logger.error("Encountered error while sending invoice response: ", e);}return new DefaultHttpHeaders("lsuccess");}public int getErrorCode() {return errorCode;}public String getErrorMessage() {return errorMessage;}public String getId(){return id;}public void setId(String id){this.id = id;}@Overridepublic void setServletResponse(HttpServletResponse response) {this.response = response;}}