Rev 4209 | Rev 5678 | 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.ManifestGenerator;import java.io.ByteArrayOutputStream;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;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class ManifestController implements ServletResponseAware, ServletRequestAware {private static Logger logger = LoggerFactory.getLogger(ManifestController.class);private long warehouseId;private long providerId;private boolean isCod;private HttpServletRequest request;private HttpServletResponse response;public HttpHeaders index(){this.warehouseId = Long.parseLong(request.getParameter("warehouseID"));this.providerId = Long.parseLong(request.getParameter("providerID"));try {this.isCod = Boolean.parseBoolean(request.getParameter("isCod"));} catch (Exception e) {this.isCod = false;}logger.debug("Warehouse Id is: " + warehouseId);logger.debug("Provider Id is: " + providerId);logger.debug("Cod is: " + isCod);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);String fileNameSuffix = "-" + warehouseId + "-"+ providerId + "-" + year + "-" + month + "-" + day;ManifestGenerator manifestGenerator = new ManifestGenerator();ByteArrayOutputStream baos = manifestGenerator.generateManifestFile(warehouseId, providerId, isCod);response.setContentType("application/pdf");response.setHeader("Content-disposition", "inline; filename=manifest-" + fileNameSuffix + ".pdf" );ServletOutputStream sos;try {sos = response.getOutputStream();baos.writeTo(sos);sos.flush();} catch (IOException e) {logger.error("Unable to stream the manifest file", e);}return new DefaultHttpHeaders("lsuccess");}@Overridepublic void setServletResponse(HttpServletResponse response) {this.response = response;}@Overridepublic void setServletRequest(HttpServletRequest request) {this.request = request;}}