@RequestMapping(value = "/candidate-results-{lrid}.zip", method = RequestMethod.GET)
 public void streamDeliveryCandidateResults(final HttpServletResponse response)
     throws PrivilegeException, DomainEntityNotFoundException, IOException {
   final Delivery thisDelivery = identityService.getCurrentThreadLtiResource().getDelivery();
   response.setContentType("application/zip");
   assessmentReportingService.streamAssessmentReports(
       thisDelivery.getId(), response.getOutputStream());
 }
 @RequestMapping(value = "/candidate-session/{xid}", method = RequestMethod.GET)
 public String showCandidateSession(@PathVariable final long xid, final Model model)
     throws PrivilegeException, DomainEntityNotFoundException {
   final CandidateSessionSummaryReport candidateSessionSummaryReport =
       assessmentReportingService.buildCandidateSessionSummaryReport(xid);
   model.addAttribute(candidateSessionSummaryReport);
   ltiInstructorModelHelper.setupModelForCandidateSession(xid, model);
   return "instructor/showCandidateSession";
 }
 @RequestMapping(value = "/candidate-summary-report-{lrid}.csv", method = RequestMethod.GET)
 public void streamDeliveryCandidateSummaryReportCsv(final HttpServletResponse response)
     throws PrivilegeException, DomainEntityNotFoundException, IOException {
   final Delivery thisDelivery = identityService.getCurrentThreadLtiResource().getDelivery();
   response.setContentType("text/plain");
   response.setCharacterEncoding("UTF-8");
   assessmentReportingService.streamDeliveryCandidateSummaryReportCsv(
       thisDelivery.getId(), response.getOutputStream());
 }
  @RequestMapping(value = "/candidate-sessions", method = RequestMethod.GET)
  public String showCandidateSummaryReport(final Model model)
      throws PrivilegeException, DomainEntityNotFoundException {
    final Delivery thisDelivery = identityService.getCurrentThreadLtiResource().getDelivery();
    final DeliveryCandidateSummaryReport report =
        assessmentReportingService.buildDeliveryCandidateSummaryReport(thisDelivery.getId());

    model.addAttribute(report);
    model.addAttribute(
        "candidateSessionListRouting",
        ltiInstructorRouter.buildCandidateSessionListRouting(report));
    return "instructor/listCandidateSessions";
  }
 @RequestMapping(value = "/candidate-session/{xid}/result", method = RequestMethod.GET)
 public void streamResult(final HttpServletResponse response, @PathVariable final long xid)
     throws DomainEntityNotFoundException, IOException, PrivilegeException {
   response.setContentType("application/xml");
   assessmentReportingService.streamCandidateAssessmentResult(xid, response.getOutputStream());
 }