def apply()

in app/helpers/UserInfoBuilder.scala [31:75]


  def apply(cluster: Option[String], user: Option[String],
            password: Option[String], vault: Option[String], addresses: Option[String], vaultName: Option[String],
            protocol: Option[String], cluster_password: Option[String],descriptiveLabel:Option[String]): UserInfoBuilder = new UserInfoBuilder(cluster, user, password, vault, addresses, vaultName, protocol, cluster_password, descriptiveLabel)
  def apply() = new UserInfoBuilder(None,None,None,None,None,None,None,None,None)

  private val commentRE = "^#".r
  private val splitterRE = "^([^=]+)=(.*)$".r

  def fromPath(filePath:String) = fromFile(new File(filePath))

  def builderFromFile(file:File) = {
    val src = Source.fromFile(file.getAbsolutePath)
    var builder:UserInfoBuilder = UserInfoBuilder()

    logger.info(s"Loading ${file.getAbsolutePath}")
    try {
      for (line <- src.getLines()) {
        line match {
          case commentRE(_) =>
          case splitterRE(key, value) =>
            logger.debug(s"Got key '$key' with value '$value'")
            key match {
              case "cluster" => builder = builder.withCluster(value)
              case "user" => builder = builder.withUser(value)
              case "password" => builder = builder.withPassword(value)
              case "vault" => builder = builder.withVault(value)
              case "addresses" => builder = builder.withAddresses(value)
              case "vaultName" => builder = builder.withVaultName(value)
              case "protocol" => builder = builder.withProtocol(value)
              case "cluster password" => builder = builder.withClusterPassword(value)
              case _ => builder
            }
          case _=>
            logger.warn(s"Couldn't interpret line $line")
        }
      }
      builder = builder.withDescriptiveLabel(file.getName)
      logger.info(s"Loaded ${builder.cluster} for ${builder.addresses} from ${file.getAbsolutePath}")
      Success(builder)
    } catch {
      case err:Throwable=>Failure(err)
    } finally {
      src.close()
    }
  }