Bug 191884 [regression][deploy]DataException when preview attached report in frameset servlet[0601]
Description: DataException when preview attached report in frameset servlet Build number:2.2.0.v200706111025 Steps to reproduce: 1. Deploy birt. 2. Preview attached report in frameset servlet. 3. Check report engine log in logs folder. Expected result: No Exception and report displays. Actual result: Report displays correctly but throws exceptions in log and server console. Error log: 2007-6-11 13:00:48 org.eclipse.birt.report.engine.data.dte.QueryResultSet close NIO: QueryResults or its iterator has been closed. org.eclipse.birt.data.engine.core.DataException: QueryResults or its iterator has been closed. at org.eclipse.birt.data.engine.impl.ResultIterator.checkStarted(ResultIterator.java:346) at org.eclipse.birt.data.engine.impl.ResultIterator.next(ResultIterator.java:372) at org.eclipse.birt.data.engine.impl.ResultIterator.close(ResultIterator.java:773) at org.eclipse.birt.data.engine.impl.QueryResults.close(QueryResults.java:208) at org.eclipse.birt.report.engine.data.dte.QueryResultSet.close(QueryResultSet.java:257) at org.eclipse.birt.report.engine.executor.ExtendedGenerateExecutor.closeQueries(ExtendedGenerateExecutor.java:223) at org.eclipse.birt.report.engine.executor.ExtendedGenerateExecutor.close(ExtendedGenerateExecutor.java:54) at org.eclipse.birt.report.engine.executor.ExtendedItemExecutor.close(ExtendedItemExecutor.java:140) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.close(WrappedReportItemExecutor.java:39) at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.close(ReportItemEmitterExecutor.java:40) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.close(WrappedReportItemExecutor.java:39) at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.close(SuppressDuplicateItemExecutor.java:35) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.execute(HTMLAbstractLM.java:489) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.execute(HTMLAbstractLM.java:488) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.execute(HTMLAbstractLM.java:488) at org.eclipse.birt.report.engine.layout.html.HTMLListingBandLM.intializeHeaderContent(HTMLListingBandLM.java:96) at org.eclipse.birt.report.engine.layout.html.HTMLListingBandLM.initialize(HTMLListingBandLM.java:48) at org.eclipse.birt.report.engine.layout.html.HTMLTableBandLM.initialize(HTMLTableBandLM.java:43) at org.eclipse.birt.report.engine.layout.html.HTMLLayoutManagerFactory.createLayoutManager(HTMLLayoutManagerFactory.java:51) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.createLayoutManager(HTMLReportLayoutEngine.java:130) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutChildren(HTMLBlockStackingLM.java:67) at org.eclipse.birt.report.engine.layout.html.HTMLGroupLM.layoutChildren(HTMLGroupLM.java:72) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:171) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutChildren(HTMLBlockStackingLM.java:68) at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:81) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:171) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren(HTMLPageLM.java:142) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:84) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:90) at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:186) at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:227) at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:87) at org.eclipse.birt.report.service.ReportEngineService.runReport(Unknown Source) at org.eclipse.birt.report.service.BirtViewerReportService.runReport(Unknown Source) at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(Unknown Source) at org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.runReport(Unknown Source) at org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(Unknown Source) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(Unknown Source) at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(Unknown Source) at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(Unknown Source) at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleChangeParameter(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(Unknown Source) at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java: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(InvocationStrategy.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:699) at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:595)
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/impl/ResultIterator.java
* @return
	 */
	private File getRowCacheFile( )
	{
		File file = new File(context.getTmpdir()
				+ CACHED_FILE_PREFIX
				+ resultService.getQueryResults().getID()+"row");
		return file;
	}
	
	/**
	 * 
	 * @throws DataException
	 * @throws IOException 
	 */
	private void saveMetaData( ) throws DataException, IOException
	{
		Map metaMap = new HashMap( );
		populateDataSetRowMapping( metaMap, odiResult.getResultClass() );
		( (ResultClass) (odiResult.getResultClass()) ).doSave( metaOutputStream, metaMap );
		if(metaOutputStream!=null)
		{
			metaOutputStream.close( );
			metaOutputStream = null;
		}
	}
	
	/**
	 * Populate the new rsClass object instance
	 *