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 CANNOT_GET_BLOB_FROM_COLUMN = "odaconsumer.CannotGetBlobFromColumn";
    public final static String CANNOT_GET_BOOLEAN_FROM_COLUMN = "odaconsumer.CannotGetBooleanFromColumn";
	public final static String CANNOT_GET_ROW_POSITION = "odaconsumer.CannotGetRowPosition";
	public final static String CANNOT_CLOSE_RESULT_SET = "odaconsumer.CannotCloseResultSet";
	public final static String CANNOT_GET_PARAMETER_COUNT = "odaconsumer.CannotGetParameterCount";
	public final static String CANNOT_GET_INT_FROM_PARAMETER = "odaconsumer.CannotGetIntFromParameter";
	public final static String CANNOT_GET_DOUBLE_FROM_PARAMETER = "odaconsumer.CannotGetDoubleFromParameter";
	public final static String CANNOT_GET_STRING_FROM_PARAMETER = "odaconsumer.CannotGetStringFromParameter";
	public final static String CANNOT_GET_BIGDECIMAL_FROM_PARAMETER = "odaconsumer.CannotGetBigDecimalFromParameter";
	public final static String CANNOT_GET_DATE_FROM_PARAMETER = "odaconsumer.CannotGetDateFromParameter";
	public final static String CANNOT_GET_TIME_FROM_PARAMETER = "odaconsumer.CannotGetTimeFromParameter";
	public final static String CANNOT_GET_TIMESTAMP_FROM_PARAMETER = "odaconsumer.CannotGetTimestampFromParameter";
	public final static String CANNOT_GET_BLOB_FROM_PARAMETER = "odaconsumer.CannotGetBlobFromParameter";
	public final static String CANNOT_GET_CLOB_FROM_PARAMETER = "odaconsumer.CannotGetClobFromParameter";
    public final static String CANNOT_GET_BOOLEAN_FROM_PARAMETER = "odaconsumer.CannotGetBooleanFromParameter";
	public final static String CANNOT_FIND_IN_PARAMETER = "odaconsumer.CannotFindInParameter";
	public final static String CANNOT_SET_INT_PARAMETER = "odaconsumer.CannotSetIntParameter";
	public final static String CANNOT_SET_DOUBLE_PARAMETER = "odaconsumer.CannotSetDoubleParameter";
	public final static String CANNOT_SET_STRING_PARAMETER = "odaconsumer.CannotSetStringParameter";
	public final static String CANNOT_SET_BIGDECIMAL_PARAMETER = "odaconsumer.CannotSetBigDecimalParameter";
	public final static String CANNOT_SET_DATE_PARAMETER = "odaconsumer.CannotSetDateParameter";
	public final static String CANNOT_SET_TIME_PARAMETER = "odaconsumer.CannotSetTimeParameter";
	public final static String CANNOT_SET_TIMESTAMP_PARAMETER = "odaconsumer.CannotSetTimestampParameter";
    public final static String CANNOT_SET_BOOLEAN_PARAMETER = "odaconsumer.CannotSetBooleanParameter";
    public final static String CANNOT_SET_NULL_PARAMETER = "odaconsumer.CannotSetNullParameter";
	public final static String CANNOT_CLEAR_IN_PARAMETERS = "odaconsumer.CannotClearInParameters";
	public final static String UNRECOGNIZED_ODA_TYPE = "odaconsumer.UnrecognizedOdaType";
	public final static String CANNOT_GET_COLUMN_NATIVE_TYPE_NAME = "odaconsumer.CannotGetColumnNativeDataTypeName";
	public final static String CANNOT_GET_PARAMETER_METADATA = "odaconsumer.CannotGetParameterMetaData";
	public final static String CANNOT_LOAD_ODA_ADAPTER = "odaconsumer.CannotLoadOdaAdapter";