URI reportURI = new URI( reportURL.toString( ) ); File reportFile = new File( reportURI ); reportName = reportFile.getAbsolutePath( ); } catch ( Exception ex ) {
reportName = reportFile;
	protected void processAction( ReportItemDesign item, IContent itemContent )	{		assert itemContent != null;		ActionDesign action = item.getAction( );		if ( action != null )		{			switch ( action.getActionType( ) )			{				case ActionDesign.ACTION_HYPERLINK :					assert action.getHyperlink( ) != null;					Object value = context.evaluate( action.getHyperlink( ) );					if ( value != null )					{						IHyperlinkAction obj = report.createActionContent( );						obj.setHyperlink( value.toString( ), action								.getTargetWindow( ) );						itemContent.setHyperlinkAction( obj );					}					break;				case ActionDesign.ACTION_BOOKMARK :					assert action.getBookmark( ) != null;					value = context.evaluate( action.getBookmark( ) );					if ( value != null )					{						IHyperlinkAction obj = report.createActionContent( );						obj.setBookmark( value.toString( ) );						itemContent.setHyperlinkAction( obj );					}					break;				case ActionDesign.ACTION_DRILLTHROUGH :					assert action.getDrillThrough( ) != null;					DrillThroughActionDesign drill = action.getDrillThrough( );					String bookmark = null;					Expression bookmarkExpr = drill.getBookmark( );					if ( bookmarkExpr != null )					{						value = context.evaluate( drill.getBookmark( ) );						if ( value != null && value instanceof String )						{							bookmark = value.toString( );						}					}					Map paramsVal = new HashMap( );					Map params = drill.getParameters( );					if ( params != null )					{						Iterator paramsDesignIte = params.entrySet( )								.iterator( );						while ( paramsDesignIte.hasNext( ) )						{							Map.Entry entry = (Map.Entry) paramsDesignIte									.next( );							Expression valueExpr = (Expression) entry									.getValue( );							if ( valueExpr != null )							{								Object paramValue = context										.evaluate( valueExpr );								paramsVal.put( entry.getKey( ), paramValue );							}						}					}					String reportName = drill.getReportName( );					ReportDesignHandle design = context.getDesign( );					if ( design != null )					{						URL reportURL = design.findResource( reportName,								IResourceLocator.LIBRARY );						if ( reportURL != null )						{							try							{								URI reportURI = new URI( reportURL.toString( ) );								File reportFile = new File( reportURI );								reportName = reportFile.getAbsolutePath( );							}							catch ( Exception ex )							{							}						}					}					String format = drill.getFormat();					// XXX Do not support Search criteria					IHyperlinkAction obj = report.createActionContent( );					obj.setDrillThrough( bookmark, reportName, paramsVal, null,							action.getTargetWindow( ), format );					itemContent.setHyperlinkAction( obj );					break;				default :					assert false;			}		}	}