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
}
}