X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fjp%2Fymir%2FtaskReporter%2Fcore%2FReport.scala;h=e147e66b8fac731c72cf82824d0db29c0aa7bb36;hb=9a2bae84c21afd16791243f5c36f52e3a283712f;hp=5fa1ceb4efa3e845b3768077972bc5f2cdd39c17;hpb=8bb945088ae66f9687f1fd5aa72a1440aba54466;p=task-reporter.git diff --git a/src/main/scala/jp/ymir/taskReporter/core/Report.scala b/src/main/scala/jp/ymir/taskReporter/core/Report.scala index 5fa1ceb..e147e66 100644 --- a/src/main/scala/jp/ymir/taskReporter/core/Report.scala +++ b/src/main/scala/jp/ymir/taskReporter/core/Report.scala @@ -1,14 +1,56 @@ package jp.ymir.taskReporter.core +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 date = _date + def this() = this(new GregorianCalendar()) + + def date : Calendar = _date + def size : Int = _tasks.size + + def apply(idx: Int) = _tasks(idx) def +=(task: Task) { require(task.date == _date) _tasks = _tasks :+ task } + + def dateString : String = dateString(_date) + def dateString(date: Calendar) : String = { + val fmt = new SimpleDateFormat("yyyy-MM-dd") + 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 + } + } }