public ReportParameterValue[] getParamValues(
      ReportParameter reportParameter, Map<String, Object> parameters) throws ProviderException {
    if (reportParameter.getType().equals(ReportParameter.QUERY_PARAM)) {
      return getParamValuesFromDataSource(reportParameter, parameters);
    } else if (reportParameter.getType().equals(ReportParameter.LIST_PARAM)) {
      return parseListValues(reportParameter);
    } else if (reportParameter.getType().equals(ReportParameter.BOOLEAN_PARAM)) {
      // default to Yes/No
      if (reportParameter.getData() == null || reportParameter.getData().indexOf("|") == -1) {
        reportParameter.setData("true:Yes|false:No");
      }

      return parseListValues(reportParameter);
    }

    throw new ProviderException(
        reportParameter.getName()
            + ": param-type "
            + reportParameter.getType()
            + " not supported!");
  }