Jump to content

BIRT Developer Center Download


Photo

Tribix emitters in BIRT 3.7


  • Please log in to reply
8 replies to this topic

#1 JimTalbut

JimTalbut

    Member

  • Members
  • PipPip
  • 11 posts

Posted 28 June 2011 - 07:12 AM

Hi, How should I deploy the tribix emitters (to replace the built-in Excel emitter) in BIRT 3.7? Thanks Jim

#2 JasonW

JasonW

    Senior Member

  • Members
  • 2505 posts

Posted 28 June 2011 - 09:34 AM

Jim, Can you log a bug for this. I got it to work but it is somewhat convoluted. Here are the steps I used: //Birt 3.7 Runtime Extracted the org.eclipse.birt.runtime.version.jar edited the plugin.xml for the jar and commented out <!--import from org.eclipse.birt.report.engine.emitter.prototype.excel <extension name="excel emitter" point="org.eclipse.birt.report.engine.emitters"> <emitter class="org.eclipse.birt.report.engine.emitter.excel.ExcelEmitter" format="xls" id="org.eclipse.birt.report.engine.emitter.prototype.excel" mimeType="application/vnd.ms-excel" pagination="no-pagination"/> </extension> --> I then opened the META-INF folder and deleted everything but the MANIFEST.MF. I modified this file to look like: Manifest-Version: 1.0 Bundle-Vendor: Eclipse.org Bundle-Name: BIRT Runtime SDK Bundle-SymbolicName: org.eclipse.birt.runtime Bundle-Version: 3.7.0.v20110615-1818 I then zipped back up and changed the extension to .jar. The final steps involve changes to the tribix emitter. Extract the jar and copy the following jars to the WEB-INF/lib of the viewer: xl-emitter.jar lib/poi-3.5..jar lib/commons-logging-version.jar lib/commons-jexl-version.jar Remove these from the tribix emitter and re-zip up and rename to jar. Jason

#3 JimTalbut

JimTalbut

    Member

  • Members
  • PipPip
  • 11 posts

Posted 28 June 2011 - 11:44 PM

Thanks Jason, I'll give that a go. https://bugs.eclipse...g.cgi?id=350662

#4 JasonW

JasonW

    Senior Member

  • Members
  • 2505 posts

Posted 21 July 2011 - 09:44 AM

Updated: Blog post: http://birtworld.blo...ls-emitter.html Jason

#5 sspavan

sspavan

    Member

  • Members
  • PipPip
  • 14 posts

Posted 22 January 2012 - 04:13 PM

I followed the instructions provided at http://birtworld.blo...s-emitter.html. I am using birt 3.7. Modified the plugin.xml and mainifest file of org.eclipse.birt.runtime_3.7.0.v20110615-1818.jar and created a new jar file. Also I extracted the jars from org.uguess.birt.report.engine.emitter.xls_2.5.2.201107181644.jar, updated the mainifest file and created a new jar file. I am getting following error org.eclipse.birt.report.engine.api.EngineException: EmitterID org.uguess.birt.report.engine.emitter.xls for render option is invalid. at org.eclipse.birt.report.engine.api.impl.EngineTask.setupRenderOption(EngineTask.java:1913) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:96) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77) at com.bcbsks.mr.reports.birt.BIRTReportGenerator.createReport(BIRTReportGenerator.java:58) at com.bcbsks.mr.common.tasklet.GenerateBirtReportPOJO.execute(GenerateBirtReportPOJO.java:37) at com.bcbsks.mr.reports.birt.GenerateBirtReportIT.testLaunchJob(GenerateBirtReportIT.java:27) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:82) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

#6 JasonW

JasonW

    Senior Member

  • Members
  • 2505 posts

Posted 24 January 2012 - 07:13 AM

What jars do you have in the classpath and what does your code look like? Jason

#7 flosmi

flosmi

    Advanced Member

  • Members
  • PipPipPip
  • 43 posts

Posted 30 August 2012 - 02:34 AM

Hi, where and how do i set this: If you are using the Report Engine API, there is a render option available for setting the emitter id. EXCELRenderOption options = new EXCELRenderOption(); options.setOutputFormat("xls"); options.setOutputFileName("output/resample/ps.xls"); options.setOption(IRenderOption.EMITTER_ID, "org.eclipse.birt.report.engine.emitter.prototype.excel"); IRenderTask task = engine.createRenderTask(document); task.setRenderOption(options); or EXCELRenderOption options = new EXCELRenderOption(); options.setOutputFormat("xls"); options.setOutputFileName("output/resample/ps.xls"); options.setOption(IRenderOption.EMITTER_ID, "org.uguess.birt.report.engine.emitter.xls"); IRenderTask task = engine.createRenderTask(document); task.setRenderOption(options); i need a little bit more advice :) Thanks.

#8 JasonW

JasonW

    Senior Member

  • Members
  • 2505 posts

Posted 31 August 2012 - 01:18 PM

Are you using the viewer or the report engine API? If you are using the api post the code you are using now. Jason

#9 preethi.0402@gmail.com

preethi.0402@gmail.com

    Newbie

  • Members
  • Pip
  • 1 posts

Posted 10 November 2014 - 12:28 AM

There is an issue in the XLS download in birt 4.3 when the birt is integrated in spring mcv, I had used the same code as below

 

EXCELRenderOption options = new EXCELRenderOption(); options.setOutputFormat("xls"); options.setOutputFileName("output/resample/ps.xls"); options.setOption(IRenderOption.EMITTER_ID, "org.eclipse.birt.report.engine.emitter.prototype.excel"); IRenderTask task = engine.createRenderTask(document); task.setRenderOption(options); or EXCELRenderOption options = new EXCELRenderOption(); options.setOutputFormat("xls"); options.setOutputFileName("output/resample/ps.xls"); options.setOption(IRenderOption.EMITTER_ID, "org.uguess.birt.report.engine.emitter.xls"); IRenderTask task = engine.createRenderTask(document); task.setRenderOption(options); 

Please find the stack trace below and help me in resolving the issue.

EmitterID uk.co.spudsoft.birt.emitters.excel.XlsEmitter for render option is invalid. at org.eclipse.birt.report.engine.api.impl.EngineTask.setupRenderOption(EngineTask.java:2022) at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:524) at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:294) at com.bluetree.web.BirtViewer.ReportRenderer.processReportDesignDocAndRenderReport(ReportRenderer.java:197) at com.bluetree.web.BirtViewer.ReportProcessor.processReport(ReportProcessor.java:58) at com.bluetree.web.controller.BirtReportController.doGet(BirtReportController.java:45) at com.bluetree.web.controller.BirtReportController.doPost(BirtReportController.java:53) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.bluetree.web.filters.CrossScriptingFilter.doFilter(CrossScriptingFilter.java:31) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

Thanks,

Preethi