Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
problem viewing reports, especially with charts, in webviewer
jobe
Hi,<br />
<br />
I'm trying to view a report in a java application using the webviewer. In the eclipse report designer it works to both preview it and view the report in the webviewer from the menu.<br />
With the following code I try to do the same thing from my application, but it doesn't work.<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
public void createPartControl(Composite parent) {
Browser browser = new Browser(parent, SWT.NONE);
WebViewer.display("myReport.rptdesign", WebViewer.HTML, browser, "run");
}
</pre>
When using the framework servlet (and other similar) the webviewer displays its interface, but a dialog just says "processing" until it says it is out of memory. (Which it is not according to system monitor, but anyway, it doesn'twork).<br />
When using the run servlet (and other similar) the tables show up with the correct data, but for the charts following errors appears:<br />
<em class='bbc'><br />
The following items have errors:<br />
<br />
Chart NewChart:<br />
-<br />
<br />
{0} ( 1 time(s) )<br />
detail : org.eclipse.birt.report.engine.api.EngineException<br />
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1109)<br />
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:933)<br />
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.visitForeign(LocalizedContentVisitor.java:501)<br />
at org.eclipse.birt.report.engine.content.impl.ForeignContent.accept(ForeignContent.java:69)<br />
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:150)<br />
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:36)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.execute(HTMLAbstractLM.java:434)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.execute(HTMLAbstractLM.java:442)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.execute(HTMLAbstractLM.java:442)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.execute(HTMLAbstractLM.java:442)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLListingBandLM.intializeHeaderContent(HTMLListingBandLM.java:96)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLListingBandLM.initialize(HTMLListingBandLM.java:48)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLLayoutManagerFactory.createLayoutManager(HTMLLayoutManagerFactory.java:50)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.createLayoutManager(HTMLReportLayoutEngine.java:142)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:67)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLGroupLM.layoutChildren(HTMLGroupLM.java:80)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLListLM.layoutChildren(HTMLListLM.java:70)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:104)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:153)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:76)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:101)<br />
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:151)<br />
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:72)<br />
at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:954)<br />
at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:933)<br />
at org.eclipse.birt.report.service.actionhandler.BirtRunAndRenderActionHandler.__execute(BirtRunAndRenderActionHandler.java:76)<br />
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)<br />
at org.eclipse.birt.report.presentation.aggregation.layout.EngineFragment.doService(EngineFragment.java:298)<br />
at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment.service(AbstractBaseFragment.java:76)<br />
at org.eclipse.birt.report.servlet.BirtEngineServlet.__doGet(BirtEngineServlet.java:119)<br />
at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doGet(BaseReportEngineServlet.java:156)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:596)<br />
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)<br />
at org.eclipse.birt.report.servlet.BaseReportEngineServlet.service(BaseReportEngineServlet.java:109)<br />
at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)<br />
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)<br />
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)<br />
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)<br />
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:269)<br />
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)<br />
at org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677)<br />
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)<br />
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)<br />
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)<br />
at org.mortbay.http.HttpServer.service(HttpServer.java:909)<br />
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)<br />
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)<br />
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)<br />
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)<br />
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)<br />
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)<br />
Caused by: org.eclipse.birt.chart.exception.ChartException<br />
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:761)<br />
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationProxy.onRowSets(ChartReportItemPresentationProxy.java:105)<br />
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:909)<br />
... 66 more<br />
Caused by: java.lang.NullPointerException<br />
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.prepareDeviceRenderer(ChartReportItemPresentationBase.java:987)<br />
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:720)<br />
... 68 more<br />
</em><br />
Since it works just fine in eclipse, I don't see any reason to this, and I would appreciate some help to solve the problem. I'm using birt 2.3.1 and java 1.5.<br />
<br />
/ jobe
Find more posts tagged with
Comments
jobe
Hi again,
I'm pretty sure this has to do with missing plugins. Is there a simple way of knowing which plugins are required to view a report in the webviewer with an RCP application? And why doesn't the webviewer plugin come with all this functionality (or require it from other plugins by some dependencies)?
Anyway, does anyone know which plugins are required to view a report in the webviewer when it is deployed to an RCP application?
Would be happy to know! / jobe
mwilliams
Hi jobe,<br />
<br />
Not sure if you have seen this <a class='bbc_url' href='
http://www.birt-exchange.com/forum/eclipse-birt-newsgroup-mirror/9656-rcp-webviewer-classloader-connection.html'>post</a>
; from the Eclipse Newsgroup Mirror or if it'll even help you, but it talks about the plug-ins for using the webviewer with an RCP app. Let me know if it helps or not.
jobe
Thanks for the reply mwilliams!
Actually it didn't help right now, since I've already solved my plugin problem. It may be useful in the future though. Something else that may be useful to readers of this post is which plugins I needed to solve my problem. These are:
org.eclipse.birt.report.viewer
(plugins between lines automatically added by this one)
org.eclipse.birt.chart.engine
org.eclipse.birt.core
org.eclipse.birt.core.ui
org.eclipse.birt.data
org.eclipse.birt.data.aggregation
org.eclipse.birt.report.data.adapter
org.eclipse.birt.report.designer.core
org.eclipse.birt.report.designer.ui
org.eclipse.birt.report.designer.ui.editors
org.eclipse.birt.report.designer.ui.editors.schematic
org.eclipse.birt.report.designer.ui.views
org.eclipse.birt.report.engine
org.eclipse.birt.report.engine.dataextraction
org.eclipse.birt.report.engine.fonts
org.eclipse.birt.report.item.crosstab.core
org.eclipse.birt.report.model
org.eclipse.birt.report.model.adapter.oda
Additionally also these plugins were needed:
org.eclipse.birt.chart.device.extension
org.eclipse.birt.chart.engine.extension
org.eclipse.birt.chart.reportitem
org.eclipse.birt.core.script.function
org.eclipse.birt.report.designer.ui.editor.script
org.eclipse.birt.report.engine.emitter.html
org.eclipse.birt.report.engine.emitter.pdf
org.eclipse.birt.report.engine.emitter.postscript
I also needed the org.eclipse.datatools.connectivity.oda.flatfile to access my flatfile datasource. Plus, importantly, needed to set -XX:PermSize=128M for my application's JVM in order not to run out of that memory.
I think that's it! / jobe