1.1 --- a/src/main/kotlin/de/uapcore/lightpit/servlet/ProjectServlet.kt Tue May 11 17:41:01 2021 +0200 1.2 +++ b/src/main/kotlin/de/uapcore/lightpit/servlet/ProjectServlet.kt Thu May 13 10:16:57 2021 +0200 1.3 @@ -35,6 +35,7 @@ 1.4 import de.uapcore.lightpit.types.WebColor 1.5 import de.uapcore.lightpit.util.AllFilter 1.6 import de.uapcore.lightpit.util.IssueFilter 1.7 +import de.uapcore.lightpit.util.IssueSorter.Companion.DEFAULT_ISSUE_SORTER 1.8 import de.uapcore.lightpit.util.SpecificFilter 1.9 import de.uapcore.lightpit.viewmodel.* 1.10 import java.sql.Date 1.11 @@ -68,7 +69,7 @@ 1.12 post("/%project/issues/%version/%component/-/commit", this::issueCommit) 1.13 } 1.14 1.15 - fun projects(http: HttpRequest, dao: DataAccessObject) { 1.16 + private fun projects(http: HttpRequest, dao: DataAccessObject) { 1.17 val projects = dao.listProjects() 1.18 val projectInfos = projects.map { 1.19 ProjectInfo( 1.20 @@ -181,13 +182,14 @@ 1.21 return PathInfos(projectInfo, version, component) 1.22 } 1.23 1.24 - fun project(http: HttpRequest, dao: DataAccessObject) { 1.25 + private fun project(http: HttpRequest, dao: DataAccessObject) { 1.26 withPathInfo(http, dao)?.run { 1.27 + 1.28 val issues = dao.listIssues(IssueFilter( 1.29 project = SpecificFilter(projectInfo.project), 1.30 version = version?.let { SpecificFilter(it) } ?: AllFilter(), 1.31 component = component?.let { SpecificFilter(it) } ?: AllFilter() 1.32 - )) 1.33 + )).sortedWith(DEFAULT_ISSUE_SORTER) 1.34 1.35 with(http) { 1.36 view = ProjectDetails(projectInfo, issues, version, component) 1.37 @@ -203,7 +205,7 @@ 1.38 } 1.39 } 1.40 1.41 - fun projectForm(http: HttpRequest, dao: DataAccessObject) { 1.42 + private fun projectForm(http: HttpRequest, dao: DataAccessObject) { 1.43 val projectInfo = obtainProjectInfo(http, dao) 1.44 if (projectInfo == null) { 1.45 http.response.sendError(404) 1.46 @@ -221,7 +223,7 @@ 1.47 } 1.48 } 1.49 1.50 - fun projectCommit(http: HttpRequest, dao: DataAccessObject) { 1.51 + private fun projectCommit(http: HttpRequest, dao: DataAccessObject) { 1.52 // TODO: replace defaults with throwing validator exceptions 1.53 val project = Project(http.param("id")?.toIntOrNull() ?: -1).apply { 1.54 name = http.param("name") ?: "" 1.55 @@ -247,7 +249,7 @@ 1.56 http.renderCommit("projects/${project.node}") 1.57 } 1.58 1.59 - fun versions(http: HttpRequest, dao: DataAccessObject) { 1.60 + private fun versions(http: HttpRequest, dao: DataAccessObject) { 1.61 val projectInfo = obtainProjectInfo(http, dao) 1.62 if (projectInfo == null) { 1.63 http.response.sendError(404) 1.64 @@ -268,7 +270,7 @@ 1.65 } 1.66 } 1.67 1.68 - fun versionForm(http: HttpRequest, dao: DataAccessObject) { 1.69 + private fun versionForm(http: HttpRequest, dao: DataAccessObject) { 1.70 val projectInfo = obtainProjectInfo(http, dao) 1.71 if (projectInfo == null) { 1.72 http.response.sendError(404) 1.73 @@ -298,7 +300,7 @@ 1.74 } 1.75 } 1.76 1.77 - fun versionCommit(http: HttpRequest, dao: DataAccessObject) { 1.78 + private fun versionCommit(http: HttpRequest, dao: DataAccessObject) { 1.79 val id = http.param("id")?.toIntOrNull() 1.80 val projectid = http.param("projectid")?.toIntOrNull() ?: -1 1.81 val project = dao.findProject(projectid) 1.82 @@ -328,7 +330,7 @@ 1.83 http.renderCommit("projects/${project.node}/versions/") 1.84 } 1.85 1.86 - fun components(http: HttpRequest, dao: DataAccessObject) { 1.87 + private fun components(http: HttpRequest, dao: DataAccessObject) { 1.88 val projectInfo = obtainProjectInfo(http, dao) 1.89 if (projectInfo == null) { 1.90 http.response.sendError(404) 1.91 @@ -349,7 +351,7 @@ 1.92 } 1.93 } 1.94 1.95 - fun componentForm(http: HttpRequest, dao: DataAccessObject) { 1.96 + private fun componentForm(http: HttpRequest, dao: DataAccessObject) { 1.97 val projectInfo = obtainProjectInfo(http, dao) 1.98 if (projectInfo == null) { 1.99 http.response.sendError(404) 1.100 @@ -379,7 +381,7 @@ 1.101 } 1.102 } 1.103 1.104 - fun componentCommit(http: HttpRequest, dao: DataAccessObject) { 1.105 + private fun componentCommit(http: HttpRequest, dao: DataAccessObject) { 1.106 val id = http.param("id")?.toIntOrNull() 1.107 val projectid = http.param("projectid")?.toIntOrNull() ?: -1 1.108 val project = dao.findProject(projectid) 1.109 @@ -413,7 +415,7 @@ 1.110 http.renderCommit("projects/${project.node}/components/") 1.111 } 1.112 1.113 - fun issue(http: HttpRequest, dao: DataAccessObject) { 1.114 + private fun issue(http: HttpRequest, dao: DataAccessObject) { 1.115 withPathInfo(http, dao)?.run { 1.116 val issue = dao.findIssue(http.pathParams["issue"]?.toIntOrNull() ?: -1) 1.117 if (issue == null) { 1.118 @@ -437,7 +439,7 @@ 1.119 } 1.120 } 1.121 1.122 - fun issueForm(http: HttpRequest, dao: DataAccessObject) { 1.123 + private fun issueForm(http: HttpRequest, dao: DataAccessObject) { 1.124 withPathInfo(http, dao)?.run { 1.125 val issue = dao.findIssue(http.pathParams["issue"]?.toIntOrNull() ?: -1) ?: Issue( 1.126 -1, 1.127 @@ -478,7 +480,7 @@ 1.128 } 1.129 } 1.130 1.131 - fun issueComment(http: HttpRequest, dao: DataAccessObject) { 1.132 + private fun issueComment(http: HttpRequest, dao: DataAccessObject) { 1.133 withPathInfo(http, dao)?.run { 1.134 val issue = dao.findIssue(http.pathParams["issue"]?.toIntOrNull() ?: -1) 1.135 if (issue == null) { 1.136 @@ -498,7 +500,7 @@ 1.137 } 1.138 } 1.139 1.140 - fun issueCommit(http: HttpRequest, dao: DataAccessObject) { 1.141 + private fun issueCommit(http: HttpRequest, dao: DataAccessObject) { 1.142 withPathInfo(http, dao)?.run { 1.143 // TODO: throw validator exception instead of using defaults 1.144 val issue = Issue(