Bug 188204 After delete the measure in cube, the measure's binding in crosstab are not deleted automatically[1102]
Description: Firstly, we should make sure the measure has been used in crosstab, and we removed the measure from crosstab, then remove it from cube. Because of the measure has been used in crosstab, so the binding of measure are still in crosstab whether the measure has been removed from crosstab. But, if remove the measure from the cube, the binding are still in crosstab, it will lead the "can not found the measure" exception when preview. The user must remove the binding by himself to make sure the preview successfully. So I hope GUI can make some enhance when remove the measure from cube, all the measure's binding of crosstab also removed automatically. Build number: 2.2.0.v20070522-0630 Steps to reproduce: 1, New a crosstab with two measures: m1 and m2 2, Remove the m1 from crosstab 3, Preview 4, Remove the m1 from cube 5, Preview Expected result: After step4, all the m1's binding in crosstab has been removed and after step5, the preview is successful Actual result: After step4, all the m1's binding are still in crosstab's databinding, and after step5, exception occurs. Error log: The measure name "QUANTITYORDERED" is not found. The measure name "QUANTITYORDERED" is not found. ( 1 time(s) ) detail : org.eclipse.birt.data.engine.core.DataException: The measure name "QUANTITYORDERED" is not found. at org.eclipse.birt.data.engine.olap.impl.query.CubeQueryResults.getCubeCursor(CubeQueryResults.java:82) 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:92) at org.eclipse.birt.report.item.crosstab.core.re.executor.CrosstabReportItemExecutor.execute(CrosstabReportItemExecutor.java:101) at org.eclipse.birt.report.engine.executor.ExtendedItemExecutor.execute(ExtendedItemExecutor.java:57) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:45) at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:42) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/i18n/ResourceConstants.java
public final static String RD_SAVE_STREAM_ERROR = "data.engine.GetSaveStreamError";
	public final static String RD_LOAD_STREAM_ERROR = "data.engine.GetLoadStreamError";
	public final static String RD_EXPR_NULL_ERROR = "data.engine.NullExpr";
	public final static String RD_EXPR_INVALID_ERROR = "data.engine.InValidExpr";
	public final static String RD_EXPR_RESULT_SET_NOT_START = "data.engine.ResultSetNotStart";
	
	public final static String INVALID_ROW_INDEX = "data.engine.invalidRowIndex";
	public final static String BACKWARD_SEEK_ERROR = "data.engine.backwardSeekError";
	public final static String START_ERROR = "data.engine.startError";
	
	
	public final static String RD_INVALID_FILTER = "data.engine.rd.errorfilters";
	
	
	public final static String SCRIPT_EVAL_ERROR = "data.engine.ScriptEvalError";
	public final static String PREPARED_QUERY_CLOSED = "data.engine.PreparedQueryClosed";	
	public final static String DEFAULT_INPUT_PARAMETER_VALUE_CANNOT_BE_NULL = "data.engine.NullDefaultInParamValue";
	public final static String INVALID_GROUP_EXPR = "data.engine.BadGroupKeyExpr";
	public final static String GROUP_NOT_EXIST = "data.engine.GroupNotExist";
	public final static String INVALID_SORT_EXPR = "data.engine.BadSortKeyExpr";
	public final static String PARAMETER_METADATA_NOT_SUPPORTED = "data.engine.NoParamMetaForDataSource";
	public final static String UNEXPECTED_ERROR = "data.engine.UnexpectedError";
	public final static String CANNOT_CONVERT_PARAMETER_TYPE = "data.engine.ConvertDataTypeError";
	public static final String CANNOT_INSTANTIATE_AGGREGATION_FACTORY = "data.engine.CannotInstantiateAggregationFactory";
	public static final String DUPLICATE_AGGREGATION_NAME = "date.engine.DuplicateAggregationName";
	public static final String INCORRECT_GROUP_KEY_VALUES = "data.engine.incorrectGroupKeyValues";
	public static final String NO_EXPRESSION_PROCESSOR_AVAILABLE = "data.engine.NoExpressionProcessorAvailable";
	public static final String INCONVERTIBLE_DATATYPE="data.engine.InconvertibleDatatype";
	public static final String CONVERT_TO_DATATYPE_ERROR="data.engine.ConvertToDataTypeError";
	public static final String NO_ROW_UPDATE="data.engine.NoRowUpdate";