Bug 314631 Cann't get correct default values for parameters that with non-constant default value expressions
Steps to reproduce: 1. create a report with a scalar parameter that has non-constant default value expression such as BirtDateTime.today() 2. setup a project to get the default values of the parameter in BIRT runtime Eg. IReportEngine engine = createReportEngine( ); IRunnable runnable = engine.openReportDesign( REPORT_DESIGN ); IGetParamaterDefinitionTask task = engine.createGetParameterDefinitionTask( runnable ); HashMap result = task.getDefaultValues(); Expect result: The result map contains a parameter name and default value pair in which the default value is a Date instance of today. Actural result: The default value is null.
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/impl/GetParameterDefinitionTask.java
{
		return ( param == null ) ? null : getDefaultValue( param.getName( ) );
	}
	public Object getDefaultValue( String name )
	{
		ModuleHandle report = executionContext.getDesign( );
		AbstractScalarParameterHandle parameter = (AbstractScalarParameterHandle) report
				.findParameter( name );
		if ( parameter == null )
		{
			return null;
		}
		usingParameterValues( );
		return evaluateDefaultValue( parameter );
	}
	
	protected Object refineParameterValue( String name, Object value )
	{
		ModuleHandle report = executionContext.getDesign( );
		AbstractScalarParameterHandle param = (AbstractScalarParameterHandle) report
				.findParameter( name );
		if ( !( param instanceof DynamicFilterParameterHandle ) )
		{
			return value;
		}
		return convertToType( value, param.getDataType( ) );
	}
	Collection evaluateSelectionValue( ScalarParameterHandle parameter )
	{
		String dataType = parameter.getDataType( );