package org.openmrs.module.reporting.web.controller.portlet; import org.openmrs.api.context.Context; import org.openmrs.module.reporting.report.ReportRequest; import org.openmrs.module.reporting.report.ReportRequest.Status; import org.openmrs.module.reporting.report.service.ReportService; import org.openmrs.module.reporting.web.renderers.WebReportRenderer; import javax.servlet.http.HttpServletRequest; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; public class SavedReportsPortletController extends ReportingPortletController { /** * @see org.openmrs.module.reporting.web.controller.portlet.ReportingPortletController#populateModel(javax.servlet.http.HttpServletRequest, java.util.Map) */ @Override protected void populateModel(HttpServletRequest request, Map<String, Object> model) { super.populateModel(request, model); List<ReportRequest> saved = Context.getService(ReportService.class).getReportRequests(null, null, null, Status.SAVED); Collections.reverse(saved); model.put("savedRequests", saved); Map<ReportRequest, String> shortNames = new HashMap<ReportRequest, String>(); Map<ReportRequest, Boolean> isWebRenderer = new HashMap<ReportRequest, Boolean>(); for (ReportRequest r : saved) { if (r.getRenderingMode().getRenderer() instanceof WebReportRenderer) { shortNames.put(r, "Web"); isWebRenderer.put(r, true); } else { String filename = r.getRenderingMode().getRenderer().getFilename(r); try { filename = filename.substring(filename.lastIndexOf('.') + 1); filename = filename.toUpperCase(); } catch (Exception ex) {} shortNames.put(r, filename); isWebRenderer.put(r, false); } } model.put("shortNames", shortNames); model.put("isWebRenderer", isWebRenderer); } }