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
private static LayoutSlot getLayoutSlotOfCell( CellHandle cell )
	{
		ReportItem compoundElement = getCompoundContainer( cell.getElement( ) );
		if ( !( compoundElement instanceof TableItem ) )
			return null;
		TableItem table = (TableItem) compoundElement;
		LayoutTable layoutTable = table.getLayoutModel( cell.getModule( ) );
		LayoutSlot layoutSlot = null;
		DesignElementHandle grandPa = cell.getContainer( ).getContainer( );
		int groupLevel = 0;
		int slotId = cell.getContainer( ).getContainerSlotHandle( ).getSlotID( );
		if ( grandPa instanceof TableHandle )
			layoutSlot = layoutTable.getLayoutSlot( slotId );
		else
		{
			groupLevel = ( (TableGroup) grandPa.getElement( ) ).getGroupLevel( );
			layoutSlot = layoutTable.getLayoutSlot( groupLevel, slotId );
		}
		return layoutSlot;
	}
	/**
	 * Returns the effective column span of the given cell.
	 * 
	 * @param cell
	 *            the cell to find
	 * @return the 1-based effective column 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 getEffectiveColumnSpan( CellHandle cell )
	{