X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=task-reporter.git;a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fjp%2Fymir%2FtaskReporter%2Fcore%2FReport.scala;fp=src%2Fmain%2Fscala%2Fjp%2Fymir%2FtaskReporter%2Fcore%2FReport.scala;h=ef9a437e75008bb5fee7de188c8439f757938a7f;hp=54942607e052fbf6dc44c7bac7ddbe739098abba;hb=100ec0110d33876011bbd191da7e614445b627a5;hpb=79bcb816daaaa042ec7f1855c8307d9143f61956 diff --git a/src/main/scala/jp/ymir/taskReporter/core/Report.scala b/src/main/scala/jp/ymir/taskReporter/core/Report.scala index 5494260..ef9a437 100644 --- a/src/main/scala/jp/ymir/taskReporter/core/Report.scala +++ b/src/main/scala/jp/ymir/taskReporter/core/Report.scala @@ -1,11 +1,15 @@ package jp.ymir.taskReporter.core -import java.util.Calendar import java.text.SimpleDateFormat +import java.util.Calendar +import java.util.GregorianCalendar +import javax.swing.table.AbstractTableModel import scala.collection.immutable._ -class Report(private val _date: Calendar) { +class Report(private val _date: Calendar) extends AbstractTableModel { private var _tasks : Seq[Task] = Vector() + def this() = this(new GregorianCalendar()) + def date : Calendar = _date def size : Int = _tasks.size @@ -14,8 +18,37 @@ class Report(private val _date: Calendar) { _tasks = _tasks :+ task } - def dateString : String = { + def dateString : String = dateString(_date) + def dateString(date: Calendar) : String = { val fmt = new SimpleDateFormat("yyyy-MM-dd") - fmt.format(_date.getTime) + fmt.format(date.getTime) + } + + /* Method definitions for AbstractTableModel + */ + def getColumnCount = 6 + def getRowCount = _tasks.size + + override def getColumnName(column: Int) : String = { + column match { + case 0 => "チケットID" + case 1 => "作業名" + case 2 => "仮期限" + case 3 => "期限" + case 4 => "状態" + case 5 => "補足" + } + } + + def getValueAt(row: Int, column: Int) : Object = { + val task = _tasks(row) + column match { + case 0 => task.ticketID : Integer + case 1 => task.title + case 2 => task.tentativeDeadline.map(dateString).getOrElse("") + case 3 => task.deadline .map(dateString).getOrElse("") + case 4 => task.status + case 5 => task.supplement + } } }