Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 341023

Summary: HTMLActionHandler in the Birt Viewer throwing NPE for reports with drill-downs
Product: z_Archived Reporter: vivek <vivextra>
Component: BIRTAssignee: Birt-ReportViewer <Birt-ReportViewer-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3 CC: bluesoldier
Version: unspecified   
Target Milestone: 3.7.0   
Hardware: All   
OS: All   
Whiteboard: Non-auto
Attachments:
Description Flags
sample report with drill-downs none

Description vivek CLA 2011-03-25 22:28:19 EDT
Build Identifier: Birt 2.6.1 GA

This issue is similar to https://bugs.eclipse.org/bugs/show_bug.cgi?id=335732. When we generate a report document using API and view in the Birt viewer for reports with drill-downs it throws the following exception,

Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.
   at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:296)
   at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1537)
... 46 more
Caused by: java.lang.NullPointerException
   at org.eclipse.birt.report.service.ViewerHTMLActionHandler.getReportName(ViewerHTMLActionHandler.java:820)
   at org.eclipse.birt.report.service.ViewerHTMLActionHandler.buildDrillAction(ViewerHTMLActionHandler.java:561)
   at org.eclipse.birt.report.service.ViewerHTMLActionHandler.getURL(ViewerHTMLActionHandler.java:210)
   at org.eclipse.birt.report.engine.emitter.html.HTMLReportEmitter.validate(HTMLReportEmitter.java:3368)
   at org.eclipse.birt.report.engine.emitter.html.HTMLReportEmitter.startText(HTMLReportEmitter.java:2477)
   at org.eclipse.birt.report.engine.emitter.html.HTMLReportEmitter.startData(HTMLReportEmitter.java:2812)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:71)
   at org.eclipse.birt.report.engine.layout.html.HTMLTableLayoutEmitter.startContent(HTMLTableLayoutEmitter.java:146)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startText(ContentEmitterAdapter.java:147)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startData(ContentEmitterAdapter.java:163)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:71)
   at org.eclipse.birt.report.engine.layout.html.HTMLTableLayoutEmitter.startContent(HTMLTableLayoutEmitter.java:146)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startText(ContentEmitterAdapter.java:147)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startData(ContentEmitterAdapter.java:163)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:71)
   at org.eclipse.birt.report.engine.layout.html.HTMLTableLayoutEmitter.startContent(HTMLTableLayoutEmitter.java:146)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startText(ContentEmitterAdapter.java:147)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startData(ContentEmitterAdapter.java:163)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:71)
   at org.eclipse.birt.report.engine.layout.html.HTMLTableLayoutEmitter.startContent(HTMLTableLayoutEmitter.java:146)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startText(ContentEmitterAdapter.java:147)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startData(ContentEmitterAdapter.java:163)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:71)
   at org.eclipse.birt.report.engine.layout.html.HTMLTableLayoutEmitter.startContent(HTMLTableLayoutEmitter.java:146)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startText(ContentEmitterAdapter.java:147)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startData(ContentEmitterAdapter.java:163)
   at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:71)
   at org.eclipse.birt.report.engine.layout.html.buffer.DummyPageBuffer.startContent(DummyPageBuffer.java:125

Attached is a sample report. More discussed in the forum - 

http://www.birt-exchange.org/org/forum/index.php/topic/20602-birt-261-hyperlink-not-working-for-iframe-html-report/page__st__20__gopid__74974&#entry74974

Reproducible: Always

Steps to Reproduce:
1. Create a report with drill-downs (see sample master.rptdesign)
2. Create a document using API,
  task = this.birtEngine.createRunTask(rptDesign); 
  task.run(documentFile.getAbsolutePath()); 
3. Open the document URL using Birt Viewer - you'll see the exception on the screen
Comment 1 vivek CLA 2011-03-25 22:30:13 EDT
Created attachment 191949 [details]
sample report with drill-downs

Attached sample report with drill-downs.
Comment 2 Xiaoying Gu CLA 2011-03-28 04:55:56 EDT
This bug was no reproducible in the 2.6.2 release build.