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
while ( iter.hasNext( ) )
			{
				SelectionChoiceHandle choice = (SelectionChoiceHandle) iter
						.next( );
				String label = design.getMessage( choice.getLabelKey( ),
						ulocale.toLocale( ) );
				if ( label == null )
				{
					label = choice.getLabel( );
				}
				Object value = convertToType( choice.getValue( ), dataType );
				choices.add( new SelectionChoice( label, value ) );
			}
			String pattern = null;
			String sortBy = parameter.getSortBy( );
			boolean sortByLabel = DesignChoiceConstants.PARAM_SORT_VALUES_LABEL
					.equalsIgnoreCase( parameter.getSortBy( ) );
			boolean sortDirectionValue = DesignChoiceConstants.SORT_DIRECTION_ASC
					.equalsIgnoreCase( parameter.getSortDirection( ) );
			if ( parameter instanceof ScalarParameterHandle )
			{
				ScalarParameterHandle tmpParam = (ScalarParameterHandle) parameter;
				pattern = tmpParam.getPattern( );
			}
			if ( sortBy != null )
				Collections.sort( choices, new SelectionChoiceComparator(
						sortByLabel, pattern, sortDirectionValue, ulocale ) );
			return choices;
		}
		return Collections.EMPTY_LIST;