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

    https://github.com/apache/spark/pull/21276#discussion_r187282260
  
    --- Diff: core/src/main/scala/org/apache/spark/util/Utils.scala ---
    @@ -2715,6 +2715,66 @@ private[spark] object Utils extends Logging {
         HashCodes.fromBytes(secretBytes).toString()
       }
     
    +  /**
    +   * A safer version than scala obj's getClass.getSimpleName and 
Utils.getFormattedClassName
    +   * which may throw Malformed class name error.
    +   * This method mimicks scalatest's getSimpleNameOfAnObjectsClass.
    +   */
    +  def getSimpleName(fullyQualifiedName: String): String = {
    --- End diff --
    
    How about changing the method signature into `def getSimpleName(obj: 
AnyRef)`?
    Then, we simply handle two cases; one is correct and the other 
non-correct?, e.g.,
    ```
    def getSimpleName(obj: AnyRef): String = {
      if (incorrect case) {
        // Canonicalizes the name for correction
        ...
      } else {
        // If no problem, just returns getSimplename
        obj.getClass.getSimpleName
      }
    }
    ```



---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to