String dataType = parameter.getDataType( );
dataType = parameter.getDataType( );
	protected void __execute( ) throws Exception	{		ViewerAttributeBean attrBean = (ViewerAttributeBean) context.getBean( );		assert attrBean != null;		// get design file name		String reportDesignName = attrBean.getReportDesignName( );		// get design config file name		String configFileName = ParameterAccessor				.getConfigFileName( reportDesignName );		if ( configFileName == null )		{			handleUpdate( );			return;		}		// Generate the session handle		SessionHandle sessionHandle = DesignEngine.newSession( ULocale.US );		File configFile = new File( configFileName );		// if config file existed, then delete it		if ( configFile != null && configFile.exists( ) && configFile.isFile( ) )		{			configFile.delete( );		}		// create a new config file		ReportDesignHandle handle = sessionHandle.createDesign( );		// get parameters from operation		String displayTextParam = null;		Oprand[] op = this.operation.getOprand( );		if ( op != null )		{			for ( int i = 0; i < op.length; i++ )			{				ConfigVariable configVar = new ConfigVariable( );				String paramName = op[i].getName( );				String paramValue = op[i].getValue( );				ScalarParameterHandle parameter = null;				// if pass a null parameter				if ( paramName						.equalsIgnoreCase( ParameterAccessor.PARAM_ISNULL )						&& paramValue != null )				{					parameter = (ScalarParameterHandle) attrBean							.findParameter( paramValue );					if ( parameter != null )					{						// add null parameter to config file						configVar.setName( ParameterAccessor.PARAM_ISNULL );						configVar.setValue( paramValue								+ "_" + parameter.getID( ) ); //$NON-NLS-1$						handle.addConfigVariable( configVar );					}					continue;				}				else if ( ( displayTextParam = ParameterAccessor						.isDisplayText( paramName ) ) != null )				{					parameter = (ScalarParameterHandle) attrBean							.findParameter( displayTextParam );					if ( parameter != null )					{						// add display text of select parameter to config file						configVar								.setName( paramName + "_" + parameter.getID( ) ); //$NON-NLS-1$						configVar.setValue( paramValue );						handle.addConfigVariable( configVar );					}					continue;				}				// find the parameter				parameter = (ScalarParameterHandle) attrBean						.findParameter( paramName );				// convert the parameter from current locale to default				// locale format				if ( paramValue != null && parameter != null )				{					try					{						String pattern = parameter.getPattern( );						String dataType = parameter.getDataType( );						Object paramValueObj = ParameterValidationUtil								.validate( dataType, pattern, paramValue,										attrBean.getLocale( ) );						// if parameter type is String, cache the unformatted						// string						if ( DesignChoiceConstants.PARAM_TYPE_STRING								.equalsIgnoreCase( dataType ) )						{							pattern = null;						}						paramValue = ParameterValidationUtil.getDisplayValue(								dataType, pattern, paramValueObj, ULocale.US );					}					catch ( Exception err )					{						paramValue = op[i].getValue( );					}					// add parameter to config file					configVar.setName( paramName + "_" + parameter.getID( ) ); //$NON-NLS-1$					configVar.setValue( paramValue );					handle.addConfigVariable( configVar );				}			}		}		// save config file		handle.saveAs( configFileName );		handle.close( );		handleUpdate( );	}