Collection parameterList = attrBean.getParameterList( );  Iterator paramIr = null; if ( parameterList != null ) paramIr = parameterList.iterator( );  if ( operation != null ) { Oprand[] oprands = operation.getOprand( ); for ( int i = 0; i < oprands.length; i++ ) { String paramName = oprands[i].getName( ); Object paramValue = oprands[i].getValue( );  while ( paramIr != null && paramName != null && paramValue != null && paramIr.hasNext( ) ) { ParameterDefinition parameterObj = (ParameterDefinition) paramIr .next( ); if ( paramName.equals( parameterObj.getName( ) ) ) { ReportParameterConverter converter = new ReportParameterConverter( parameterObj.getPattern( ), attrBean .getLocale( ) );  paramValue = converter.parse( paramValue.toString( ), parameterObj .getDataType( ) );  break; } }  if ( paramName != null && paramName.length( ) > 0 ) { parameterMap.put( paramName, paramValue ); } } }
	protected void __execute( ) throws RemoteException	{		ViewerAttributeBean attrBean = (ViewerAttributeBean) context.getBean( );		Map parameterMap = new HashMap( );		if ( operation != null )		{			Oprand[] oprands = operation.getOprand( );			for ( int i = 0; i < oprands.length; i++ )			{				String paramName = oprands[i].getName( );				String paramValue = oprands[i].getValue( );				parameterMap.put( paramName, paramValue );			}		}		String reportDesignName = attrBean.getReportDesignName( );		String docName = attrBean.getReportDocumentName( );		// TODO: Content type?		IViewerReportDesignHandle designHandle = new BirtViewerReportDesignHandle(				null, reportDesignName );		try		{			InputOptions options = new InputOptions( );			options.setOption( InputOptions.OPT_REQUEST, context.getRequest( ) );			options.setOption( InputOptions.OPT_LOCALE, attrBean.getLocale( ) );			options.setOption( InputOptions.OPT_RTL, new Boolean( attrBean					.isRtl( ) ) );			options.setOption( InputOptions.OPT_IS_DESIGNER, new Boolean(					attrBean.isDesigner( ) ) );			getReportService( ).runReport( designHandle, docName, options,					parameterMap );		}		catch ( ReportServiceException e )		{			AxisFault fault = new AxisFault( );			fault.setFaultReason( e.getMessage( ) );			throw fault;		}	}