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
/*******************************************************************************
 * Copyright (c) 2004 Actuate Corporation.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *  Actuate Corporation  - initial API and implementation
 *******************************************************************************/
package org.eclipse.birt.data.engine.i18n;
/**
 * Define resource key constants for need be localized resource.
 */
public class ResourceConstants
{
	public final static String UNDEFINED_DATA_SOURCE = "data.engine.UndefinedDataSource";
	public final static String UNDEFINED_DATA_SET = "data.engine.UndefinedDataSet";
	public final static String UNSUPPORTED_DATASOURCE_TYPE = "data.engine.UnsupportedDataSourceType";
	public final static String UNSUPPORTED_DATASET_TYPE = "data.engine.UnsupportedDataSetType";
	public final static String UNSUPPORTED_GROUP_ON_BLOBAndCLOB ="data.engine.UnsupportedGroupOnClobAndBLOB";
	public final static String UNSUPPORTED_SORT_ON_BLOBAndCLOB ="data.engine.UnsupportedSortOnClobAndBLOB";
	public final static String UNSUPPORTED_DIRECT_NESTED_AGGREGATE="data.engine.UnsupportedDirectNestedAggregate";
	public final static String NOT_END_GROUP  = "data.engine.EndOfGroupOnly";
	public final static String INVALID_AGGR = "data.engine.InvalidAggregation";
	public final static String INVALID_AGGR_GROUP_LEVEL  = "data.engine.InvalidAggrGroup";
	public final static String INVALID_AGGR_PARAMETER  = "data.engine.WrongNumAggrArgs";
	public final static String INVALID_AGGR_GROUP_EXPRESSION ="data.engine.InvalidAggrGroupExpression";