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
* scan the row to see if the row has drop cells.
		 * 
		 * @param row
		 *            row design to be tested.
		 * @return true: the row has drop cells. false: no drop cells.
		 */
		private boolean hasDropCellsInRow( RowDesign row )
		{
			for ( int i = 0; i < row.getCellCount( ); i++ )
			{
				CellDesign cell = row.getCell( i );
				String drop = cell.getDrop( );
				if ( drop != null && !"none".equals( drop ) )
				{
					return true;
				}
			}
			return false;
		}
		/**
		 * scan the group header to see if the group has any drop cells.
		 * 
		 * @param group
		 *            group to be scaned.
		 * @return true, the group has drop cells, false, no.
		 */
		private boolean hasDropCellsInGroup( TableGroupDesign group )
		{
			TableBandDesign header = group.getHeader( );
			if ( header != null )