Subversion Repositories SmartDukaan

Rev

Rev 2359 | Rev 3884 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2359 ankur.sing 1
package in.shop2020.catalog.dashboard.server;
2
 
3
import in.shop2020.catalog.dashboard.shared.Item;
4
 
5
import java.io.ByteArrayOutputStream;
6
import java.io.IOException;
7
import java.util.List;
8
 
9
import javax.servlet.ServletException;
10
import javax.servlet.ServletOutputStream;
11
import javax.servlet.http.HttpServlet;
12
import javax.servlet.http.HttpServletRequest;
13
import javax.servlet.http.HttpServletResponse;
14
 
15
import com.google.gwt.core.client.GWT;
16
 
2427 ankur.sing 17
/**
18
 * Servlet to generate and then download master sheet  
19
 * It is invoked from ItemActions.java
20
 */
21
 
2359 ankur.sing 22
@SuppressWarnings("serial")
23
public class FileDownloadServlet extends HttpServlet {
24
 
25
    @Override
26
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
27
        CatalogServiceImpl impl = new CatalogServiceImpl();
2427 ankur.sing 28
        long vendorId = 1; // Hotspot
29
        String vendorCategory = req.getParameter("vendorCategory"); // This parameter is set in ItemActions.java
2359 ankur.sing 30
 
31
        List<Item> itemList = impl.getItemsByVendorCategory(vendorCategory);
32
        GWT.log("Generating master sheet for " + vendorCategory + "...Item count = " + itemList.size());
33
        MasterSheetGenerator msg = new MasterSheetGenerator();
34
        ByteArrayOutputStream baos = msg.generateMasterSheet(vendorId, itemList);
35
 
36
        resp.setContentType("application/vnd.ms-excel");
37
        resp.setHeader("Content-disposition", "inline; filename=master-sheet-" + vendorCategory + ".xls");
38
        ServletOutputStream sos;
39
        try {
40
            sos = resp.getOutputStream();
41
            baos.writeTo(sos);
42
            sos.flush();
43
        } catch (IOException e) {
44
            e.printStackTrace();
45
        }
46
    }
47
}