У меня есть метод WhitelistThunk, который не принимает параметров и возвращает список белых списков, как инициализировать этот класс AuthorizedServicesImpl?
sealed trait WhitelistConcern extends Product with Serializable
object WhitelistConcern {
case class Whitelist(accountId: String, ruleName: String) extends WhitelistConcern
case class whi(accountId: String) extends WhitelistConcern
}
type WhitelistThunk = () => List[Whitelist]
class AuthorizedServicesImpl(
draxWhitelist : => Map[String, WhitelistThunk]){}
Это может преобразовывать тип из списка строк в список белых списков.
lazy val pattrn = "([^:]*):([^:]*)".r
lazy val patt = "([^:]*)".r
lazy val sdcWhitelistHelper = () => new SDCWhitelistHelper(configuration, sdcRetriever).whitelistSentToDrax.collect{
case pattrn(accnt, rule) => Whitelist(accnt, rule)
}
lazy val sdcWhitelistHelper1 = () => new SDCWhitelistHelper(configuration, sdcRetriever).whitelistSentToDrax.collect{
case patt(accnt) => whi(accnt)
}
Это то, что я сейчас делаю, но ошибка
Required scala.Predef.Map [scala.Predef.String, WhitelistThunk]
Found scala.collection.immutable.Map[java.lang.String, List[Whitelist]]
private lazy val authorizedServices =
new AuthorizedServicesImpl(
Map("whitelist" -> WhitelistHelper),
)