Bug 189842 Changing the dimension will lead the exception when preview[1102]
Description: Changing the dimension will lead the exception when preview[1102] Build number: 2.2.0.v20070530-0630 Steps to reproduce: 1, New a crosstab and preview 2, Remove one of dimension 3, Drag another dimension from cube into the removed area 4, Preview Expected result: The preview should be successfully Actual result: Exception occurs Error log: - The binding "CUSTOMER_REGION" refers to invalid levels. data.olap.invalidBindingReferToInexitDim ( 1 time(s) ) detail : org.eclipse.birt.data.engine.core.DataException: The binding "CUSTOMER_REGION" refers to invalid levels. at org.eclipse.birt.data.engine.olap.impl.query.CubeCursorImpl.validateBindings(CubeCursorImpl.java:109) at org.eclipse.birt.data.engine.olap.impl.query.CubeCursorImpl.<init>(CubeCursorImpl.java:70) at org.eclipse.birt.data.engine.olap.impl.query.CubeQueryResults.getCubeCursor(CubeQueryResults.java:75) at org.eclipse.birt.report.engine.data.dte.CubeResultSet.<init>(CubeResultSet.java:78) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteCube(DteDataEngine.java:234) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:120) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:178) at org.eclipse.birt.report.engine.executor.ExecutorManager$ExecutorContext.executeQuery(ExecutorManager.java:403) at org.eclipse.birt.report.item.crosstab.core.re.executor.BaseCrosstabExecutor.executeQuery(BaseCrosstabExecutor.java:95)
xtab/org.eclipse.birt.report.item.crosstab.ui/src/org/eclipse/birt/report/item/crosstab/ui/preference/CrosstabPreferencePage.java
group.setText( Messages.getString( "CrosstabPreferencePage.filterLimit" ) );
		group.setLayout( new GridLayout( 1, false ) );
		group.setLayoutData( gd );
		txtMaxLimit = new IntegerFieldEditor( CrosstabPlugin.PREFERENCE_FILTER_LIMIT,
				Messages.getString( "CrosstabPreferencePage.filterLimit.prompt" ), group );  
		txtMaxLimit.setErrorMessage( Messages.getString( "CrosstabPreferencePage.Error.MaxRowInvalid", 
				new Object[]{
					new Integer( MAX_FILTER_LIMIT )
				} ) );
		txtMaxLimit.setValidateStrategy( StringFieldEditor.VALIDATE_ON_KEY_STROKE );
		txtMaxLimit.setValidRange( 1, MAX_FILTER_LIMIT );
		txtMaxLimit.setEmptyStringAllowed( false );
		txtMaxLimit.setStringValue( CrosstabPlugin.getDefault( )
				.getPluginPreferences( )
				.getString( CrosstabPlugin.PREFERENCE_FILTER_LIMIT ) );
		txtMaxLimit.setPage( this );
		txtMaxLimit.setPropertyChangeListener( this );
		return cmpTop;
	}
	public void init( IWorkbench workbench )
	{
		init( );
	}
	public static void init( )
	{
		int maxLimit = CrosstabPlugin.getDefault( )
				.getPluginPreferences( )
				.getInt( CrosstabPlugin.PREFERENCE_FILTER_LIMIT );
		if ( maxLimit <= 0 )
		{