def changedParamValues()

in magenta-lib/src/main/scala/magenta/tasks/ChangeSetTasks.scala [50:70]


  def changedParamValues(
      existingParams: List[ExistingParameter],
      newParams: List[InputParameter]
  ): List[String] = {
    val keys =
      (existingParams.map(_.key) ::: newParams.map(_.key)).sorted.distinct
    val pairs = keys.map { key =>
      (key, existingParams.find(_.key == key), newParams.find(_.key == key))
    }
    pairs.flatMap {
      case (key, Some(_), None) => Some(s"Parameter $key has been removed")
      case (key, None, Some(_)) => Some(s"Parameter $key has been added")
      case (
            key,
            Some(ExistingParameter(_, present, _)),
            Some(InputParameter(_, Some(future), false))
          ) if future != present && present != "****" =>
        Some(s"Parameter $key has changed from $present to $future")
      case _ => None
    }
  }