Bug 210338 [Regression]NPE throws out when drag the another dimension into the row area of crosstab[1102]
Description: [Regression]NPE throws out when drag the another dimension into the row area of crosstab[1102] Build number: 2.3.0.v20071120-0800 Steps to reproduce: 1, New a cube with multiple dimensions 2, New a crosstab 3, Drag one dimension from cube to crosstab's row area 4, Drag another dimension from cube to the same area nearby the former dimension Expected result: After step4, the second dimension has been dragged into the same area successully Actual result: NPE throws out and failed to drag Error log: java.lang.NullPointerException at org.eclipse.birt.report.item.crosstab.internal.ui.editors.editpolicies.CrosstabCellFlowLayoutEditPolicy.getCreateCommand(CrosstabCellFlowLayoutEditPolicy.java:84) at org.eclipse.gef.editpolicies.LayoutEditPolicy.getCommand(LayoutEditPolicy.java:199) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editpolicies.ReportFlowLayoutEditPolicy.getCommand(ReportFlowLayoutEditPolicy.java:208) at org.eclipse.gef.editparts.AbstractEditPart.getCommand(AbstractEditPart.java:473) at org.eclipse.birt.report.item.crosstab.internal.ui.dnd.DimensionHandleDropAdapter.performDrop(DimensionHandleDropAdapter.java:171) at org.eclipse.birt.report.designer.internal.ui.dnd.DNDService.performDrop(DNDService.java:160) at org.eclipse.birt.report.designer.internal.ui.dnd.DNDService.performDrop(DNDService.java:146) at org.eclipse.birt.report.designer.internal.ui.palette.ReportTemplateTransferDropTargetListener.handleDrop(ReportTemplateTransferDropTargetListener.java:115) at org.eclipse.gef.dnd.AbstractTransferDropTargetListener.drop(AbstractTransferDropTargetListener.java:171) at org.eclipse.jface.util.DelegatingDropAdapter$3.run(DelegatingDropAdapter.java:211) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:857)
xtab/org.eclipse.birt.report.item.crosstab.ui/src/org/eclipse/birt/report/item/crosstab/internal/ui/editors/editpolicies/CrosstabCellFlowLayoutEditPolicy.java
Object afterObj = null;
				if ( after != null )
				{
					afterObj = after.getModel( );
				}
				return new AddMultipleMeasureCommand( (CrosstabCellAdapter) model,
						list,
						afterObj );
			}
			else
			{
				CrosstabCellCreateCommand command = new CrosstabCellCreateCommand( request.getExtendedData( ) );
				command.setParent( getHost( ).getModel( ) );
				command.setAfter( after == null ? null : after.getModel( ) );
				return command;
			}
		}
		
		
		
		return super.getCreateCommand( request );
	}
	private int getAreaType( CrosstabCellAdapter cellAdapter )
	{
		AbstractCrosstabItemHandle handle = cellAdapter.getCrosstabItemHandle( )
				.getContainer( );
		while ( handle != null )
		{
			if ( handle instanceof DimensionViewHandle )
			{