/** {@inheritDoc} */ @Override public void runAndRender( ReportParameters parameters, ReportMode mode, OutputStream outputStream) { // TODO remove this debug code Map<String, Object> reportParms = parameters.getReportParms(mode); for (String key : reportParms.keySet()) { String value; if (reportParms.get(key) == null) { value = "NULL"; } else { value = reportParms.get(key).toString(); } log.debug("param " + key + " set " + value); } try { getReportService(parameters.getReportId()) .runAndRender( parameters.getReportParms(mode), parameters.getReportId(), parameters.getFormat(), outputStream); } catch (ReportException reportException) { log.error("failed to run or render report: " + parameters.getReportId(), reportException); } }
/** {@inheritDoc} */ @Override public void run( ReportParameters parameters, ReportMode mode, DeliveryOptions deliveryOptions, String reportId) { if (!deliveryOptions.getPersist()) { ByteArrayOutputStream out = new ByteArrayOutputStream(); BufferedOutputStream bout = new BufferedOutputStream(out); try { getReportService(reportId) .runAndRender( parameters.getReportParms(mode), reportId, deliveryOptions.getFormat(), bout); } catch (ReportException reportException) { log.error("failed to run or render report: " + reportId, reportException); } mailReport(deliveryOptions, out); } else { String outputPath; try { outputPath = getReportService(reportId).run(parameters.getReportParms(mode), reportId); ReportCatalogEntry catalogEntry = new ReportCatalogEntry(); catalogEntry.setReportId(reportId); catalogEntry.setTitle(deliveryOptions.getInstanceId()); catalogEntry.setLocation(outputPath); catalogEntry.setDate(new Date()); m_reportStoreService.save(catalogEntry); if (deliveryOptions.getMailTo().length() != 0) { ByteArrayOutputStream out = new ByteArrayOutputStream(); BufferedOutputStream bout = new BufferedOutputStream(out); getReportService(reportId) .render(reportId, outputPath, deliveryOptions.getFormat(), bout); mailReport(deliveryOptions, out); } } catch (ReportException reportException) { log.error("failed to run or render report: " + reportId, reportException); } } }
/** {@inheritDoc} */ @Override public boolean validate(ReportParameters parameters, String reportId) { return getReportService(reportId).validate(parameters.getReportParms(), reportId); }