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 UNSUPPORTED_NATIVE_TYPE = "odaconsumer.UnsupportedNativeType";
	public final static String UNSUPPORTED_DATA_SET_TYPE = "odaconsumer.UnsupportedDataSetType";
	public final static String CANNOT_DETERMINE_DEFAULT_DATA_SET_TYPE = "odaconsumer.CannotDetermineDefaultDataSetType";
	public final static String INVALID_DATA_SET_TYPE = "odaconsumer.InvalidDataSetType";
	public final static String PARAMETER_NAME_CANNOT_BE_EMPTY_OR_NULL = "odaconsumer.ParameterNameCannotBeEmptyOrNull";
	public final static String PARAMETER_POSITION_CANNOT_BE_LESS_THAN_ONE = "odaconsumer.ParameterPositionIsOneBased";
	public final static String CANNOT_GET_PARAMETER_TYPE_NAME = "odaconsumer.CannotGetParameterTypeName";
	public final static String CANNOT_GET_PARAMETER_MODE = "odaconsumer.CannotGetParameterMode";
	public final static String CANNOT_GET_PARAMETER_SCALE = "odaconsumer.CannotGetParameterScale";
	public final static String CANNOT_GET_PARAMETER_PRECISION = "odaconsumer.CannotGetParameterPrecision";
	public final static String CANNOT_GET_PARAMETER_ISNULLABLE = "odaconsumer.CannotGetParameterIsNullable";
	public final static String SAME_PARAM_NAME_FOR_DIFFERENT_HINTS = "odaconsumer.SameParamNameForDifferentHints";
	public final static String DIFFERENT_PARAM_NAME_FOR_SAME_POSITION = "odaconsumer.DifferentParamNameForSamePosition";
	public final static String PARAMETER_VALUE_IS_NULL = "odaconsumer.ParameterValueIsNull";
	public final static String UNSUPPORTED_PARAMETER_VALUE_TYPE = "odaconsumer.UnsupportedParameterValueType";
	public final static String UNKNOWN_EXCEPTION_THROWN = "odaconsumer.UnknownExceptionThrown";
	public final static String CANNOT_CONVERT_INDEXED_PARAMETER_VALUE = "odaconsumer.CannotConvertIndexedParameterValue";
	public final static String CANNOT_CONVERT_NAMED_PARAMETER_VALUE = "odaconsumer.CannotConvertNamedParameterValue";
	public final static String UNRECOGNIZED_PROJECTED_COLUMN_NAME = "odaconsumer.UnrecognizedProjectedColumnName";
	public final static String COLUMN_NAME_OR_ALIAS_ALREADY_USED = "odaconsumer.ColumnNameOrAliasAlreadyUsed";
	public final static String NAMED_RESULTSETS_UNSUPPORTED = "odaconsumer.NamedResultSetsUnsupported";
	public final static String OUTPUT_PARAMETERS_UNSUPPORTED = "odaconsumer.OutputParameterUnsupported";
	public final static String CANNOT_GET_CONNECTION_METADATA = "odaconsumer.CannotGetConnectionMetaData";
	public final static String CANNOT_GET_MAX_CONNECTIONS = "odaconsumer.CannotGetMaxConnections";
	public final static String CANNOT_GET_MAX_QUERIES = "odaconsumer.CannotGetMaxStatements";
	public final static String CANNOT_GET_DS_METADATA = "odaconsumer.CannotGetDataSetMetaData";
	public final static String CANNOT_PREPARE_STATEMENT = "odaconsumer.CannotPrepareStatement";
	public final static String CANNOT_CLOSE_CONNECTION = "odaconsumer.CannotCloseConnection";
	public final static String CANNOT_OPEN_CONNECTION = "odaconsumer.CannotOpenConnection";
	public final static String CANNOT_DETERMINE_SUPPORT_FOR_MULTIPLE_OPEN_RESULTS = "odaconsumer.CannotDetermineSupportForMultipleOpenResults";