public ActionForward printAllReportTracking(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws Exception {
   ActionForward actionForward = mapping.findForward(Constants.MAPPING_BASIC);
   ReportTrackingLookupForm lookupForm = (ReportTrackingLookupForm) form;
   List<Printable> printableArtifactLists = new ArrayList<Printable>();
   Map<String, String> allFields = new HashMap<String, String>(lookupForm.getFields());
   List<ReportTracking> detailResults =
       getReportTrackingDao().getDetailResults(allFields, lookupForm.getDetailFields());
   for (ReportTracking detailResult : detailResults) {
     AwardReportTracking printables = new AwardReportTracking();
     printables =
         getReportTrackingPrintingService()
             .getReportPrintable(
                 ReportTrackingType.AWARD_REPORT_TRACKING, detailResult, printables);
     printableArtifactLists.add((AwardReportTracking) printables.clone());
   }
   org.kuali.kra.proposaldevelopment.bo.AttachmentDataSource attachmentDataSource =
       getReportTrackingPrintingService().printAwardReportTracking(printableArtifactLists);
   streamToResponse(attachmentDataSource, response);
   actionForward = RESPONSE_ALREADY_HANDLED;
   return actionForward;
 }
 public ActionForward viewAggregateResults(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws Exception {
   ReportTrackingLookupForm lookupForm = (ReportTrackingLookupForm) form;
   lookupForm.setViewRawResults(false);
   return this.search(mapping, lookupForm, request, response);
 }
  public ActionForward search(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {
    ReportTrackingLookupForm lookupForm = (ReportTrackingLookupForm) form;

    Lookupable kualiLookupable = lookupForm.getLookupable();
    if (kualiLookupable == null) {
      LOG.error("Lookupable is null.");
      throw new RuntimeException("Lookupable is null.");
    }

    // validate search parameters
    kualiLookupable.validateSearchParameters(lookupForm.getFields());

    if (lookupForm.isViewRawResults()) {
      return super.search(mapping, lookupForm, request, response);
    } else {
      LookupUtils.preProcessRangeFields(lookupForm.getFields());
      List<ReportTracking> groupedResults =
          getReportTrackingDao()
              .getResultsGroupedBy(
                  lookupForm.getFields(),
                  lookupForm.getGroupedByFields(),
                  lookupForm.getGroupedByDisplayFields());
      lookupForm.setGroupedByResults(groupedResults);
      return mapping.findForward(Constants.MAPPING_BASIC);
    }
  }
 public ActionForward resetCustomView(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws Exception {
   ReportTrackingLookupForm lookupForm = (ReportTrackingLookupForm) form;
   lookupForm.resetCustomFields();
   lookupForm.setCurrentView();
   return this.search(mapping, lookupForm, request, response);
 }
 public ActionForward viewRawResults(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws Exception {
   ReportTrackingLookupForm lookupForm = (ReportTrackingLookupForm) form;
   lookupForm.setViewRawResults(true);
   lookupForm.setHideReturnLink(true);
   lookupForm.setSuppressActions(true);
   return this.search(mapping, lookupForm, request, response);
 }
 public ActionForward printReportTracking(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws Exception {
   ActionForward actionForward = mapping.findForward(Constants.MAPPING_BASIC);
   ReportTrackingLookupForm lookupForm = (ReportTrackingLookupForm) form;
   List<ReportTracking> detailResults = lookupForm.getGroupedByResults();
   String line = request.getParameter("line");
   ReportTracking reportTracking = detailResults.get(Integer.parseInt(line));
   List<Printable> printableArtifactList = new ArrayList<Printable>();
   AwardReportTracking printable = new AwardReportTracking();
   printable =
       getReportTrackingPrintingService()
           .getReportPrintable(
               ReportTrackingType.AWARD_REPORT_TRACKING, reportTracking, printable);
   printableArtifactList.add(printable);
   org.kuali.kra.proposaldevelopment.bo.AttachmentDataSource attachmentDataSource =
       getReportTrackingPrintingService().printAwardReportTracking(printableArtifactList);
   streamToResponse(attachmentDataSource, response);
   actionForward = RESPONSE_ALREADY_HANDLED;
   return actionForward;
 }
 public ActionForward getDetails(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws Exception {
   ReportTrackingLookupForm lookupForm = (ReportTrackingLookupForm) form;
   LookupUtils.preProcessRangeFields(lookupForm.getFields());
   Map<String, String> allFields = new HashMap<String, String>(lookupForm.getFields());
   populateAggregateValues(
       lookupForm.getGroupedByResults().get(lookupForm.getGroupByResultIndex()),
       allFields,
       lookupForm.getGroupedByFields());
   List<ReportTracking> detailResults =
       getReportTrackingDao().getDetailResults(allFields, lookupForm.getDetailFields());
   lookupForm.setDetailResults(detailResults);
   return mapping.findForward("ajaxDetails");
 }
  public ActionForward moveGroupByColumns(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {
    ReportTrackingLookupForm lookupForm = (ReportTrackingLookupForm) form;
    String fieldName = lookupForm.getMoveField();
    Integer newIndex = lookupForm.getNewColumnIndex() - 1;
    Integer oldIndex = lookupForm.getGroupedByDisplayFields().indexOf(fieldName);
    if (newIndex >= 0 && oldIndex >= 0) {
      lookupForm.getGroupedByDisplayFields().remove(fieldName);
      if (newIndex > oldIndex) {
        newIndex--;
      }
      lookupForm.getGroupedByDisplayFields().add(newIndex, fieldName);

      String origItem = lookupForm.getGroupedByFields().get(oldIndex);
      lookupForm.getGroupedByFields().remove(origItem);
      lookupForm.getGroupedByFields().add(newIndex, origItem);
    }

    return mapping.findForward(Constants.MAPPING_BASIC);
  }