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/script/internal/ElementUtil.java
return new ListInstance( ( ContainerContent ) element, context );
		
		if ( element instanceof RowContent )
			return new RowInstance( ( RowContent ) element, null, context );
		if ( element instanceof TableContent )
		{
			Object genBy = ( ( TableContent ) element ).getGenerateBy( );
			if ( genBy instanceof TableItemDesign )
				return new TableInstance( ( TableContent ) element, context );
			else if ( genBy instanceof GridItemDesign )
				return new GridInstance( ( TableContent ) element, context );
		}
		if ( element instanceof TextContent )
			return new TextItemInstance( ( TextContent ) element, context );
		if ( element instanceof ForeignContent )
		{
			ForeignContent fc = ( ForeignContent ) element;
			if ( IForeignContent.HTML_TYPE.equals( fc.getRawType( ) )
					|| IForeignContent.TEXT_TYPE.equals( fc.getRawType( ) )
					|| IForeignContent.TEMPLATE_TYPE.equals( fc.getRawType( ) ) )
				return new TextItemInstance( fc, context );
		}
		if ( element instanceof TableBandContent )
		{
			return getInstance( element.getParent( ), context );
		}
		return null;
	}
	public static IDesignElement getElement( DesignElementHandle element )
	{