src/main/kotlin/de/uapcore/lightpit/dao/PostgresDataAccessObject.kt

changeset 321
fe73f02d86dc
parent 311
bf67e0ff7131
equal deleted inserted replaced
320:eb77a4149789 321:fe73f02d86dc
363 userid, username, lastname, givenname, mail 363 userid, username, lastname, givenname, mail
364 from lpit_project 364 from lpit_project
365 left join lpit_user owner on lpit_project.owner = owner.userid 365 left join lpit_user owner on lpit_project.owner = owner.userid
366 """.trimIndent() 366 """.trimIndent()
367 367
368 private fun ResultSet.extractProject() = 368 private fun ResultSet.extractProject(prefix:String = "") =
369 Project(getInt("projectid")).apply { 369 Project(getInt("${prefix}projectid")).apply {
370 name = getString("name") 370 name = getString("${prefix}name")
371 node = getString("node") 371 node = getString("${prefix}node")
372 ordinal = getInt("ordinal") 372 ordinal = getInt("${prefix}ordinal")
373 description = getString("description") 373 description = getString("${prefix}description")
374 vcs = getEnum("vcs") 374 vcs = getEnum("${prefix}vcs")
375 repoUrl = getString("repourl") 375 repoUrl = getString("${prefix}repourl")
376 owner = extractOptionalUser() 376 owner = extractOptionalUser()
377 } 377 }
378 378
379 private fun PreparedStatement.setProject(index: Int, project: Project): Int { 379 private fun PreparedStatement.setProject(index: Int, project: Project): Int {
380 var i = index 380 var i = index
490 //<editor-fold desc="Issue"> 490 //<editor-fold desc="Issue">
491 491
492 //language=SQL 492 //language=SQL
493 private val issueQuery = 493 private val issueQuery =
494 """ 494 """
495 select issueid, 495 select issueid, i.project,
496 i.project, p.name as projectname, p.node as projectnode, 496 p.projectid as project_projectid,
497 p.name as project_name,
498 p.node as project_node,
499 p.ordinal as project_ordinal,
500 p.description as project_description,
501 p.vcs as project_vcs,
502 p.repourl as project_repourl,
497 component, c.name as componentname, c.node as componentnode, 503 component, c.name as componentname, c.node as componentnode,
498 status, phase, category, subject, i.description, 504 status, phase, category, subject, i.description,
499 userid, username, givenname, lastname, mail, 505 userid, username, givenname, lastname, mail,
500 created, updated, eta, affected, resolved 506 created, updated, eta, affected, resolved
501 from lpit_issue i 507 from lpit_issue i
504 left join lpit_component c on component = c.id 510 left join lpit_component c on component = c.id
505 left join lpit_user on userid = assignee 511 left join lpit_user on userid = assignee
506 """.trimIndent() 512 """.trimIndent()
507 513
508 private fun ResultSet.extractIssue(): Issue { 514 private fun ResultSet.extractIssue(): Issue {
509 val proj = Project(getInt("project")).apply { 515 val proj = extractProject("project_")
510 name = getString("projectname")
511 node = getString("projectnode")
512 }
513 val comp = getInt("component").let { 516 val comp = getInt("component").let {
514 if (wasNull()) null else 517 if (wasNull()) null else
515 Component(it, proj.id).apply { 518 Component(it, proj.id).apply {
516 name = getString("componentname") 519 name = getString("componentname")
517 node = getString("componentnode") 520 node = getString("componentnode")

mercurial