2016-08-16 44 views
0

假設我有兩個配置文件:類型安全配置:從一個配置複製鍵值到另一個

val config1: Config = ... 
val config2: Config = ... 

,我想從config1複製對應於該鍵someKey一個鍵值對,以config2 。該鍵值如下所示:

someKey: ["someVal", "someVal2"] 

這是我做的第一:

val config3 = config2.withValue("someKey", 
ConfigValueFactory.fromIterable(config1.getStringList("someKet"))) 

這是非常難看。我也試過,但它給錯誤has type LIST rather than OBJECT

val config3 = config2.withFallback(config1.getConfig("someKey")) 

如何做到這一點的更清潔的方式任何想法?

回答

0

這個怎麼樣:

val c1: Config = ConfigFactory.parseString("x.a = 3 \n x.b = 'bbb' \n x.c = [1, 2, 3]") 
val c2: Config = ConfigFactory.parseString("x.a = 4") 

println(c1) 
println("-----------") 
println(c2) 

println(c1.getInt("x.a")) 
println(c2.withValue("x.c", c1.getList("x.c"))) 
相關問題