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.tests/test/org/eclipse/birt/report/model/api/ReportElementHandleTest.java
* 
	 * <ul>
	 * <li>
	 * {@link org.eclipse.birt.report.model.api.ReportElementHandle#propertyMaskIterator()}
	 * </ul>
	 * 
	 * @throws Exception
	 *             if any exception
	 */
	public void testPropertyMaskFromPropertyHandle( ) throws Exception
	{
		List list = designHandle.getErrorList( );
		assertEquals( 2, list.size( ) );
		assertEquals( PropertyValueException.DESIGN_EXCEPTION_VALUE_REQUIRED,
				( (ErrorDetail) list.get( 0 ) ).getErrorCode( ) );
		assertEquals( PropertyValueException.DESIGN_EXCEPTION_VALUE_REQUIRED,
				( (ErrorDetail) list.get( 0 ) ).getErrorCode( ) );
		LabelHandle handle = (LabelHandle) designHandle
				.findElement( "bodyLabel1" ); 
		
		int count = 0;
		for ( Iterator iterator = handle.propertyMaskIterator( ); iterator
				.hasNext( ); iterator.next( ) )
			count++;
		assertEquals( 5, count );
		PropertyHandle propHandle = handle
				.getPropertyHandle( DesignElement.PROPERTY_MASKS_PROP );
		StructureHandle structHandle = propHandle.getAt( 0 );
		MemberHandle memberHandle = structHandle
				.getMember( PropertyMask.MASK_MEMBER );