Program: 77156
Project: 77156
Buggy source:
public Map getParsedParameters(IViewerReportDesignHandle design,InputOptions options,Map parameters) throws ReportServiceException {
  Locale locale=(Locale)options.getOption(InputOptions.OPT_LOCALE);
  Collection parameterList=getParameterDefinitions(design,options,false);
  Map paramMap=new HashMap();
  Boolean isDesignerBoolean=(Boolean)options.getOption(InputOptions.OPT_IS_DESIGNER);
  boolean isDesigner=(isDesignerBoolean != null ? isDesignerBoolean.booleanValue() : false);
  IGetParameterDefinitionTask task=getParameterDefinitionTask(design,options);
  IReportRunnable runnable=getReportRunnable(design,getModuleOptions(options));
  Map configMap=runnable.getTestConfig();
  for (Iterator iter=parameterList.iterator(); iter.hasNext(); ) {
    ParameterDefinition parameterObj=(ParameterDefinition)iter.next();
    String paramValue=null;
    Object paramValueObj=null;
    String paramName=parameterObj.getName();
    String format=parameterObj.getPattern();
    ReportParameterConverter converter=new ReportParameterConverter(format,locale);
    Set paramNames=null;
    if (parameters != null) {
      paramNames=parameters.keySet();
    }
    if (parameters != null && paramName != null) {
      boolean found=false;
      for (Iterator it=paramNames.iterator(); it.hasNext(); ) {
        String name=(String)it.next();
        if (paramName.equals(name)) {
          if (parameters.get(name) != null)           paramValue=parameters.get(name).toString();
          paramValueObj=converter.parse(paramValue,parameterObj.getDataType());
          paramMap.put(paramName,paramValueObj);
          found=true;
          break;
        }
      }
      if (!found && configMap.containsKey(paramName) && isDesigner) {
        String configValue=(String)configMap.get(paramName);
        ReportParameterConverter cfgConverter=new ReportParameterConverter(format,Locale.US);
        paramValueObj=cfgConverter.parse(configValue,parameterObj.getDataType());
      }
 else       if (!found) {
        paramValueObj=task.getDefaultValue(parameterObj.getName());
      }
    }
  }
  return paramMap;
}

Fixed version (ground truth):
public Map getParsedParameters(IViewerReportDesignHandle design,InputOptions options,Map parameters) throws ReportServiceException {
  Locale locale=(Locale)options.getOption(InputOptions.OPT_LOCALE);
  Collection parameterList=getParameterDefinitions(design,options,false);
  Map paramMap=new HashMap();
  Boolean isDesignerBoolean=(Boolean)options.getOption(InputOptions.OPT_IS_DESIGNER);
  boolean isDesigner=(isDesignerBoolean != null ? isDesignerBoolean.booleanValue() : false);
  IReportRunnable runnable=getReportRunnable(design,getModuleOptions(options));
  Map configMap=runnable.getTestConfig();
  for (Iterator iter=parameterList.iterator(); iter.hasNext(); ) {
    ParameterDefinition parameterObj=(ParameterDefinition)iter.next();
    String paramValue=null;
    Object paramValueObj=null;
    String paramName=parameterObj.getName();
    String format=parameterObj.getPattern();
    ReportParameterConverter converter=new ReportParameterConverter(format,locale);
    Set paramNames=null;
    if (parameters != null) {
      paramNames=parameters.keySet();
    }
    if (parameters != null && paramName != null) {
      boolean found=false;
      for (Iterator it=paramNames.iterator(); it.hasNext(); ) {
        String name=(String)it.next();
        if (paramName.equals(name)) {
          if (parameters.get(name) != null)           paramValue=parameters.get(name).toString();
          paramValueObj=converter.parse(paramValue,parameterObj.getDataType());
          paramMap.put(paramName,paramValueObj);
          found=true;
          break;
        }
      }
      if (!found && configMap.containsKey(paramName) && isDesigner) {
        String configValue=(String)configMap.get(paramName);
        ReportParameterConverter cfgConverter=new ReportParameterConverter(format,Locale.US);
        paramValueObj=cfgConverter.parse(configValue,parameterObj.getDataType());
      }
 else       if (!found) {
        paramValueObj=getParameterDefaultValue(design,parameterObj.getName(),options);
      }
    }
  }
  return paramMap;
}