CycloneTechnology/ChaMP

View on GitHub
champ-core/src/main/scala/com/cyclone/util/kerberos/settings/KerberosDeploymentSettings.scala

Summary

Maintainability
A
0 mins
Test Coverage
package com.cyclone.util.kerberos.settings

import com.typesafe.config.ConfigFactory

import scala.concurrent.duration.FiniteDuration

import com.cyclone.util.ConfigUtils._

case class KerberosDeploymentSettings(
  retryDelay: FiniteDuration
)

object KerberosDeploymentSettings {

  lazy val fromConfig: KerberosDeploymentSettings = {
    val config = ConfigFactory.load()

    KerberosDeploymentSettings(
      config.finiteDuration("cyclone.kerberos.deployment.retry.delay")
    )
  }
}

trait KerberosDeploymentSettingsComponent {
  def kerberosDeploymentSettings: KerberosDeploymentSettings
}

trait ConfigKerberosDeploymentSettingsComponent extends KerberosDeploymentSettingsComponent {
  lazy val kerberosDeploymentSettings: KerberosDeploymentSettings =
    KerberosDeploymentSettings.fromConfig
}