[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[birt-charting-dev] How to access report context from ChartEventHandlerAdapter
|
I have a BIRT report that contains a line chart. I am trying to access the report context from within a ChartEventHandlerAdapter as follows:-
import org.eclipse.birt.report.engine.script.internal.ReportContextImpl;
public class
ResponseTimesChartEventHandlerAdapter extends ChartEventHandlerAdapter
{
public void beforeGeneration(Chart cm, IChartScriptContext icsc) {
IExternalContext ctx = icsc.getExternalContext();
ReportContextImpl reportContext = (ReportContextImpl)ctx.getObject();
.........
When I preview the report I get the following exception:-
Chart ResponseTimeChart:
- $NO-RB$ org.eclipse.birt.report.engine.script.internal.ReportContextImpl
org.eclipse.birt.report.engine.script.internal.ReportContextImpl ( 1 time(s) )
detail : org.eclipse.birt.chart.exception.ChartException: $NO-RB$ org.eclipse.birt.report.engine.script.internal.ReportContextImpl
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationImpl.onRowSets(ChartReportItemPresentationImpl.java
:529)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:591)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.visitForeign
(LocalizedContentVisitor.java:347)
at org.eclipse.birt.report.engine.content.impl.ForeignContent.accept(ForeignContent.java:52)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java
:107)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:38)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren(HTMLPageLM.java
:123)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:81)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:80)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run
(RunAndRenderTask.java:187)
at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(Unknown Source)
at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(Unknown Source)
at
org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(Unknown Source)
at org.eclipse.birt.report.service.actionhandler.BirtRunAndRenderActionHandler.__execute(Unknown Source)
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute
(Unknown Source)
at org.eclipse.birt.report.presentation.aggregation.layout.EngineFragment.doService(Unknown Source)
at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment.service(Unknown Source)
at org.eclipse.birt.report.servlet.BirtEngineServlet.__doGet(Unknown Source)
at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java
:740)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java
:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java
:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.eclipse.tomcat.internal.EclipseErrorReportValve.invoke(EclipseErrorReportValve.java:153)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java
:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(
CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
Caused by:
java.lang.ClassCastException: org.eclipse.birt.report.engine.script.internal.ReportContextImpl
at com.vordel.reporting.birt.ResponseTimesChartEventHandlerAdapter.beforeGeneration(ResponseTimesChartEventHandlerAdapter.java
:133)
at org.eclipse.birt.chart.script.ScriptHandler.callJavaFunction(ScriptHandler.java:792)
at org.eclipse.birt.chart.script.ScriptHandler.callFunction(ScriptHandler.java:1013)
at org.eclipse.birt.chart.factory.Generator.build
(Generator.java:882)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationImpl.onRowSets(ChartReportItemPresentationImpl.java:453)
... 52 more
I am casting into the correct object as far as I can make out, but I'm getting a ClassCastException. Presumably there is something wrong in my environment. Has anyone any ideas ?
Thanks,
Melissa