Rev 1023 | Rev 4209 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.support.controllers;import in.shop2020.support.services.CourierDetailsGenerator;import in.shop2020.support.services.ManifestGenerator;import java.io.ByteArrayOutputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.Calendar;import java.util.GregorianCalendar;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.interceptor.ServletRequestAware;import org.apache.struts2.interceptor.ServletResponseAware;import org.apache.struts2.rest.DefaultHttpHeaders;import org.apache.struts2.rest.HttpHeaders;public class ManifestController implements ServletResponseAware, ServletRequestAware {//FIXME: Read this configuration from the config clientprivate String courierDetailsPath = "/CourierDetailReports";private long warehouseId;private long providerId;private HttpServletRequest request;private HttpServletResponse response;public HttpHeaders index(){this.warehouseId = Long.parseLong(request.getParameter("warehouseID"));this.providerId = Long.parseLong(request.getParameter("providerID"));System.out.println("Warehouse Id is: " + warehouseId);System.out.println("Provider Id is: " + providerId);Calendar date = new GregorianCalendar();int year = date.get(Calendar.YEAR);int month = date.get(Calendar.MONTH) +1;int day = date.get(Calendar.DAY_OF_MONTH);ManifestGenerator manifestGenerator = new ManifestGenerator();ByteArrayOutputStream baos = manifestGenerator.generateManifestFile(warehouseId, providerId);response.setContentType("application/pdf");CourierDetailsGenerator courierDetailsGenerator = new CourierDetailsGenerator();ByteArrayOutputStream baosXLS = courierDetailsGenerator.generateCourierDetails(warehouseId, providerId);try {String fileName = courierDetailsPath + "/courier-details-"+warehouseId+"-"+ providerId + "-"+year+"-"+ month+"-" + day +".xls";FileOutputStream f = new FileOutputStream(fileName);baosXLS.writeTo(f);f.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}response.setHeader("Content-disposition", "inline; filename=manifest-"+warehouseId+"-"+ providerId + "-"+year+"-"+ month+"-" + day +".pdf" );ServletOutputStream sos;try {sos = response.getOutputStream();baos.writeTo(sos);sos.flush();} catch (IOException e) {e.printStackTrace();}return new DefaultHttpHeaders("lsuccess");}@Overridepublic void setServletResponse(HttpServletResponse response) {this.response = response;}@Overridepublic void setServletRequest(HttpServletRequest request) {this.request = request;}}