Bug 186093 Invalid dataitem in crosstab leads ArrayIndexOutOfBoundsException[07][1102]
Description: Invalid dataitem in crosstab leads ArrayIndexOutOfBoundsException[07][1102] Build number: 2.2.0.v20070509-0950 Steps to reproduce: 1, New a crosstab 2, Insert a invalid dataitem in a level cell expression such as dimension["a"]["b"]["c"], c isn't exist in cube 3, Preview the report Expected result: Pops up suitable error message Actual result: ArrayIndexOutOfBoundsException occurs Error log: org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report; nested exception is: java.lang.ArrayIndexOutOfBoundsException: -1 Show Exception Stack Trace Hide Exception Stack Trace Stack Trace: org.eclipse.birt.data.engine.olap.cursor.ResultSetFetcher.getValue(ResultSetFetcher.java:56) org.eclipse.birt.data.engine.olap.cursor.EdgeInfoGenerator.dim_getCurrentMember(EdgeInfoGenerator.java:502) org.eclipse.birt.data.engine.olap.driver.DimensionAxis.getCurrentMember(DimensionAxis.java:386) org.eclipse.birt.data.engine.olap.cursor.DimensionAccessor.getObject(DimensionAccessor.java:222) org.eclipse.birt.data.engine.olap.cursor.AbstractCursorSupport.getObject(AbstractCursorSupport.java:382) org.eclipse.birt.data.engine.olap.script.JSLevelObject.get(JSLevelObject.java:70) org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:1263) org.mozilla.javascript.ScriptRuntime.getObjectElem(ScriptRuntime.java:1301) org.mozilla.javascript.ScriptRuntime.getObjectElem(ScriptRuntime.java:1283) org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2774) org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) org.eclipse.birt.data.engine.olap.script.OLAPExpressionHandler.evaluate(OLAPExpressionHandler.java:42) org.eclipse.birt.data.engine.script.ScriptEvalUtil.evalExpr(ScriptEvalUtil.java:506) org.eclipse.birt.data.engine.olap.api.query.impl.CubeCursorImpl.getObject(CubeCursorImpl.java:300)
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/i18n/ResourceConstants.java
public final static String MUST_SPECIFY_COLUMN_NAME = "odaconsumer.MustSpecifyColumnName";
	public final static String CANNOT_FIND_LOG_DIRECTORY = "odaconsumer.CannotFindLogDirectory";
	
	
	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_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.measureNameNotFound";
	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";
}