У меня есть отчет BIRT, который подключается к нашей тестовой базе данных. В продуктивной среде я хотел бы предоставить источник данных, который предоставляется контейнером через jndi.
Как я могу установить программный источник данных для данного отчета?
...
IReportRunnable design = birtEngine.openReportDesign ( new File ( properties.getProperty ( "reportPath" ), report + ".rptdesign" ).getAbsolutePath () );
IRunAndRenderTask task = birtEngine.createRunAndRenderTask ( design );
PDFRenderOption options = new PDFRenderOption ();
options.setOutputFormat ( PDFRenderOption.OUTPUT_FORMAT_PDF );
options.setOutputStream ( out );
task.setRenderOption ( options );
for ( Entry<String, Object> entry : parameters.entrySet () )
{
task.setParameterValue ( entry.getKey (), entry.getValue () );
}
task.run ();
task.close ();
...
Думаю, мне пришлось бы изменить design
, но, с другой стороны, task
имеет метод setDataSource
, но это немного похоже на то, что я должен был бы предоставить некоторые элементы xml dom.