Bug 192074 exception when preview attached report in deployed web viewer
steps to reproduce: - use the attached report - preview in deployed web viewer - check tomcat console or birt log file expected bahavior: - report is rendered properly - no exception thrown out in console or log file actual behavior: - report was rendered properly - but got following exception, java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at org.eclipse.birt.data.engine.olap.data.impl.CachedAggregationResultSe t.seek(CachedAggregationResultSet.java:406) at org.eclipse.birt.data.engine.olap.data.impl.CachedAggregationResultSe t.<init>(CachedAggregationResultSet.java:92) at org.eclipse.birt.data.engine.olap.data.impl.AggregationResultSetSaveU til.loadOneResultSet(AggregationResultSetSaveUtil.java:119) at org.eclipse.birt.data.engine.olap.data.impl.AggregationResultSetSaveU til.load(AggregationResultSetSaveUtil.java:83) at org.eclipse.birt.data.engine.olap.query.view.QueryExecutor.execute(Qu eryExecutor.java:95) at org.eclipse.birt.data.engine.olap.query.view.BirtCubeView.getCubeCurs or(BirtCubeView.java:90) at org.eclipse.birt.data.engine.olap.impl.query.CubeQueryResults.getCube Cursor(CubeQueryResults.java:65) at org.eclipse.birt.report.engine.data.dte.CubeResultSet.<init>(CubeResu ltSet.java:78) at org.eclipse.birt.report.engine.data.dte.DataPresentationEngine.doExec uteCube(DataPresentationEngine.java:236) at org.eclipse.birt.report.engine.data.dte.DataPresentationEngine.doExec uteQuery(DataPresentationEngine.java:161) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(Ab stractDataEngine.java:178) at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery (ExecutionContext.java:1669) at org.eclipse.birt.report.engine.internal.document.v4.ExtendedItemExecu tor.executeQuery(ExtendedItemExecutor.java:241) at org.eclipse.birt.report.engine.internal.document.v4.ExtendedItemExecu tor.doExecute(ExtendedItemExecutor.java:221) at org.eclipse.birt.report.engine.internal.document.v4.ExtendedItemExecu tor.execute(ExtendedItemExecutor.java:177) at org.eclipse.birt.report.engine.internal.document.v4.ContainerExecutor .prepareChildExecutor(ContainerExecutor.java:213) at org.eclipse.birt.report.engine.internal.document.v4.ContainerExecutor .hasNextChild(ContainerExecutor.java:98) at org.eclipse.birt.report.engine.internal.document.v4.ReportPageExecuto rV4.hasNextChild(ReportPageExecutorV4.java:92) at org.eclipse.birt.report.engine.internal.document.ReportExecutorWrappe r.hasNextChild(ReportExecutorWrapper.java:108) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportEx ecutor.hasNextChild(WrappedReportExecutor.java:74) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportEx ecutor.hasNextChild(WrappedReportExecutor.java:74) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM$1.hasNextChild( HTMLPageLM.java:64) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren( HTMLPageLM.java:123) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPage LM.java:84) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.lay out(HTMLReportLayoutEngine.java:90) at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.re nder(RenderTask.java:532) at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask. java:254) at org.eclipse.birt.report.service.ReportEngineService.renderReport(Unkn own Source) at org.eclipse.birt.report.service.ReportEngineService.renderReport(Unkn own Source) at org.eclipse.birt.report.service.BirtViewerReportService.getPage(Unkno wn Source) at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHa ndler.doExecution(Unknown Source) at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHa ndler.__execute(Unknown Source) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandl er.execute(Unknown Source) at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProc essor.__executeAction(Unknown Source) at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentPro cessor.executeAction(Unknown Source) at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.ha ndleGetPage(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentPro cessor.process(Unknown Source) at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUp datedObjects(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.j ava:397) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider .java:186) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java: 323) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg y.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453 ) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:69 9) at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPo st(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas e.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV alve.java:214) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV alve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j ava:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j ava:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav a:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java :825) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce ssConnection(Http11Protocol.java:738) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo int.java:526) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol lowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP ool.java:684) at java.lang.Thread.run(Thread.java:595)
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/data/impl/CachedAggregationResultSet.java
return -1;
		}
		for ( int i = 0; i < attributeNames[levelIndex].length; i++ )
		{
			if ( attributeNames[levelIndex][i].equals( attributeName ) )
			{
				return i;
			}
		}
		return -1;
	}
	/*
	 * (non-Javadoc)
	 * @see org.eclipse.birt.data.olap.data.api.IAggregationResultSet#getLevelCount()
	 */
	public int getLevelCount( )
	{
		if ( keyNames == null )
			return 0;
		return keyNames.length;
	}
	/*
	 * (non-Javadoc)
	 * @see org.eclipse.birt.data.olap.data.api.IAggregationResultSet#getLevelIndex(java.lang.String)
	 */
	public int getLevelIndex( DimLevel level )
	{
		if ( levels == null )
		{
			return -1;