Search code examples
scalaplayframework-2.0typesafe

Iteration over typesafe files


I have read this topic

Iterate over fields in typesafe config

and made some changes but still don't know how to iterate over conf files in play framework.

  Providers=[{1234 : "CProduct"},
{12345 : "ChProduct"},
{123 : "SProduct"}]

This is my Conf file called providers.conf , the question is how can i iterate over them and create a dropdownbox from them. I would like to take them as map if possible which is [int,string]

I know , i have to take them like

val config = ConfigFactory.load("providers.conf").getConfigList("Providers")

i can the conf file like that but , i should get it from template in order to do that i need to convert it to either hashmap or list or whatever functional.

Cheers,


Solution

  • Here is my solution for that ,

       val config = ConfigFactory.load("providers.conf").getConfigList("Providers")
    
        var providerlist = new java.util.ArrayList[model.Provider]
        val providers = (0 until config.size())
        providers foreach {
          count => 
            val iterator = config.get(count).entrySet().iterator()
    
            while(iterator.hasNext()) {
              val entry = iterator.next()
    
              val p = new Provider(entry.getKey(), entry.getValue().render())
              providerlist.add(p);
            }
        }
        println(providerlist.get(0).providerId+providerlist.get(0).providerName)
        println(providerlist.get(33).providerId+providerlist.get(33).providerName)
    

    and my provider.class

    package model
    
    case class Provider(providerId: String, providerName: String)