Java API を使用して ireport designer 5.0.1 で作成された JasperReport をエクスポートすると、レポートは常に空になります。レポートで whenNoDataType="AllSectionsNoDetail を設定しました。また、new JREmptyDataSource() を使用しても機能しません。
また、JRRtfExporter を使用して RTF としてエクスポートすると、結果は問題ありません。ireport の PDF プレビューも正しいです。
InputStream inputStream = this.getClass().getResourceAsStream("/test-report.jasper");
ByteArrayOutputStream out = new ByteArrayOutputStream();
JasperPrint jPrint = JasperFillManager.fillReport(inputStream, new HashMap<String, Object>(), new JRXmlDataSource(new ByteArrayInputStream("<root><name>John Doe</name</root>".getBytes("UTF-8")), "/root"));
JRPdfExporter reportExporter = new JRPdfExporter();//JRRtfExporter(); does works fine
reportExporter.setParameter(JRExporterParameter.JASPER_PRINT, jPrint);
reportExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
reportExporter.exportReport();
out.close();
reportBytes = out.toByteArray();
reportBytes はディスクに保存されます。