Bug 182873 JS error when use birt:paramDef with special parameter name.[0603]
Description: Javascript error when use birt:paramDef tag with special parameter name. Build number:2.2.0.v200704180630 Steps to reproduce: Prerequisite: New a report with a report parameter with name ~`!@#$%^&*()-=_+\][{}|';:"/,<>? 1. New a jsp file from BIRT tag template in BIRT Web Project. 2. Input below content in body: <birt:parameterPage id="0" name="customparameterpage" reportDesign="report/customJspTagParamDefName.rptdesign" isCustom="true"> <birt:paramDef id="1" name="~`!@#$%^&*()-=_+\][{}|';:/,?"/> <input type="submit" name="OK" value="submit"/> </birt:parameterPage> 3. Run the jsp file. Expected result: Value can be passed to report. Actual result: Javascript error. A runtime error has accurred... Error log:N/A
viewer/org.eclipse.birt.report.viewer/birt/WEB-INF/classes/org/eclipse/birt/report/taglib/ParamDefTag.java
pageContext.getServletContext( ), options );
			
			IViewerReportDesignHandle designHandle = BirtTagUtil
					.getDesignHandle( request, viewer );
			viewer.setReportDesignHandle( designHandle );
			paramDefList = BirtReportServiceFactory.getReportService( )
					.getParameterDefinitions( designHandle, options, false );
			viewer.setParameterDefList( paramDefList );
		}
		
		this.paramDef = BirtUtility.findParameterDefinition( paramDefList,
				param.getName( ) );
		if ( paramDef == null )
			return;
		
		String dataType = ParameterDataTypeConverter.ConvertDataType( paramDef
				.getDataType( ) );
		
		this.pattern = param.getPattern( );
		if ( this.pattern == null )
			this.pattern = paramDef.getPattern( );
		boolean isLocale = false;
		if ( "true".equalsIgnoreCase( param.getIsLocale( ) ) ) 
			isLocale = true;
		
		if ( param.getValue( ) != null && param.getValue( ) instanceof String )
		{
			
			Object valueObj = DataUtil.validate( dataType, this.pattern,
					(String) param.getValue( ), locale, isLocale );