Bug 183554 After specify a Attribute on cube's level, the exception occurs when preview the cross tab[1102]
Description: After specify a Attribute on cube's level, the exception occurs when preview the cross tab[1102] Build number: 2.2.0.v20070423-0630 Steps: 1, Create a cube with two dimensions and two measures(or using the attached report design file) 2, Specify a attribute under a level 3, Preview the results Actrual results: - The measure name "null" is not found exception occurs. Error logs: The measure name "null" is not found. ( 1 time(s) ) detail : org.eclipse.birt.data.engine.core.DataException: The measure name "null" is not found. at org.eclipse.birt.data.engine.olap.api.query.impl.CubeQueryResults.getCubeCursor(CubeQueryResults.java:75) 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:192) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:119) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:189) at org.eclipse.birt.report.engine.extension.internal.ExecutorContext.executeQuery(ExecutorContext.java:62) at org.eclipse.birt.report.item.crosstab.core.re.executor.BaseCrosstabExecutor.executeQuery(BaseCrosstabExecutor.java:88) at org.eclipse.birt.report.item.crosstab.core.re.executor.CrosstabReportItemExecutor.execute(CrosstabReportItemExecutor.java:92) at org.eclipse.birt.report.engine.executor.ExtendedItemExecutor.execute(ExtendedItemExecutor.java:114) at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:36) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren(HTMLPageLM.java:124) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:82) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:88) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:205)
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/util/OlapExpressionUtil.java
* Return the binding name of data["binding"]
	 * @param expr
	 * @return
	 */
	public static String getBindingName( String expr )
	{
		if ( expr == null )
			return null;
		if ( !expr.matches( "\\Qdata[\"\\E.*\\Q\"]\\E" ) )
			return null;
		return expr.replaceFirst( "\\Qdata[\"\\E", "" )
				.replaceFirst( "\\Q\"]\\E", "" );
	
	}
	/**
	 * 
	 * @param level
	 * @param attribute
	 * @return
	 */
	public static String getAttributeColumnName( String level, String attribute )
	{
		return level + "/" + attribute;
	}
	
	/**
	 * This method returns a list of ICubeAggrDefn instances which describes the
	 * aggregations that need to be calcualted in cube query.
	 * 
	 * @param bindings