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 OLAPDIR_CREATE_FAIL = "data.olap.OlapDirCreateFail";
	public final static String OLAPFILE_CREATE_FAIL = "data.olap.OlapFileCreateFail";
	public final static String OLAPFILE_NOT_FOUND = "data.olap.OlapFileNotFound";
	public final static String DIMENSION_NOT_EXIST = "data.olap.DimensionNotExist";
	public final static String KEY_VALUE_CANNOT_BE_NULL = "data.olap.KeyValueCanNotBeNull";
	public final static String DETAIL_MEMBER_HAVE_MULTI_PARENT = "data.olap.DetailMemberHaveMultiParent";
	public final static String OLAPFILE_FORMAT_INVALID = "data.olap.OlapFileFormatError";
	public final static String OLAPFILE_DATA_ERROR = "data.olap.OlapFileDataError";
	public final static String DOCUMENTOBJECT_ALWAYS_EXIST = "data.olap.DocumentObjectAlreadyExists";
	public final static String FACTTABLE_ROW_NOT_DISTINCT = "data.olap.FacttableRowNotDistinct";
	public final static String FACTTABLE_JOINT_COL_NOT_EXIST = "data.olap.FacttableJointColumnNotExist";
	public final static String PARAMETER_COL_OF_AGGREGATION_NOT_EXIST = "data.olap.ParameterColumnOfAggregationNotExist";
	public final static String FACTTABLE_NULL_MEASURE_VALUE = "data.olap.FacttableNullMeasureValue";
	public final static String INVALID_DIMENSIONPOSITION_OF_FACTTABLEROW = "data.olap.InvalidDimensionPositionFacttableRow";
	public final static String MEASURE_NAME_NOT_FOUND = "data.olap.measureNameNotFound";
	public final static String LEVEL_NAME_NOT_FOUND = "data.olap.levelNameNotFound";
	public final static String DIMENSION_NAME_NOT_FOUND = "data.olap.dimensionNameNotFound";
	public final static String CURSOR_POSITION_SET_ERROR = "data.olap.cursorPositionError";
	public final static String CURSOR_SEEK_ERROR = "data.olap.cursorSeekError";
	public final static String CANNOT_GET_MEASURE_VALUE = "data.olap.CannotGetMeasureValue";
	public final static String DOCUMENTOBJECT_NOT_EXIST = "data.olap.DocumentObjectNotExists";
	public final static String CANNOT_FIND_LEVEL = "data.olap.CannotFindLevel";
	public final static String TRY_TO_ADD_IDENTICAL_AGGR_GROUP = "data.olap.tryToAddIdenticalAggrGroup";
	public final static String NO_EDGEDEFN_FOUND = "data.olap.NoEdgeDefinitionFound";
	public final static String INVALID_SORT_DEFN = "data.olap.invalidSortDefinition";
	public final static String INVALID_MEASURE_REF = "data.olap.invalidMeasureRef";
	public final static String INVALID_LEVEL_ATTRIBUTE = "data.olap.invalidLevelAttr";
}