/**
* @author ishaikh
*
*/
package com.transformuk.bdt.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.transformuk.bdt.domain.Answer;
import com.transformuk.bdt.model.ReportModel;
import com.transformuk.bdt.util.StaticReferences;
import com.transformuk.bdt.view.PdfReportView;
import com.transformuk.bdt.view.PdfView;
/**
* A controller that allows the users to download a PDF document
*
*/
@Controller
public class ReportController {
@Autowired
PdfView pdfView;
@Autowired
PdfReportView pdfReportView;
private static final String REDIRECT_HOME = "redirect:/diagnosticForm";
/**
* Handle request to the default page
*/
@RequestMapping(value = "/report", method = RequestMethod.GET)
public String viewHome() {
return "report";
}
@RequestMapping(value = "/pdf/view", method = RequestMethod.GET)
public String generatePdfReport(HttpServletRequest request,
HttpServletResponse response, HttpSession session) throws Exception {
ReportModel reportModel = (ReportModel)session.getAttribute(StaticReferences.REPORT_MODEL);
if (reportModel == null) {
return REDIRECT_HOME;
}
Map<String, ReportModel> data = new HashMap<String, ReportModel>();
data.put("reportModel",reportModel);
response.setContentType("application/pdf; charset=UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=\"MBS-Report.pdf\"");
response.setHeader("Content-Type", "application/pdf");
pdfReportView.render(data, request, response);
return "";
}
/**
* Handle request to download a PDF document
* @throws Exception
*/
@RequestMapping(value = "/pdf", method = RequestMethod.GET)
public ModelAndView downloadExcel(HttpServletRequest request,
HttpServletResponse response) throws Exception {
List<Answer> listAnswers = new ArrayList<Answer>();
listAnswers.add(new Answer("Business Plan", "Craig Walls", "answer 3",
"June 29th 2011"));
listAnswers.add(new Answer("Growth in Practice", "Willie Wheeler, Joshua White",
"1935182056", "May 16th 2013"));
listAnswers.add(new Answer("Funding", "Mark Fisher", "1935182439",
"September 26th 2012"));
// return a view which will be resolved by a view resolver
//return new ModelAndView("pdfView", "listAnswers", listAnswers);
Map<String, List<Answer>> data = new HashMap<String, List<Answer>>();
data.put("listAnswers",listAnswers);
pdfView.render(data, request, response);
return null;
}
}