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
24
25
26
27
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 }