X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=task-reporter.git;a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fjp%2Fymir%2FtaskReporter%2Fcore%2FReportSet.scala;h=0bbd67276261c34bf6d645337ef1708c2ecc5987;hp=f4392b76e41d7c3993d0e91ef664b1b073fbe4b9;hb=8bb945088ae66f9687f1fd5aa72a1440aba54466;hpb=cac69ad60a6bf6df341e65e3309b7700e14741df diff --git a/src/main/scala/jp/ymir/taskReporter/core/ReportSet.scala b/src/main/scala/jp/ymir/taskReporter/core/ReportSet.scala index f4392b7..0bbd672 100644 --- a/src/main/scala/jp/ymir/taskReporter/core/ReportSet.scala +++ b/src/main/scala/jp/ymir/taskReporter/core/ReportSet.scala @@ -1,14 +1,38 @@ package jp.ymir.taskReporter.core -import java.io._; +import java.io._ +import java.util.Calendar +import jp.ymir.taskReporter.core._ +import scala.collection.immutable._ +import scala.io._ class ReportSet(private var _file: Option[File]) { - private var _dirty : Boolean = false + private var _dirty = false + private var _reports : SortedMap[Calendar, Report] = TreeMap() - def file: Option[File] = { - return _file + if (!_file.isEmpty) { + val src = Source.fromFile(_file.get, "UTF-8") + for (line <- src.getLines) { + if (!line.isEmpty) { + val task = new Task(line) + if (_reports.isDefinedAt(task.date)) { + _reports(task.date) += task + } + else { + val report = new Report(task.date) + report += task + _reports = _reports + (report.date -> report) + } + } + } } - def dirty: Boolean = { - return _dirty + def file = _file + def file_=(f: Option[File]) { _file = f } + + def dirty = _dirty + + def save { + // FIXME + _dirty = false } }