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/util/ModelUtil.java
*            the element to justify
	 * 
	 * @return <code>true</code> if the compound element is valid. Otherwise
	 *         <code>false</code>.
	 * 
	 * @deprecated
	 */
	public static boolean isValidReferenceForCompoundElement( Module module,
			DesignElement element )
	{
		ElementRefValue refValue = (ElementRefValue) element.getLocalProperty(
				module, IDesignElementModel.EXTENDS_PROP );
		if ( refValue == null )
			return true;
		
		if ( element.getDefn( ).isContainer( ) && !refValue.isResolved( ) )
			return false;
		
		DesignElement parent = element.getExtendsElement( );
		while ( parent != null )
		{
			if ( !isValidReferenceForCompoundElement( parent.getRoot( ), parent ) )
				return false;
			parent = parent.getExtendsElement( );
		}
		return true;
	}
	/**
	 * Get virtual parent or extended parent.
	 *