Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Pdf Render Problem
mehrab
Hi all
I update my application from BIRT 2.1 to BIRT 2.3 and find a porblem when render a report in pdf. Previously it was working properly. My code and error is as follows. please anybody help me.
CODE:
public ByteArrayOutputStream getReport(File rptDocFile,
HttpServletRequest request) throws ViewerServletException {
IReportEngine engine = null;
IReportDocument iReportDocument = null;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try {
engine = BirtEngine.getBirtEngine();
iReportDocument = engine.openReportDocument(rptDocFile.getAbsolutePath());
IRenderTask renderTask = engine.createRenderTask(iReportDocument);
PDFRenderContext renderContext = new PDFRenderContext( );
HashMap contextMap = new HashMap();
contextMap.put(EngineConstants.APPCONTEXT_PDF_RENDER_CONTEXT,renderContext);
renderTask.setAppContext(contextMap);
// Set Render Options
HTMLRenderOption renderOption = new HTMLRenderOption();
renderOption.setOutputStream(byteArrayOutputStream);
renderOption.setOutputFormat("pdf");
renderOption.setEmbeddable(true);
renderTask.setRenderOption(renderOption);
renderTask.render();
renderTask.close();
//closing the document file after finish the work
iReportDocument.close();
} catch (BirtException e) {
log.debug("PdfReportView:"+e);
throw new ViewerServletException(e.getMessage(),e);
}
return byteArrayOutputStream;
}
ERROR
java.lang.ClassCastException: java.util.ArrayList cannot be cast to org.eclipse.birt.report.engine.layout.area.impl.ContainerArea
at org.eclipse.birt.report.engine.layout.pdf.emitter.PDFLayoutEmitter.outputPage(PDFLayoutEmitter.java:379)
at org.eclipse.birt.report.engine.layout.pdf.emitter.WrappedPDFLayoutEmitter.outputPage(WrappedPDFLayoutEmitter.java:188)
at org.eclipse.birt.report.engine.layout.pdf.emitter.PageLayout.outputPage(PageLayout.java:373)
at org.eclipse.birt.report.engine.layout.pdf.emitter.PageLayout.closeLayout(PageLayout.java:332)
at org.eclipse.birt.report.engine.layout.pdf.emitter.ContainerLayout.closeFirstN(ContainerLayout.java:302)
at org.eclipse.birt.report.engine.layout.pdf.emitter.ContainerLayout.closeFirstN(ContainerLayout.java:307)
at org.eclipse.birt.report.engine.layout.pdf.emitter.ContainerLayout.closeFirstN(ContainerLayout.java:307)
at org.eclipse.birt.report.engine.layout.pdf.emitter.ContainerLayout.closeExcludingLast(ContainerLayout.java:295)
at org.eclipse.birt.report.engine.layout.pdf.emitter.RowLayout.closeLayout(RowLayout.java:91)
at org.eclipse.birt.report.engine.layout.pdf.emitter.PDFLayoutEmitter.endTableContainer(PDFLayoutEmitter.java:416)
at org.eclipse.birt.report.engine.layout.pdf.emitter.PDFLayoutEmitter.endRow(PDFLayoutEmitter.java:427)
at org.eclipse.birt.report.engine.layout.pdf.emitter.WrappedPDFLayoutEmitter.endRow(WrappedPDFLayoutEmitter.java:230)
at org.eclipse.birt.report.engine.layout.pdf.emitter.PDFLayoutEmitterProxy.endRow(PDFLayoutEmitterProxy.java:288)
at org.eclipse.birt.report.engine.emitter.CompositeContentEmitter.endRow(CompositeContentEmitter.java:176)
at org.eclipse.birt.report.engine.layout.html.HTMLTableLayoutEmitter.endRow(HTMLTableLayoutEmitter.java:636)
at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.endContent(ContentEmitterUtil.java:108)
at org.eclipse.birt.report.engine.layout.html.buffer.AbstractNode.end(AbstractNode.java:68)
at org.eclipse.birt.report.engine.layout.html.buffer.HTMLPageBuffer._endContainer(HTMLPageBuffer.java:154)
at org.eclipse.birt.report.engine.layout.html.buffer.HTMLPageBuffer.endContainer(HTMLPageBuffer.java:142)
at org.eclipse.birt.report.engine.layout.html.buffer.TableBreakBuffer.endContainer(TableBreakBuffer.java:285)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.end(HTMLStackingLM.java:43)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:134)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27)
at org.eclipse.birt.report.engine.layout.html.HTMLTableBandLM.layoutChildren(HTMLTableBandLM.java:65)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27)
at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:76)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:101)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:151)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:72)
at com.anabase.art.reportviewer.view.PdfReportView.getReport(PdfReportView.java:111)
at com.anabase.art.reportviewer.ViewerServlet.viewReport(ViewerServlet.java:199)
at com.anabase.art.reportviewer.ViewerServlet.execute(ViewerServlet.java:407)
at com.anabase.art.reportviewer.ViewerServlet.doPost(ViewerServlet.java:108)
at com.anabase.art.reportviewer.ViewerServlet.doGet(ViewerServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Find more posts tagged with
Comments
mwilliams
Hi mehrab,
Is that the entire error stack?
mehrab
Hi Michael
thanks for reply. yes that is the entire error stack. I am using BIRT with Spring Framework. So I add all BIRT plugins and libraries in following locations of my application. WEB-INF>platform>plugins, WEB-INF>platform>configuration and WEB-INF> lib.
Mehrab