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

Bug 335732

Summary: Report Engine's HTMLActionHandlerin not processing parameters correctly
Product: z_Archived Reporter: vivek <vivextra>
Component: BIRTAssignee: Yu Chen <yChen>
Status: VERIFIED FIXED QA Contact: Xiaoying Gu <bluesoldier>
Severity: major    
Priority: P3 CC: bluesoldier, vishal.upadhyay, yChen
Version: unspecified   
Target Milestone: 3.7.0 M6   
Hardware: All   
OS: All   
Whiteboard: Obsolete

Description vivek CLA 2011-01-28 14:45:09 EST
Build Identifier: Birt 2.6.1 GA

ViewerHTMLActionHandler in the viewer handles processing parameters as a list whereas the report engine HTMLActionHandler does not. The default HTMLActionHandler should be checking if the parameter is a list object. The viewer action handler does this. Currently, all parameters in drill-down report are treated as list and thus, it puts square brackets in the url, which fails to run.


This bug is discussed in detail at, http://www.birt-exchange.org/org/forum/index.php/topic/20602-birt-261-hyperlink-not-working-for-iframe-html-report/page__s__939d1a6bb4108f1d9939e7bc23474b13

Reproducible: Always

Steps to Reproduce:
1. Create a drill-down report, passing a parameter (like integer)
2. Run it through the API using HTMLActionHandler
3. When you click on link in the url the value would be surrounded by square brackets, for ex.,
http://localhost:8080/birt2.6.1/frameset?__report=/detail.rptdesign&__format=html&order=[10106]&__overwrite=true
Comment 1 Yu Chen CLA 2011-02-21 04:07:56 EST
Fixed.
Comment 2 Xiaoying Gu CLA 2011-02-21 22:13:00 EST
Verified in daily build 4.0.0.v20110221-0630
Comment 3 vivek CLA 2011-03-22 16:37:07 EDT
Is this fixed for Birt Viewer action handler also? We get the NPE when viewing rptdocument type which has drill-downs using Birt's View Handler,

{code}
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

{code}

More detail in the original forum.
Comment 4 Xiaoying Gu CLA 2011-03-23 01:41:51 EDT
(In reply to comment #3)
> Is this fixed for Birt Viewer action handler also? We get the NPE when viewing
> rptdocument type which has drill-downs using Birt's View Handler,
> 
> {code}
> 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
> 
> {code}
> 
> More detail in the original forum.

Vivek,

Could you describe in more details how to reproduce the above exceptions(e.g report design and snippet of code to run and render the report)? It should be an different issue from the original one reported in this bug. Please file a new one.
Comment 5 vivek CLA 2011-04-07 02:56:01 EDT
What build is this bug fixed in? The target milestone shows 4.0 - is that right? The current Birt release is 2.6.2 - do we already have 4.0 branch? Is this bug fixed in 2.6.2?
Comment 6 Xiaoying Gu CLA 2011-04-07 03:19:02 EDT
(In reply to comment #5)
> What build is this bug fixed in? The target milestone shows 4.0 - is that
> right? The current Birt release is 2.6.2 - do we already have 4.0 branch? Is
> this bug fixed in 2.6.2?

The target should be 3.7.0M6.
The fix was not able to be included in the 2.6.2 release.
Comment 7 Vishal Upadhyay CLA 2013-06-13 06:29:13 EDT
Hi,

I am using eclipse runtime 3.7.2 and facing same bug as reported i.e square brackets being put in drill-down report's url.
Has the fix been included in version 3.7.2?

Thanks,
Vishal