Bug 130080 [regression]Insert row action will throw Exception
Description: Insert row action will throw Exception. Steps to reproduce: 1. Insert a grid/table 2. Select one row and right click, select insert row above/below 3. See Error Log Result: java.lang.ArrayIndexOutOfBoundsException: 49 at org.eclipse.birt.report.designer.internal.ui.editors.schematic.layer.TableBorderLayer.drawLeft(TableBorderLayer.java:1100) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.layer.TableBorderLayer.paintFigure(TableBorderLayer.java:101) at org.eclipse.draw2d.Figure.paint(Figure.java:1049) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119) at org.eclipse.draw2d.Figure.paint(Figure.java:1051) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119) at org.eclipse.draw2d.Figure.paint(Figure.java:1051) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114) at org.eclipse.draw2d.Viewport.paintClientArea(Viewport.java:156) at org.eclipse.draw2d.Figure.paint(Figure.java:1051) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.figures.ReportRootFigure.paintChildren(ReportRootFigure.java:95) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1123) at org.eclipse.draw2d.Figure.paint(Figure.java:1051) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119) at org.eclipse.draw2d.Figure.paint(Figure.java:1051) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119) at org.eclipse.draw2d.Figure.paint(Figure.java:1051) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119) at org.eclipse.draw2d.ScalableFreeformLayeredPane.paintClientArea(ScalableFreeformLayeredPane.java:61) at org.eclipse.draw2d.Figure.paint(Figure.java:1051) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119) at org.eclipse.draw2d.Figure.paint(Figure.java:1051) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114) at org.eclipse.draw2d.Viewport.paintClientArea(Viewport.java:156) at org.eclipse.draw2d.Figure.paint(Figure.java:1051) at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087) at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119) at org.eclipse.draw2d.Figure.paint(Figure.java:1051) at org.eclipse.draw2d.DeferredUpdateManager.paint(DeferredUpdateManager.java:145) at org.eclipse.draw2d.LightweightSystem.paint(LightweightSystem.java:196) at org.eclipse.draw2d.LightweightSystem$2.handleEvent(LightweightSystem.java:106) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:925) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:949) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:934) at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1240) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3289) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3965) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1799) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2905) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1899) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1863) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:417) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:106) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:99) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:374) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338) at org.eclipse.core.launcher.Main.basicRun(Main.java:282) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952)
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/internal/ui/editors/schematic/layer/TableBorderLayer.java
else if ( data[3] == nBottomLeftX && data[4] == nBottomLeftY )
		{
			widths[0] = 0;
			widths[1] = exBottom ? nBottomLeftWidth : 0;
			widths[2] = 0;
			widths[3] = data[1];
		}
		else if ( data[3] == nTopRightX
				&& data[4] == nTopRightY
				&& data[3] == nBottomRightX
				&& data[4] == nBottomRightY )
		{
			direction = BorderUtil.LEFT;
			widths[0] = exTop ? nTopRightWidth : 0;
			widths[1] = exBottom ? nBottomRightWidth : 0;
			widths[2] = data[1];
			widths[3] = 0;
		}
		else if ( data[3] == nTopRightX && data[4] == nTopRightY )
		{
			direction = BorderUtil.LEFT;
			widths[0] = exTop ? nTopRightWidth : 0;
			widths[1] = 0;
			widths[2] = data[1];
			widths[3] = 0;
		}
		else if ( data[3] == nBottomRightX && data[4] == nBottomRightY )
		{
			direction = BorderUtil.LEFT;
			widths[0] = 0;