# HG changeset patch # User Mike Becker # Date 1654360545 -7200 # Node ID ce6d539bb970a28137f8be97958765afb0bc6937 # Parent 6bded7090719bbcf8825c318deba4a786156f0d5 replace sorting by DONE with sorting by PHASE diff -r 6bded7090719 -r ce6d539bb970 src/main/kotlin/de/uapcore/lightpit/servlet/ProjectServlet.kt --- a/src/main/kotlin/de/uapcore/lightpit/servlet/ProjectServlet.kt Sat Jun 04 18:29:58 2022 +0200 +++ b/src/main/kotlin/de/uapcore/lightpit/servlet/ProjectServlet.kt Sat Jun 04 18:35:45 2022 +0200 @@ -188,7 +188,7 @@ val issues = dao.listIssues(project, version, component) .sortedWith( IssueSorter( - IssueSorter.Criteria(IssueSorter.Field.DONE), + IssueSorter.Criteria(IssueSorter.Field.PHASE), IssueSorter.Criteria(IssueSorter.Field.ETA), IssueSorter.Criteria(IssueSorter.Field.UPDATED, false) ) diff -r 6bded7090719 -r ce6d539bb970 src/main/kotlin/de/uapcore/lightpit/types/IssueStatusPhase.kt --- a/src/main/kotlin/de/uapcore/lightpit/types/IssueStatusPhase.kt Sat Jun 04 18:29:58 2022 +0200 +++ b/src/main/kotlin/de/uapcore/lightpit/types/IssueStatusPhase.kt Sat Jun 04 18:35:45 2022 +0200 @@ -25,10 +25,13 @@ package de.uapcore.lightpit.types -data class IssueStatusPhase(val number: Int) { +data class IssueStatusPhase(val number: Int): Comparable { companion object { val Open = IssueStatusPhase(0) val WorkInProgress = IssueStatusPhase(1) val Done = IssueStatusPhase(2) } + + override fun compareTo(other: IssueStatusPhase): Int = + number.compareTo(other.number) } \ No newline at end of file diff -r 6bded7090719 -r ce6d539bb970 src/main/kotlin/de/uapcore/lightpit/viewmodel/Issues.kt --- a/src/main/kotlin/de/uapcore/lightpit/viewmodel/Issues.kt Sat Jun 04 18:29:58 2022 +0200 +++ b/src/main/kotlin/de/uapcore/lightpit/viewmodel/Issues.kt Sat Jun 04 18:35:45 2022 +0200 @@ -40,7 +40,7 @@ class IssueSorter(private vararg val criteria: Criteria) : Comparator { enum class Field { - DONE, ETA, UPDATED + PHASE, ETA, UPDATED } data class Criteria(val field: Field, val asc: Boolean = true) @@ -51,7 +51,7 @@ } for (c in criteria) { val result = when (c.field) { - Field.DONE -> (left.status.phase == IssueStatusPhase.Done).compareTo(right.status.phase == IssueStatusPhase.Done) + Field.PHASE -> left.status.phase.compareTo(right.status.phase) Field.ETA -> { val l = left.eta val r = right.eta