Program: 67596
Project: 67596
Buggy source:
private Object validateValue(String value,String type) throws BirtException {
  String tempdefaultValue=value;
  String exprType=ExpressionType.CONSTANT;
  if (type != null)   exprType=type;
  if (!((DesignChoiceConstants.PARAM_TYPE_STRING.endsWith(getSelectedDataType())) || (DesignChoiceConstants.PARAM_TYPE_BOOLEAN.endsWith(getSelectedDataType())))) {
    if (ExpressionType.CONSTANT.equals(exprType)) {
      if (DesignChoiceConstants.PARAM_TYPE_DATETIME.equals(getSelectedDataType())) {
        tempdefaultValue=ParameterUtil.convertToStandardFormat(DataTypeUtil.toDate(tempdefaultValue));
      }
 else       if (DesignChoiceConstants.PARAM_TYPE_DATE.equals(getSelectedDataType())) {
        tempdefaultValue=ParameterUtil.convertToStandardFormat(DataTypeUtil.toSqlDate(tempdefaultValue));
      }
 else       if (DesignChoiceConstants.PARAM_TYPE_TIME.equals(getSelectedDataType())) {
        tempdefaultValue=ParameterUtil.convertToStandardFormat(DataTypeUtil.toSqlTime(tempdefaultValue));
      }
      return ParameterValidationUtil.validate(getSelectedDataType(),null,tempdefaultValue,ULocale.getDefault());
    }
 else     return tempdefaultValue;
  }
  if (DesignChoiceConstants.PARAM_TYPE_BOOLEAN.equals(getSelectedDataType())) {
    if (tempdefaultValue != null && tempdefaultValue.equals(CHOICE_NO_DEFAULT)) {
      return DataTypeUtil.toBoolean(null);
    }
    if (ExpressionType.CONSTANT.equals(exprType))     return DataTypeUtil.toBoolean(tempdefaultValue);
 else     return tempdefaultValue;
  }
 else   return tempdefaultValue;
}

Fixed version (ground truth):
private Object validateValue(String value,String type) throws BirtException {
  String tempdefaultValue=value;
  String exprType=ExpressionType.CONSTANT;
  if (type != null)   exprType=type;
  if (!((DesignChoiceConstants.PARAM_TYPE_STRING.endsWith(getSelectedDataType())) || (DesignChoiceConstants.PARAM_TYPE_BOOLEAN.endsWith(getSelectedDataType())))) {
    if (ExpressionType.CONSTANT.equals(exprType)) {
      if (DesignChoiceConstants.PARAM_TYPE_DATETIME.equals(getSelectedDataType())) {
        tempdefaultValue=ParameterUtil.convertToStandardFormat(DataTypeUtil.toDate(tempdefaultValue));
      }
 else       if (DesignChoiceConstants.PARAM_TYPE_DATE.equals(getSelectedDataType())) {
        tempdefaultValue=ParameterUtil.convertToStandardFormat(DataTypeUtil.toSqlDate(tempdefaultValue));
      }
 else       if (DesignChoiceConstants.PARAM_TYPE_TIME.equals(getSelectedDataType())) {
        tempdefaultValue=ParameterUtil.convertToStandardFormat(DataTypeUtil.toSqlTime(tempdefaultValue));
      }
      return ParameterValidationUtil.validate(getSelectedDataType(),ParameterUtil.STANDARD_DATE_TIME_PATTERN,tempdefaultValue,ULocale.getDefault());
    }
 else     return tempdefaultValue;
  }
  if (DesignChoiceConstants.PARAM_TYPE_BOOLEAN.equals(getSelectedDataType())) {
    if (tempdefaultValue != null && tempdefaultValue.equals(CHOICE_NO_DEFAULT)) {
      return DataTypeUtil.toBoolean(null);
    }
    if (ExpressionType.CONSTANT.equals(exprType))     return DataTypeUtil.toBoolean(tempdefaultValue);
 else     return tempdefaultValue;
  }
 else   return tempdefaultValue;
}