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
}
		if ( context.isInFactory( ) )
		{
			TableScriptExecutor.handleOnCreate( (TableContent) tableContent,
					context );
		}
		startTOCEntry( tableContent );
		if ( emitter != null )
		{
			emitter.startTable( tableContent );
		}
		accessQuery( tableDesign, emitter );
		if ( emitter != null )
		{
			emitter.endTable( tableContent );
		}
		finishTOCEntry( );
		context.popContent( );
		closeResultSet( );
		logger.log( Level.FINEST, "end table item" ); 
		timer.stop( );
		timer.logTimeTaken( logger, Level.FINEST, context.getTaskIDString( ),
				"Render table" ); 
	}
	/**
	 * structure used to cache the information of a table.
	 * 
	 * @version $Revision: 1.35 $ $Date: 2005/12/08 07:36:16 $
	 */
	private static class TABLEINFO