Я ищу какое-то направление для кодирования BIRT API с источником данных. Я не знаю, как настроить приложение для доступа к созданному источнику данных. Если мне удастся помочь, это будет здорово. Вот где я. Я уже создал отчет через RIR RIRT. Теперь я хочу сгенерировать отчет с помощью обычного Java-приложения и веб-приложения. Оба будут передавать параметры даты через графический интерфейс, который я буду создавать. Оба должны иметь источник данных. Я видел здесь несколько примеров, которые используют Report Designer, но я не использую это. Я также НЕ использую GUI Report Creator (RCP) для создания этого.Настройка источника данных BIRT через его API
Благодаря
import java.util.logging.Level;
import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.EngineException;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
public class ReportGenerator {
public static void main(String args[]) throws EngineException {
ReportGenerator reportGenerator = new ReportGenerator();
reportGenerator.executeReport();
}
public void executeReport() throws EngineException {
IReportEngine engine=null;
EngineConfig config = null;
try{
config = new EngineConfig();
config.setBIRTHome("C:\\birt-rcp-report-designer-3_7_2\\ReportEngine");
config.setLogConfig("c:/temp/test", Level.FINEST);
Platform.startup(config);
IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
engine = factory.createReportEngine(config);
IReportRunnable design = null;
//Open the report design
design = engine.openReportDesign("ReportTemplates/testNoData.rptdesign");
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
task.setParameterValue("AuthorName", "Dale DeMott");
HTMLRenderOption options = new HTMLRenderOption();
options.setOutputFileName("output/resample/Parmdisp.html");
options.setOutputFormat("html");
task.setRenderOption(options);
//Looking to create and insert a datasource here.
//task.setDataSource(some parameters here that represent the ds);
task.run();
task.close();
engine.destroy();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
Platform.shutdown();
}
}
}