aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/messages.scala
diff options
context:
space:
mode:
authorZach Smith <zach@driver.xyz>2017-02-21 17:55:54 -0800
committerZach Smith <zach@driver.xyz>2017-02-21 17:55:54 -0800
commit46d64c04b5ef7d323cbba7d7375e48da59789ea7 (patch)
treee9543d7d50d09dec30d73ddc3b8ec0bb9a6e2224 /src/main/scala/xyz/driver/core/messages.scala
parent3c9b0ed55e3721595dafa273b015dec6add8c18b (diff)
downloaddriver-core-46d64c04b5ef7d323cbba7d7375e48da59789ea7.tar.gz
driver-core-46d64c04b5ef7d323cbba7d7375e48da59789ea7.tar.bz2
driver-core-46d64c04b5ef7d323cbba7d7375e48da59789ea7.zip
Allow Messages to file format to use nested dict's
Diffstat (limited to 'src/main/scala/xyz/driver/core/messages.scala')
-rw-r--r--src/main/scala/xyz/driver/core/messages.scala15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/main/scala/xyz/driver/core/messages.scala b/src/main/scala/xyz/driver/core/messages.scala
index 94d9889..b5ae704 100644
--- a/src/main/scala/xyz/driver/core/messages.scala
+++ b/src/main/scala/xyz/driver/core/messages.scala
@@ -2,11 +2,9 @@ package xyz.driver.core
import java.util.Locale
-import com.typesafe.config.Config
+import com.typesafe.config.{Config, ConfigException}
import xyz.driver.core.logging.Logger
-import scala.collection.JavaConverters._
-
/**
* Scala internationalization (i18n) support
*/
@@ -14,12 +12,12 @@ object messages {
object Messages {
def messages(config: Config, log: Logger, locale: Locale = Locale.US): Messages = {
- val map = config.getConfig(locale.getLanguage).root().unwrapped().asScala.mapValues(_.toString).toMap
+ val map = config.getConfig(locale.getLanguage)
Messages(map, locale, log)
}
}
- final case class Messages(map: Map[String, String], locale: Locale, log: Logger) {
+ final case class Messages(map: Config, locale: Locale, log: Logger) {
/**
* Returns message for the key
@@ -28,9 +26,10 @@ object messages {
* @return message
*/
def apply(key: String): String = {
- map.get(key) match {
- case Some(message) => message
- case None =>
+ try {
+ map.getString(key)
+ } catch {
+ case _: ConfigException =>
log.error(s"Message with key '$key' not found for locale '${locale.getLanguage}'")
key
}