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 INVALID_DATA_SET_TYPE = "odaconsumer.InvalidDataSetType";
	public final static String PARAMETER_NAME_CANNOT_BE_EMPTY_OR_NULL = "odaconsumer.ParameterNameCannotBeEmptyOrNull";
	public final static String PARAMETER_POSITION_CANNOT_BE_LESS_THAN_ONE = "odaconsumer.ParameterPositionIsOneBased";
	public final static String CANNOT_GET_PARAMETER_TYPE_NAME = "odaconsumer.CannotGetParameterTypeName";
	public final static String CANNOT_GET_PARAMETER_MODE = "odaconsumer.CannotGetParameterMode";
	public final static String CANNOT_GET_PARAMETER_SCALE = "odaconsumer.CannotGetParameterScale";
	public final static String CANNOT_GET_PARAMETER_PRECISION = "odaconsumer.CannotGetParameterPrecision";
	public final static String CANNOT_GET_PARAMETER_ISNULLABLE = "odaconsumer.CannotGetParameterIsNullable";
	public final static String SAME_PARAM_NAME_FOR_DIFFERENT_HINTS = "odaconsumer.SameParamNameForDifferentHints";
	public final static String DIFFERENT_PARAM_NAME_FOR_SAME_POSITION = "odaconsumer.DifferentParamNameForSamePosition";
	public final static String PARAMETER_VALUE_IS_NULL = "odaconsumer.ParameterValueIsNull";
	public final static String UNSUPPORTED_PARAMETER_VALUE_TYPE = "odaconsumer.UnsupportedParameterValueType";
	public final static String UNKNOWN_EXCEPTION_THROWN = "odaconsumer.UnknownExceptionThrown";
	public final static String CANNOT_CONVERT_INDEXED_PARAMETER_VALUE = "odaconsumer.CannotConvertIndexedParameterValue";
	public final static String CANNOT_CONVERT_NAMED_PARAMETER_VALUE = "odaconsumer.CannotConvertNamedParameterValue";
	public final static String UNRECOGNIZED_PROJECTED_COLUMN_NAME = "odaconsumer.UnrecognizedProjectedColumnName";
	public final static String COLUMN_NAME_OR_ALIAS_ALREADY_USED = "odaconsumer.ColumnNameOrAliasAlreadyUsed";
	public final static String NAMED_RESULTSETS_UNSUPPORTED = "odaconsumer.NamedResultSetsUnsupported";
	public final static String OUTPUT_PARAMETERS_UNSUPPORTED = "odaconsumer.OutputParameterUnsupported";
	public final static String CANNOT_GET_CONNECTION_METADATA = "odaconsumer.CannotGetConnectionMetaData";
	public final static String CANNOT_GET_MAX_CONNECTIONS = "odaconsumer.CannotGetMaxConnections";
	public final static String CANNOT_GET_MAX_QUERIES = "odaconsumer.CannotGetMaxStatements";
	public final static String CANNOT_GET_DS_METADATA = "odaconsumer.CannotGetDataSetMetaData";
	public final static String CANNOT_PREPARE_STATEMENT = "odaconsumer.CannotPrepareStatement";
	public final static String CANNOT_CLOSE_CONNECTION = "odaconsumer.CannotCloseConnection";
	public final static String CANNOT_OPEN_CONNECTION = "odaconsumer.CannotOpenConnection";
	public final static String CANNOT_DETERMINE_SUPPORT_FOR_MULTIPLE_OPEN_RESULTS = "odaconsumer.CannotDetermineSupportForMultipleOpenResults";
	public final static String CANNOT_DETERMINE_SUPPORT_FOR_MULTIPLE_RESULT_SETS = "odaconsumer.CannotDetermineSupportForMultipleResultSets";
	public final static String CANNOT_DETERMINE_SUPPORT_FOR_NAMED_RESULT_SETS = "odaconsumer.CannotDetermineSupportForNamedResultSets";
	public final static String CANNOT_DETERMINE_SUPPORT_FOR_NAMED_PARAMETERS = "odaconsumer.CannotDetermineSupportForNamedParameters";