Project: Birt
Bug 117381 Support multiple emitters foir same output format using emitter ID
Reported: 2005-11-21 17:05:36 | Status: resolved fixed

BIRT now has two emitters that can support PDF format. An fo emitter and a PDF emitter. BIRT should provide API for host (viewer) to choose which emitter to use. The proposed solution is that in IRenderTask, a method setEmitterID() is supported. Internally, BIRT should keep a list of (format, emitters). If setEmitterID() is not called, and there are multiple emitters for a specific format, engine will arbitrarily pick one emitter; otherwise, engine should use the emitter name specified; if the specified emitter is not available for whatever reasons, engine should throw "format not supported" exception, even if there is another emitter that supports the format. The APi change is already put into IRenderTask. Implementation class needs to be enhanced. Please also investigate whether the IRunAndRenderTask can support setEmitterID(). For BIRT 2.0, viewer should be setting the fo emitter ID for RunAndRenderTask, and pdf emitter id for RenderTask.

Files changed in fix:
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/HTMLServerImageHandler.java engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/impl/RenderTask.java engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/impl/ReportEngineHelper.java engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/impl/RunAndRenderTask.java engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/content/impl/PageContent.java engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/css/dom/AreaStyle.java engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/css/engine/value/css/VerticalAlignManager.java engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/extension/internal/ExtensionManager.java