Community
Participate
Working Groups
Build Identifier: 20100617-1415 Between org.eclipse.birt.report.engine.emitter.html.HTMLVisionOptimize.buildCellStyle(...) and org.eclipse.birt.report.engine.emitter.html.util.HTMLEmitterUtil.buildOverflowStyle(...), there is improper handling of the 'style' variable. buildOverflowStyle(...) throws a NullPointerException when the 'style' parameter is null. ====== Calling method: /** * Build the style of cell content. */ public void buildCellStyle( ICellContent cell, StringBuffer styleBuffer, boolean isHead, boolean fixedCellHeight ) { IStyle style = getElementStyle( cell ); // implement the cell's clip. if ( fixedReport ) { ================================ HTMLEmitterUtil.buildOverflowStyle( styleBuffer, style, true ); =============================== } IStyle cellMergedStyle = new CellMergedStyle( cell ); ======================== Exception Method: public static void buildOverflowStyle( StringBuffer buf, IStyle style, boolean outputHidden ) { ===============PROBLEM STATEMENT (NO CHECK FOR NULL)========== String overflow = style.getOverflow( ); =========================================== if ( outputHidden || ( overflow != null && !CSSConstants.CSS_OVERFLOW_HIDDEN_VALUE.equals( overflow ) ) ) { buf.append( " overflow:" ); buf.append( overflow != null ? overflow : CSSConstants.CSS_OVERFLOW_HIDDEN_VALUE ); buf.append( ";" ); } } ================= Reproducible: Always Steps to Reproduce: 1. Migrating report from 2.5.2 to 2.6.0 2. Don't know exact reason for NULL value, but code should handle the condition. 3.
(In reply to comment #0) I am getting this exact same error as well, the only change is that I have gone from BIRT 2.5.2 to 2.6.0. Note that in HTMLVisionOptimize.buildCellStyle(), the style variable is checked against null throughout except for the new call to buildOverflowStyle(). It looks like either buildOverflowStyle() should not be called when style==null or buildOverflowStyle() should check its incoming style parameter. This defect has broken every report I've tried so far, and I will have to go back to 2.5.2 until this is resolved.
Add null checking logic at buildCellStyle and buildOverflowStyle method.
verified on build 2.6.1.v20100709-0630. To reproduce this bug in designer, need to add URL parameter __agentstyle=false.
Created attachment 173844 [details] test report
Is there any workaround for this using 2.6.0? I don't really want to build the 2.6.1 snapshot.
Similar issue #321144
*** Bug 320639 has been marked as a duplicate of this bug. ***
*** Bug 318679 has been marked as a duplicate of this bug. ***