Bug 191687 ArrayIndexOutOfBoundsException occurs when open the attache report design file
Description: ArrayIndexOutOfBoundsException occurs when open the attache report design file Build number: 2.2.0.v20070608-0630 Steps to reproduce: 1, Open the attache report design Expected result: If the report design is invalud, we just pops up a warning message to tell user Actual result: ArrayIndexOutOfBoundsException occurs Error log: java.lang.ArrayIndexOutOfBoundsException: 1 at org.eclipse.birt.report.designer.internal.ui.editors.schematic.border.TableBorderHelper.initialize(TableBorderHelper.java:165) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.border.TableBorderHelper.updateCellBorderInsets(TableBorderHelper.java:287) at org.eclipse.birt.report.designer.internal.ui.layout.TableLayout.layout(TableLayout.java:146)
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/api/elements/table/LayoutUtil.java
LayoutSlot layoutSlot = getLayoutSlotOfCell( cell );
		
		if ( layoutSlot == null )
			return cell.getColumnSpan( );
		int rowId = cell.getContainer( ).getContainerSlotHandle( ).findPosn(
				cell.getContainer( ) );
		LayoutRow layoutRow = layoutSlot.getLayoutRow( rowId );
		int columnPosn = layoutRow
				.findCellColumnPos( (Cell) cell.getElement( ) );
		if ( columnPosn <= 0 )
			return 0;
		int effectiveColumnSpan = 0;
		for ( int i = columnPosn - 1; i < layoutRow.getColumnCount( ); i++ )
		{
			LayoutCell layoutCell = layoutRow.getLayoutCell( i );
			if ( layoutCell.getContent( ) != cell.getElement( ) )
				break;
			effectiveColumnSpan++;
		}
		return effectiveColumnSpan;
	}
	/**
	 * Returns the effective row span of the given cell.
	 * 
	 * @param cell
	 *            the cell to find
	 * @return the 1-based effective row span of the given cell. 0 means the
	 *         cell is in the table element but it do not show in the layout.
	 */
	public static int getEffectiveRowSpan( CellHandle cell )