View Javadoc
1   package org.kuali.ole.batch.controller;
2   
3   import org.apache.commons.io.IOUtils;
4   import org.apache.log4j.Logger;
5   import org.kuali.ole.batch.form.OLEDeliverNoticeForm;
6   import org.kuali.ole.batch.service.OLEDeliverNoticeService;
7   import org.kuali.rice.krad.web.controller.MethodAccessible;
8   import org.kuali.rice.krad.web.controller.UifControllerBase;
9   import org.kuali.rice.krad.web.form.UifFormBase;
10  import org.springframework.stereotype.Controller;
11  import org.springframework.validation.BindingResult;
12  import org.springframework.web.bind.annotation.ModelAttribute;
13  import org.springframework.web.bind.annotation.RequestMapping;
14  import org.springframework.web.servlet.ModelAndView;
15  
16  import javax.servlet.http.HttpServletRequest;
17  import javax.servlet.http.HttpServletResponse;
18  import java.io.File;
19  import java.io.FileInputStream;
20  import java.io.InputStream;
21  
22  /**
23   * Created with IntelliJ IDEA.
24   * User: maheswarang
25   * Date: 8/7/13
26   * Time: 8:15 PM
27   * To change this template use File | Settings | File Templates.
28   */
29  @Controller
30  @RequestMapping(value = "/oleDeliverNoticeController")
31  public class OLEDeliverNoticeController extends UifControllerBase {
32      private static final Logger LOG = Logger.getLogger(OLEDeliverNoticeController.class);
33      @Override
34      protected OLEDeliverNoticeForm createInitialForm() {
35          return new OLEDeliverNoticeForm();
36      }
37  
38  
39      @Override
40      @MethodAccessible
41      @RequestMapping(params = "methodToCall=start")
42      public ModelAndView start(@ModelAttribute("KualiForm") UifFormBase form) {
43        OLEDeliverNoticeForm oleDeliverNoticeForm = (OLEDeliverNoticeForm)form;
44          OLEDeliverNoticeService oleNoticeService = new OLEDeliverNoticeService();
45          oleDeliverNoticeForm =  oleNoticeService.populateOLEDeliverNoticeForm(oleDeliverNoticeForm);
46          return getModelAndView(oleDeliverNoticeForm, "OLEDeliverNoticeViewPage");
47  
48      }
49  
50      @MethodAccessible
51      @RequestMapping(params = "methodToCall=downloadAttachment")
52      public ModelAndView downloadAttachment(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
53                                             HttpServletRequest request, HttpServletResponse response) throws Exception {
54          String filePath = request.getParameter("filePath");
55          String fileName=request.getParameter("fileName");
56          LOG.info("File Path : " +filePath);
57          File file=new File(filePath);
58          response.setContentType("application/octet-stream");
59          response.setHeader("Content-disposition", "attachment; filename=" + fileName);
60          response.setHeader("Expires", "0");
61          response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
62          response.setHeader("Pragma", "public");
63          response.setContentLength((int) file.length());
64          InputStream fis = new FileInputStream(file);
65          IOUtils.copy(fis, response.getOutputStream());
66          response.getOutputStream().flush();
67          return null;
68      }
69  
70  
71  }