def filterIds()

in src/main/scala/deprecated/anotherschema/query/AlternateIdParameters.scala [86:106]


  def filterIds(allIdList:Seq[String], selectedTypes:Option[Seq[String]]):Seq[String] = selectedTypes match {
    case None => //the default, return everything. For performance, short-circuit unless we were asked to do something
      allIdList
    case Some(rawTypes) =>
      val categorisedIdList = categoriseIdList(allIdList)
      val typesToSelect = rawTypes
        .map(v => Try {
          AlternateId.withName(v)
        })
        .collect({ case Success(v) => v })
        .toSet

      if (typesToSelect.contains(AlternateId.all)) {
        allIdList
      } else {
        typesToSelect
          .map(categorisedIdList.get)
          .collect({ case Some(id) => id })
          .toSeq
      }
  }