1.1 --- a/src/main/kotlin/de/uapcore/lightpit/dao/PostgresDataAccessObject.kt Wed Dec 15 19:56:05 2021 +0100 1.2 +++ b/src/main/kotlin/de/uapcore/lightpit/dao/PostgresDataAccessObject.kt Sat Jun 04 18:02:25 2022 +0200 1.3 @@ -28,7 +28,6 @@ 1.4 import de.uapcore.lightpit.entities.* 1.5 import de.uapcore.lightpit.types.IssueHistoryType 1.6 import de.uapcore.lightpit.types.WebColor 1.7 -import de.uapcore.lightpit.util.* 1.8 import de.uapcore.lightpit.viewmodel.ComponentSummary 1.9 import de.uapcore.lightpit.viewmodel.IssueSummary 1.10 import de.uapcore.lightpit.viewmodel.VersionSummary 1.11 @@ -509,7 +508,7 @@ 1.12 return i 1.13 } 1.14 1.15 - override fun listIssues(filter: IssueFilter): List<Issue> = 1.16 + override fun listIssues(project: Project, version: Version?, component: Component?): List<Issue> = 1.17 withStatement( 1.18 """$issueQuery where 1.19 (not ? or i.project = ?) and 1.20 @@ -517,41 +516,21 @@ 1.21 (not ? or component = ?) and (not ? or component is null) 1.22 """.trimIndent() 1.23 ) { 1.24 - fun <T : Entity> applyFilter(filter: Filter<T>, fflag: Int, nflag: Int, idcol: Int) { 1.25 - when (filter) { 1.26 - is AllFilter -> { 1.27 - setBoolean(fflag, false) 1.28 - setBoolean(nflag, false) 1.29 - setInt(idcol, 0) 1.30 - } 1.31 - is NoneFilter -> { 1.32 - setBoolean(fflag, false) 1.33 - setBoolean(nflag, true) 1.34 - setInt(idcol, 0) 1.35 - } 1.36 - is SpecificFilter -> { 1.37 - setBoolean(fflag, true) 1.38 - setBoolean(nflag, false) 1.39 - setInt(idcol, filter.obj.id) 1.40 - } 1.41 - else -> { 1.42 - TODO("Implement range filter.") 1.43 - } 1.44 + fun <T : Entity> applyFilter(search: T?, fflag: Int, nflag: Int, idcol: Int) { 1.45 + if (search == null) { 1.46 + setBoolean(fflag, false) 1.47 + setBoolean(nflag, false) 1.48 + setInt(idcol, 0) 1.49 + } else { 1.50 + setBoolean(fflag, true) 1.51 + setBoolean(nflag, false) 1.52 + setInt(idcol, search.id) 1.53 } 1.54 } 1.55 - when (filter.project) { 1.56 - is AllFilter -> { 1.57 - setBoolean(1, false) 1.58 - setInt(2, 0) 1.59 - } 1.60 - is SpecificFilter -> { 1.61 - setBoolean(1, true) 1.62 - setInt(2, filter.project.obj.id) 1.63 - } 1.64 - else -> throw IllegalArgumentException() 1.65 - } 1.66 - applyFilter(filter.version, 3, 5, 4) 1.67 - applyFilter(filter.component, 6, 8, 7) 1.68 + setBoolean(1, true) 1.69 + setInt(2, project.id) 1.70 + applyFilter(version, 3, 5, 4) 1.71 + applyFilter(component, 6, 8, 7) 1.72 1.73 queryAll { it.extractIssue() } 1.74 }