Github user MLnick commented on a diff in the pull request:

    https://github.com/apache/spark/pull/19993#discussion_r159100191
  
    --- Diff: mllib/src/main/scala/org/apache/spark/ml/param/params.scala ---
    @@ -249,6 +250,27 @@ object ParamValidators {
       def arrayLengthGt[T](lowerBound: Double): Array[T] => Boolean = { 
(value: Array[T]) =>
         value.length > lowerBound
       }
    +
    +  /**
    +   * Checks that either inputCols and outputCols are set or inputCol and 
outputCol are set. If
    +   * this is not true, an `IllegalArgumentException` is raised.
    +   * @param model
    +   */
    +  private[spark] def checkMultiColumnParams(model: Params): Unit = {
    +    model match {
    +      case m: HasInputCols with HasInputCol if m.isSet(m.inputCols) && 
m.isSet(m.inputCol) =>
    +        raiseIncompatibleParamsException("inputCols", "inputCol")
    +      case m: HasOutputCols with HasOutputCol if m.isSet(m.outputCols) && 
m.isSet(m.outputCol) =>
    +        raiseIncompatibleParamsException("outputCols", "outputCol")
    +      case _ =>
    +    }
    +  }
    +
    +  private[spark] def raiseIncompatibleParamsException(
    +      paramName1: String,
    +      paramName2: String): Unit = {
    +    throw new IllegalArgumentException(s"`$paramName1` and `$paramName2` 
cannot be both set.")
    --- End diff --
    
    "cannot be both" -> "cannot both be"


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to