@Override public JasperPrint fillReport() throws Exception { final JasperReport[] jra = reportCard.getRichReportJRA(); final JasperReport masterReport = jra[0]; // init jasper "rendering map" final Map<String, Object> jasperFillManagerParameters = new LinkedHashMap<String, Object>(); // add parameters to "rendering map" if (reportParameters != null) { for (final ReportParameter rp : reportParameters) { jasperFillManagerParameters.put(rp.getFullName(), rp.getValue()); } } // add subreports to "rendering map" for (int k = 1; k < jra.length; k++) { if (jra[k] != null) { jasperFillManagerParameters.put(ReportFactory.PARAM_SUBREPORT + k, jra[k]); } } // add images to "rendering map" final InputStream[] isa = reportCard.getImagesISA(); for (int i = 0; i < isa.length; i++) { jasperFillManagerParameters.put(ReportFactory.PARAM_IMAGE + i, isa[i]); } // launch report rendering super.fillReport(masterReport, jasperFillManagerParameters); return jasperPrint; }