switch ( action.getActionType( ) ) { case ActionDesign.ACTION_HYPERLINK : assert action.getHyperlink( ) != null; Object value = context .evaluate( action.getHyperlink( ) ); if ( value != null ) { IHyperlinkAction obj = ContentFactory .createActionContent( 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 = ContentFactory .createActionContent( value.toString( ) ); itemContent.setHyperlinkAction( obj ); } break; case ActionDesign.ACTION_DRILLTHROUGH :  break; default : }
case ActionDesign.ACTION_HYPERLINK : assert action.getHyperlink( ) != null; Object value = context.evaluate( action.getHyperlink( ) ); if ( value != null ) { IHyperlinkAction obj = ContentFactory .createActionContent( 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 = ContentFactory .createActionContent( value.toString( ) ); itemContent.setHyperlinkAction( obj ); } break; case ActionDesign.ACTION_DRILLTHROUGH : assert action.getDrillThrough( ) != null; DrillThroughActionDesign drill = action.getDrillThrough( ); value = context.evaluate( drill.getBookmark( ) ); String bookmark = null; if ( value != null && value instanceof String ) { bookmark =  value.toString(); } Iterator paramsDesignIte = drill.getParameters( ) .entrySet( ).iterator( ); Map paramsVal = new HashMap( ); while ( paramsDesignIte.hasNext( ) ) { Map.Entry entry = (Map.Entry) paramsDesignIte.next( ); paramsVal.put( entry.getKey( ), context .evaluate( (Expression) entry.getValue( ) ) ); }  IHyperlinkAction obj = ContentFactory.createActionContent( bookmark, drill.getReportName( ), paramsVal, null, action.getTargetWindow( ) ); itemContent.setHyperlinkAction( obj ); break; default : assert false;
	protected void processAction( ActionDesign action,			ReportItemContent itemContent )	{		assert itemContent != null;		if ( action != null )		{			try			{				switch ( action.getActionType( ) )				{					case ActionDesign.ACTION_HYPERLINK :						assert action.getHyperlink( ) != null;						Object value = context								.evaluate( action.getHyperlink( ) );						if ( value != null )						{							IHyperlinkAction obj = ContentFactory									.createActionContent( 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 = ContentFactory									.createActionContent( value.toString( ) );							itemContent.setHyperlinkAction( obj );						}						break;					case ActionDesign.ACTION_DRILLTHROUGH :						// not supported for now						break;					default :				}			}			catch ( Exception e )			{				itemContent.setHyperlinkAction( null );				logger.log(Level.SEVERE,"Failed to process Action String" ); //$NON-NLS-1$			}		}	}