if ( reportRunnable == null ) { try { reportRunnable = ReportEngineService.getInstance( ) .openReportDesign( this.reportDesignName ); } catch ( EngineException e ) { e.printStackTrace( ); } }
	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 ( reportRunnable != null )		{			design = new BirtViewerReportDesignHandle(					IViewerReportDesignHandle.RPT_RUNNABLE_OBJECT,					reportRunnable );		}		else		{			design = new BirtViewerReportDesignHandle( null, reportDesignName );		}		return design;	}