Bug 118750 Insert group for table from library, system throws exception.
Insert group for table from library, system throws exception. Steps: 1.Insert a tabel from library 2.Insert group Actual Results: 1.System throws exception A Birt exception occurred. Plug-in Provider:Eclipse.org Plug-in Name:BIRT Model Plug-in ID:org.eclipse.birt.report.model Version:1.0.1 Error Code:Error.ContentException.STRUCTURE_CHANGE_FORBIDDEN Error Message:Element "report.Body[1]" is child element or a virtual element( inside the child ), can not change its structure. Expected Results: 1.Can be inserted group
UI/org.eclipse.birt.report.designer.core/src/org/eclipse/birt/report/designer/core/model/schematic/TableHandleAdapter.java
assert columnNumber != 0;
		int realColumnNumber = columnNumber > 0 ? parentColumnNumber
				+ columnNumber : parentColumnNumber + columnNumber + 1;
		int shiftPos = columnNumber > 0 ? columnNumber : columnNumber + 1;
		ColumnHandle column = (ColumnHandle) getColumn( parentColumnNumber );
		ColumnHandleAdapter adapt = HandleAdapterFactory.getInstance( )
				.getColumnHandleAdapter( column );
		ColumnHandle copy = (ColumnHandle) adapt.copy( );
		int rowNumber = getRowCount( );
		List copyChildren = new ArrayList( );
		for ( int i = 0; i < rowNumber; i++ )
		{
			TableHandleAdapter.RowUIInfomation rowInfo = getRowInfo( getRow( i + 1 ) );
			List rowList = rowInfo.getAllChildren( );
			CellHandle parentCell = (CellHandle) rowList.get( parentColumnNumber - 1 );
			CellHandle cell = getCellHandleCopy( parentCell );
			copyChildren.add( cell );
		}
		int copyRowSize = copyChildren.size( );
		for ( int i = 0; i < copyRowSize; i++ )
		{
			RowHandle row = (RowHandle) getRow( i + 1 );
			int number = getReallyRowNumber( row, realColumnNumber );
			row.getSlot( RowHandle.CONTENT_SLOT )
					.add( (CellHandle) ( copyChildren.get( i ) ), number - 1 );
		}
		SlotHandle parentHandle = column.getContainerSlotHandle( );
		parentHandle.add( ( copy ) );
		int pos = parentHandle.findPosn( column );
		parentHandle.shift( copy, pos + shiftPos );