reportRunnable = ReportEngineService.getInstance( ) .openReportDesign( this.reportDesignName );
File file = new File( this.reportDesignName ); if ( file.exists( ) ) { reportRunnable = ReportEngineService.getInstance( ) .openReportDesign( this.reportDesignName ); } else {  this.reportDesignName = ParameterAccessor.getParameter( request, ParameterAccessor.PARAM_REPORT );  InputStream is = request.getSession( ).getServletContext( ) .getResourceAsStream( this.reportDesignName );  reportRunnable = ReportEngineService.getInstance( ) .openReportDesign( is ); }
	protected IViewerReportDesignHandle getDesignHandle(			HttpServletRequest request )	{		IViewerReportDesignHandle design = null;		IReportRunnable reportRunnable = null;		IReportDocument reportDocumentInstance = ReportEngineService				.getInstance( ).openReportDocument( this.reportDesignName,						this.reportDocumentName );		if ( reportDocumentInstance != null )		{			reportRunnable = reportDocumentInstance.getReportRunnable( );			// in frameset mode, parse parameter values from document file			if ( IBirtConstants.SERVLET_PATH_FRAMESET.equalsIgnoreCase( request					.getServletPath( ) ) )			{				this.parameterMap = reportDocumentInstance.getParameterValues( );			}			reportDocumentInstance.close( );		}		// if report runnable is null, then get it from design file		if ( reportRunnable == null )		{			try			{				reportRunnable = ReportEngineService.getInstance( )						.openReportDesign( this.reportDesignName );			}			catch ( EngineException e )			{				this.exception = e;			}		}		if ( reportRunnable != null )		{			design = new BirtViewerReportDesignHandle(					IViewerReportDesignHandle.RPT_RUNNABLE_OBJECT,					reportRunnable );		}		else		{			design = new BirtViewerReportDesignHandle( null, reportDesignName );		}		return design;	}