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") |