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 static final String INCONVERTIBLE_DATATYPE="data.engine.InconvertibleDatatype";
	public static final String CONVERT_TO_DATATYPE_ERROR="data.engine.ConvertToDataTypeError";
	public static final String NO_ROW_UPDATE="data.engine.NoRowUpdate";
	public static final String BAD_DATA_TYPE= "data.engine.BadDataType";
	public static final String BAD_DATA_EXPRESSION="data.engine.BadDataExpression";
	
	public static final String CACHE_FUNCTION_WRONG_MODE="data.engine.cacheFunctionWrongMode";
	public static final String INDEX_ARRAY_INVALID="data.engine.document.invalidIndexArray";
	public static final String GROUP_ITEM_INCORRECT="data.engine.document.invalidGroupItem";
	public static final String RESULTITERATOR_NOT_OPEN="data.engine.resultIteratorNotOpen";
	public static final String RESULTITERATOR_CLOSED="data.engine.resultIteratorClosed";
	public static final String INVALID_OUTPUT_PARAMETER_INDEX="data.engine.invalidOutputParameterIndex";
	public static final String OUTPUT_PARAMETER_OUT_OF_BOUND="data.engine.outputParameterOutOfBound";
	public static final String INVALID_OUTPUT_PARAMETER_NAME="data.engine.invalidOutputParameterName";
	public static final String NOT_SUPPORT_IN_PRESENTATION="data.engine.document.notSupportInPresentation";
	public static final String WRONG_STATUS="data.engine.wrongStatus";
	public static final String WRONG_VERSION="data.engine.wrongVersion";
	public static final String UNSUPPORT_OPERATION_EXCEPTION="data.engine.unsupportOperationException";
	public static final String POSSIBLE_MIXED_DATA_TYPE_IN_COLUMN = "data.engine.possibleMixedDataTypeInColumn";
	public static final String RESULT_CLASS_SAVE_ERROR="data.engine.resultClassSaveError";
	public static final String INVALID_MEMORY_BUFFER_SIZE = "data.engine.invalidMemBufferSize";
	public static final String DOCUMENT_ERROR_CANNOT_LOAD_STREAM = "data.engine.document.error.cannotLoadStream";
	
	public final static String COLUMN_NAME_CANNOT_BE_EMPTY_OR_NULL = "odaconsumer.ColumnNameCannotBeEmptyOrNull";
	public final static String COLUMN_POSITION_CANNOT_BE_LESS_THAN_ONE = "odaconsumer.ColumnPositionIsOneBased";
	public final static String COLUMN_ALIAS_CANNOT_BE_EMPTY = "odaconsumer.ColumnAliasCannotBeEmpty";
	public final static String CANNOT_PROCESS_DRIVER_CONFIG = "odaconsumer.CannotProcessDriverConfig";
	public final static String INIT_ENTRY_CANNOT_BE_FOUND = "odaconsumer.OdaInitEntryNotFound";
	public final static String ODA_DRIVER_ON_UNSUPPORTED_PLATFORM = "odaconsumer.OdaDriverOnUnsupportedPlatform";
	public final static String CANNOT_GENERATE_URL = "odaconsumer.CannotGenerateUrls";