762 override fun findIssue(id: Int): Issue? { |
762 override fun findIssue(id: Int): Issue? { |
763 stmtFindIssueByID.setInt(1, id) |
763 stmtFindIssueByID.setInt(1, id) |
764 return selectIssues(stmtFindIssueByID).firstOrNull() |
764 return selectIssues(stmtFindIssueByID).firstOrNull() |
765 } |
765 } |
766 |
766 |
767 private fun insertVersionInfo(issue: Issue) { |
767 private fun insertVersionInfo(id: Int, issue: Issue) { |
768 stmtInsertAffectedVersion.setInt(1, issue.id) |
768 stmtInsertAffectedVersion.setInt(1, id) |
769 stmtInsertResolvedVersion.setInt(1, issue.id) |
769 stmtInsertResolvedVersion.setInt(1, id) |
770 issue.affectedVersions.forEach { |
770 issue.affectedVersions.forEach { |
771 stmtInsertAffectedVersion.setInt(2, it.id) |
771 stmtInsertAffectedVersion.setInt(2, it.id) |
772 stmtInsertAffectedVersion.execute() |
772 stmtInsertAffectedVersion.execute() |
773 } |
773 } |
774 issue.resolvedVersions.forEach { |
774 issue.resolvedVersions.forEach { |
782 stmtInsertIssue.setInt(col, issue.project.id) |
782 stmtInsertIssue.setInt(col, issue.project.id) |
783 val id = stmtInsertIssue.executeQuery().use { rs -> |
783 val id = stmtInsertIssue.executeQuery().use { rs -> |
784 rs.next() |
784 rs.next() |
785 rs.getInt(1) |
785 rs.getInt(1) |
786 } |
786 } |
787 insertVersionInfo(issue) |
787 insertVersionInfo(id, issue) |
788 return id |
788 return id |
789 } |
789 } |
790 |
790 |
791 override fun updateIssue(issue: Issue) { |
791 override fun updateIssue(issue: Issue) { |
792 val col = setIssueFields(stmtUpdateIssue, issue) |
792 val col = setIssueFields(stmtUpdateIssue, issue) |
795 // TODO: improve by only inserting / deleting changed version information |
795 // TODO: improve by only inserting / deleting changed version information |
796 stmtClearAffectedVersions.setInt(1, issue.id) |
796 stmtClearAffectedVersions.setInt(1, issue.id) |
797 stmtClearResolvedVersions.setInt(1, issue.id) |
797 stmtClearResolvedVersions.setInt(1, issue.id) |
798 stmtClearAffectedVersions.execute() |
798 stmtClearAffectedVersions.execute() |
799 stmtClearResolvedVersions.execute() |
799 stmtClearResolvedVersions.execute() |
800 insertVersionInfo(issue) |
800 insertVersionInfo(issue.id, issue) |
801 } |
801 } |
802 |
802 |
803 //</editor-fold> |
803 //</editor-fold> |
804 |
804 |
805 //<editor-fold desc="IssueComment"> |
805 //<editor-fold desc="IssueComment"> |