]> gitweb @ CieloNegro.org - task-reporter.git/blobdiff - src/main/scala/jp/ymir/taskReporter/core/ReportSet.scala
wip
[task-reporter.git] / src / main / scala / jp / ymir / taskReporter / core / ReportSet.scala
index f4392b76e41d7c3993d0e91ef664b1b073fbe4b9..0bbd67276261c34bf6d645337ef1708c2ecc5987 100644 (file)
@@ -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
   }
 }