Subversion Repositories SmartDukaan

Rev

Rev 1023 | 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;

public class InvoiceController implements ServletResponseAware{

        private int errorCode = 0;
        private String errorMessage;
        
        private String id;
        private long orderId;
        private HttpServletResponse response;
        
        public InvoiceController(){
                
        }
        
        public HttpHeaders show(){
                System.out.println("Order Id is:  " + 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) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }

                
                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;
        }

        @Override
        public void setServletResponse(HttpServletResponse response) {
                this.response  = response;
                
        }

}