def forStringsFromFile()

in cassovary-core/src/main/scala/com/twitter/cassovary/util/MapNodeNumberer.scala [47:65]


  def forStringsFromFile(filename: String): MapNodeNumberer[String] = {
    val internalToExternal = mutable.HashMap[Int, String]()
    val externalToInternal = mutable.HashMap[String, Int]()

    Source.fromFile(filename).getLines().foreach {
      line =>
        val lineAsArray = line.split(" ")
        val name = lineAsArray(0)
        val id = ParseString.toInt(lineAsArray(1))
        if (internalToExternal.contains(id))
          throw new Exception("Duplicate id found: " + id)
        internalToExternal += ((id, name))
        if (externalToInternal.contains(name))
          throw new Exception("Duplicate name found: " + name)
        externalToInternal += ((name, id))
    }

    new MapNodeNumberer[String](externalToInternal, internalToExternal)
  }