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()
}
}