Newer
Older
weather-servlet / src / main / scala / uk / org / floop / msc / wview / Forecast.scala
package uk.org.floop.msc.wview

import java.io.{BufferedReader, InputStreamReader}

import net.liftweb.http.LiftRules
import net.liftweb.util.{Full, Empty}

import scala.collection.mutable.ArrayBuffer

object Forecast {

  private val FORECAST_CONF = "forecast.conf"
  private val rules = new ArrayBuffer[String]()
  
  private def initialize() {
    val confReader = LiftRules.getResourceAsStream("/forecast.conf") match {
      case Full(inputStream) =>
        new BufferedReader(new InputStreamReader(inputStream))
      case Empty => null
    }
    var line = confReader.readLine()
    var readingRules = false
    while (line != null) {
      if (readingRules) {
        rules += line
      } else if (line == "<RULES>") {
        readingRules = true
      }
      line = confReader.readLine()
    }
  }
  
  def getRule(i: Int): String = {
    if (rules.length == 0) {
      initialize()
    }
    rules(i)
  }
    
}