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
assertEquals( DesignChoiceConstants.PROPERTY_MASK_TYPE_LOCK,
				memberHandle.getStringValue( ) );
		memberHandle = structHandle.getMember( PropertyMask.NAME_MEMBER );
		assertEquals( Label.TEXT_PROP, memberHandle.getStringValue( ) );
		structHandle = propHandle.getAt( 1 );
		memberHandle = structHandle.getMember( PropertyMask.MASK_MEMBER );
		assertEquals( DesignChoiceConstants.PROPERTY_MASK_TYPE_LOCK,
				memberHandle.getStringValue( ) );
		memberHandle = structHandle.getMember( PropertyMask.NAME_MEMBER );
		assertEquals( DesignElement.EXTENDS_PROP, memberHandle.getStringValue( ) );
		structHandle = propHandle.getAt( 4 );
		memberHandle = structHandle.getMember( PropertyMask.MASK_MEMBER );
		assertEquals( DesignChoiceConstants.PROPERTY_MASK_TYPE_HIDE,
				memberHandle.getStringValue( ) );
		memberHandle = structHandle.getMember( PropertyMask.NAME_MEMBER );
		assertNull( memberHandle.getStringValue( ) );
		structHandle = propHandle.getAt( 0 );
		memberHandle = structHandle.getMember( PropertyMask.MASK_MEMBER );
		memberHandle.setValue( DesignChoiceConstants.PROPERTY_MASK_TYPE_CHANGE );
		assertEquals( DesignChoiceConstants.PROPERTY_MASK_TYPE_CHANGE,
				memberHandle.getStringValue( ) );
		
		handle = (LabelHandle) designHandle.findElement( "child1" ); 
		
		count = 0;
		Iterator iterator = handle.propertyMaskIterator( );
		for ( ; iterator.hasNext( ); iterator.next( ) )
			count++;
		assertEquals( 5, count );
	}