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( ) );
		int effectiveRowSpan = 0;
		for ( int i = rowId; i < layoutSlot.getRowCount( ); i++ )
		{
			LayoutRow layoutRow = layoutSlot.getLayoutRow( i );
			LayoutCell layoutCell = layoutRow.getLayoutCell( cell );
			if ( layoutCell == null )
				break;
			if ( layoutCell.isEffectualDrop( ) )
			{
				assert layoutCell.isCellStartPosition( );
				return layoutCell.getRowSpanForDrop( );
			}
			effectiveRowSpan++;
		}
		return effectiveRowSpan;
	}
	/**
	 * Returns a nearest <code>TableItem/GridItem</code> container for
	 * <code>TableRow</code>, <code>TableGroup</code> and
	 * <code>TableItem</code> if applicable.
	 * <p>
	 * If <code>TableRow</code> is in the <code>GridItem</code>, return
	 * <code>null</code>.