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 CANNOT_CLOSE_RESULT_SET = "odaconsumer.CannotCloseResultSet";
	public final static String CANNOT_GET_PARAMETER_COUNT = "odaconsumer.CannotGetParameterCount";
	public final static String CANNOT_GET_INT_FROM_PARAMETER = "odaconsumer.CannotGetIntFromParameter";
	public final static String CANNOT_GET_DOUBLE_FROM_PARAMETER = "odaconsumer.CannotGetDoubleFromParameter";
	public final static String CANNOT_GET_STRING_FROM_PARAMETER = "odaconsumer.CannotGetStringFromParameter";
	public final static String CANNOT_GET_BIGDECIMAL_FROM_PARAMETER = "odaconsumer.CannotGetBigDecimalFromParameter";
	public final static String CANNOT_GET_DATE_FROM_PARAMETER = "odaconsumer.CannotGetDateFromParameter";
	public final static String CANNOT_GET_TIME_FROM_PARAMETER = "odaconsumer.CannotGetTimeFromParameter";
	public final static String CANNOT_GET_TIMESTAMP_FROM_PARAMETER = "odaconsumer.CannotGetTimestampFromParameter";
	public final static String CANNOT_GET_BLOB_FROM_PARAMETER = "odaconsumer.CannotGetBlobFromParameter";
	public final static String CANNOT_GET_CLOB_FROM_PARAMETER = "odaconsumer.CannotGetClobFromParameter";
    public final static String CANNOT_GET_BOOLEAN_FROM_PARAMETER = "odaconsumer.CannotGetBooleanFromParameter";
	public final static String CANNOT_FIND_IN_PARAMETER = "odaconsumer.CannotFindInParameter";
	public final static String CANNOT_SET_INT_PARAMETER = "odaconsumer.CannotSetIntParameter";
	public final static String CANNOT_SET_DOUBLE_PARAMETER = "odaconsumer.CannotSetDoubleParameter";
	public final static String CANNOT_SET_STRING_PARAMETER = "odaconsumer.CannotSetStringParameter";
	public final static String CANNOT_SET_BIGDECIMAL_PARAMETER = "odaconsumer.CannotSetBigDecimalParameter";
	public final static String CANNOT_SET_DATE_PARAMETER = "odaconsumer.CannotSetDateParameter";
	public final static String CANNOT_SET_TIME_PARAMETER = "odaconsumer.CannotSetTimeParameter";
	public final static String CANNOT_SET_TIMESTAMP_PARAMETER = "odaconsumer.CannotSetTimestampParameter";
    public final static String CANNOT_SET_BOOLEAN_PARAMETER = "odaconsumer.CannotSetBooleanParameter";
    public final static String CANNOT_SET_NULL_PARAMETER = "odaconsumer.CannotSetNullParameter";
	public final static String CANNOT_CLEAR_IN_PARAMETERS = "odaconsumer.CannotClearInParameters";
	public final static String UNRECOGNIZED_ODA_TYPE = "odaconsumer.UnrecognizedOdaType";
	public final static String CANNOT_GET_COLUMN_NATIVE_TYPE_NAME = "odaconsumer.CannotGetColumnNativeDataTypeName";
	public final static String CANNOT_GET_PARAMETER_METADATA = "odaconsumer.CannotGetParameterMetaData";
	public final static String CANNOT_LOAD_ODA_ADAPTER = "odaconsumer.CannotLoadOdaAdapter";
	public final static String MUST_SPECIFY_COLUMN_NAME = "odaconsumer.MustSpecifyColumnName";
	public final static String CANNOT_FIND_LOG_DIRECTORY = "odaconsumer.CannotFindLogDirectory";