Bug 123722 Java based scripting -> getExpressionValue(int i) of IRowData returns unreasonable value
public void onPrepare( IRow row, IReportContext reportContext ) { try { row.setBookmark( "\"row-bookmark\"" ); System.out.println( row.getBookmark( ) ); } catch ( Exception e ) { e.printStackTrace( ); } } public void onCreate(IRowInstance rowInstance, IReportContext reportContext) { try { IRowData rowData = rowInstance.getRowData( ); Object int2 = rowData.getExpressionValue( 1 ); System.out.println( int2 ); } catch ( Exception e ) { e.printStackTrace( ); } } Consider the script above, according to Javadoc, rowData.getExpressionValue( 1 ) will return the first data expr. of the row, i.e. the value of the first column. However, it was noticed that "row-bookmark" was returned instead. And if i used rowData.getExpressionValue( 2 ), then i got the right value. So if it was the correct implementation, it should be clearly stated in Javadoc.
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/executor/TableItemExecutor.java
CellDesign cellDesign = (CellDesign) cell.getGenerateBy( );
			String dropType = cellDesign.getDrop( );
			if ( dropType != null && !"none".equals( dropType ) )
			{
				rowSpan = createDropID( groupIndex, dropType );
			}
			layout.createCell( colId, rowSpan, colSpan, new CellContent( cell,
					cellEmitter ) );
		}
		private int createDropID( int groupIndex, String dropType )
		{
			int dropId = -10 * ( groupIndex + 1 );
			if ( "all".equals( dropType ) )
			{
				dropId--;
			}
			return dropId;
		}
		public void endCell( ICellContent cell )
		{
		}
		public void resolveCellsOfDropDetail( int groupIndex )
		{
			layout.resolveDropCells( createDropID( groupIndex, "detail" ) );
		}
		public void resolveCellsOfDropAll( int groupIndex )
		{
			layout.resolveDropCells( createDropID( groupIndex, "all" ) );
		}
		public IContentEmitter getCellEmitter( )