Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » BIRT » Error when defining drillthrough in a chart(An error message occurs when we define a drillthrough in a chart using a multi-value parameter in expression)
Error when defining drillthrough in a chart [message #825943] Wed, 21 March 2012 12:55 Go to next message
donino donino is currently offline donino donino
Messages: 162
Registered: July 2011
Senior Member
Hi,

on Birt 3.7.2 RCP & Web viewer, in this very simple report sample 2 pie charts series are defined. Both use a drillthrough interactivity action to the sample target report.

index.php/fa/7596/0/

The first chart serie is using a multivalue parameter in the link drill to the target, and the second a singlevalue, with very simple expressions such:
params["multivalue"].value 

params["singlevalue"].value

At runtime none chart is displayed and i get this stack error:


Chart (id = 10): 
- The trigger data is invalid or its type is unknown. (Element ID:10) 
exception.unknown.trigger.datatype ( 1 time(s) )
detail : org.eclipse.birt.report.engine.api.EngineException: The trigger data is invalid or its type is unknown. (Element ID:10)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1237)
	at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1045)
	at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localizeForeign(LocalizedContentVisitor.java:578)
	at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:163)
	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:37)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
	at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
	at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
	at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:661)
	at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:294)
	at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1547)
	at org.eclipse.birt.report.service.BirtViewerReportService.getPage(BirtViewerReportService.java:204)
	at org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.doRenderPage(BirtChangeParameterActionHandler.java:82)
	at org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(AbstractChangeParameterActionHandler.java:103)
	at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
	at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
	at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
	at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleChangeParameter(BirtDocumentProcessor.java:100)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
	at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
	at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
	at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
	at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
	at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
	at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
	at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
	at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
	at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
	at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:317)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:939)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: org.eclipse.birt.chart.exception.ChartException: The trigger data is invalid or its type is unknown.
	at org.eclipse.birt.chart.internal.datafeed.UserDataSetProcessor.populate(UserDataSetProcessor.java:106)
	at org.eclipse.birt.chart.internal.datafeed.DataProcessor.fillSeriesDataSet(DataProcessor.java:1390)
	at org.eclipse.birt.chart.internal.datafeed.DataProcessor.generateRuntimeSeries(DataProcessor.java:584)
	at org.eclipse.birt.chart.internal.datafeed.DataProcessor.generateRuntimeSeries(DataProcessor.java:1486)
	at org.eclipse.birt.chart.internal.datafeed.DataProcessor.generateRuntimeSeries(DataProcessor.java:508)
	at org.eclipse.birt.chart.factory.Generator.bindData(Generator.java:721)
	at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.bindData(ChartReportItemPresentationBase.java:729)
	at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:855)
	at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationProxy.onRowSets(ChartReportItemPresentationProxy.java:108)
	at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1022)



I noticed:

- If both charts series use the single value parameter in the drill action, then it works.
- It only happens within a chart, the same scenario works with a drillthrough defined on a crosstable or a table, even with multivalues.


Is it a known issue or should i log a bugzilla entry for this? May be i misunderstood something about the way to manage a multi-value parameter in a chart interactivity?

Thanks!


[Updated on: Wed, 21 March 2012 15:26]

Report message to a moderator

Re: Error when defining drillthrough in a chart [message #826182 is a reply to message #825943] Wed, 21 March 2012 19:15 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Can you please log a bugzilla for this.
I know this issue was fixed for normal drills but does not appear to be
fixed for charts. As a work around you could use a invoke scripts and
write your own drill. Attached is an example that did this with a
normal table.

Jason

On 3/21/2012 8:55 AM, donino donino wrote:
> Hi,
>
> on Birt 3.7.2 RCP& Web viewer, in this very simple report sample 2 pie charts are defined. Both use a drillthrough interactivity action to the sample target report.
>
> The first chart is using a multivalue parameter in the link drill to the target, and the second a singlevalue, with very simple expressions such:
> params["multivalue"].value
> params["singlevalue"].value
> At runtime none chart is displayed and i get this stack error:
>
>
>
> Chart (id = 10):
> - The trigger data is invalid or its type is unknown. (Element ID:10)
> exception.unknown.trigger.datatype ( 1 time(s) )
> detail : org.eclipse.birt.report.engine.api.EngineException: The trigger data is invalid or its type is unknown. (Element ID:10)
> at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1237)
> at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1045)
> at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localizeForeign(LocalizedContentVisitor.java:578)
> at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:163)
> at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:37)
> at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
> at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
> at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
> at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:661)
> at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:294)
> at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1547)
> at org.eclipse.birt.report.service.BirtViewerReportService.getPage(BirtViewerReportService.java:204)
> at org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.doRenderPage(BirtChangeParameterActionHandler.java:82)
> at org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(AbstractChangeParameterActionHandler.java:103)
> at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
> at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
> at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
> at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleChangeParameter(BirtDocumentProcessor.java:100)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
> at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
> at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
> at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
> at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
> at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
> at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
> at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
> at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
> at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
> at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
> at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:317)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:939)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> Caused by: org.eclipse.birt.chart.exception.ChartException: The trigger data is invalid or its type is unknown.
> at org.eclipse.birt.chart.internal.datafeed.UserDataSetProcessor.populate(UserDataSetProcessor.java:106)
> at org.eclipse.birt.chart.internal.datafeed.DataProcessor.fillSeriesDataSet(DataProcessor.java:1390)
> at org.eclipse.birt.chart.internal.datafeed.DataProcessor.generateRuntimeSeries(DataProcessor.java:584)
> at org.eclipse.birt.chart.internal.datafeed.DataProcessor.generateRuntimeSeries(DataProcessor.java:1486)
> at org.eclipse.birt.chart.internal.datafeed.DataProcessor.generateRuntimeSeries(DataProcessor.java:508)
> at org.eclipse.birt.chart.factory.Generator.bindData(Generator.java:721)
> at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.bindData(ChartReportItemPresentationBase.java:729)
> at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:855)
> at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationProxy.onRowSets(ChartReportItemPresentationProxy.java:108)
> at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1022)
>
>
>
> I noticed:
>
> - If both charts use the single value parameter in the drill action, then it works.
> - It only happens within a chart, the same scenario works with a drillthrough defined on a crosstable or a table, even with multivalues.
>
>
> Is it a known issue or should i log a bugzilla entry for this? May be i misunderstood something about the way to manage a multi-value parameter in a chart interactivity?
>
> Thanks!
>
>
>
Re: Error when defining drillthrough in a chart [message #826294 is a reply to message #826182] Wed, 21 March 2012 22:44 Go to previous messageGo to next message
donino donino is currently offline donino donino
Messages: 162
Registered: July 2011
Senior Member
Thanks for your response and the workaround Jason, the issue has been logged as Bug 375003
Re: Error when defining drillthrough in a chart [message #826864 is a reply to message #826294] Thu, 22 March 2012 15:45 Go to previous message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Thanks for posting.

Jason

On 3/21/2012 6:44 PM, donino donino wrote:
> Thanks for your response and the workaround Jason, the issue has been
> logged as https://bugs.eclipse.org/bugs/show_bug.cgi?id=375003
>
Previous Topic:SEVERE: Unable to open connection.
Next Topic:Integration of Eclipse BIRT with SAP Database
Goto Forum:
  


Current Time: Tue Sep 16 03:13:03 GMT 2014

Powered by FUDForum. Page generated in 0.01928 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software