45 |
45 |
46 private final PreparedStatement insert, update, list, find; |
46 private final PreparedStatement insert, update, list, find; |
47 |
47 |
48 public PGIssueDao(Connection connection) throws SQLException { |
48 public PGIssueDao(Connection connection) throws SQLException { |
49 list = connection.prepareStatement( |
49 list = connection.prepareStatement( |
50 "select id, project, status, category, subject, description, " + |
50 "select issue.id, issue.project, issue.status, issue.category, issue.subject, issue.description, " + |
51 "vplan.id, vplan.name, vdone.id, vdone.name, " + |
51 "vplan.id, vplan.name, vdone.id, vdone.name, " + |
52 "created, updated, eta " + |
52 "issue.created, issue.updated, issue.eta " + |
53 "from lpit_issue " + |
53 "from lpit_issue issue " + |
54 "left join lpit_version vplan on vplan.id = version_plan " + |
54 "left join lpit_version vplan on vplan.id = version_plan " + |
55 "left join lpit_version vdone on vdone.id = version_done " + |
55 "left join lpit_version vdone on vdone.id = version_done " + |
56 "where project = ? "); |
56 "where issue.project = ? "); |
57 |
57 |
58 find = connection.prepareStatement( |
58 find = connection.prepareStatement( |
59 "select id, project, status, category, subject, description, " + |
59 "select issue.id, issue.project, issue.status, issue.category, issue.subject, issue.description, " + |
60 "vplan.id, vplan.name, vdone.id, vdone.name, " + |
60 "vplan.id, vplan.name, vdone.id, vdone.name, " + |
61 "created, updated, eta " + |
61 "issue.created, issue.updated, issue.eta " + |
62 "from lpit_issue " + |
62 "from lpit_issue issue " + |
63 "left join lpit_version vplan on vplan.id = version_plan " + |
63 "left join lpit_version vplan on vplan.id = version_plan " + |
64 "left join lpit_version vdone on vdone.id = version_done " + |
64 "left join lpit_version vdone on vdone.id = version_done " + |
65 "where id = ? "); |
65 "where issue.id = ? "); |
66 |
66 |
67 insert = connection.prepareStatement( |
67 insert = connection.prepareStatement( |
68 "insert into lpit_issue (project, status, category, subject, description, version_plan, version_done, eta) " + |
68 "insert into lpit_issue (project, status, category, subject, description, version_plan, version_done, eta) " + |
69 "values (?, ?::issue_status, ?::issue_category, ?, ?, ?, ?, ?)" |
69 "values (?, ?::issue_status, ?::issue_category, ?, ?, ?, ?, ?)" |
70 ); |
70 ); |
84 return null; |
84 return null; |
85 } |
85 } |
86 } |
86 } |
87 |
87 |
88 public Issue mapColumns(ResultSet result) throws SQLException { |
88 public Issue mapColumns(ResultSet result) throws SQLException { |
89 final var project = new Project(result.getInt("project")); |
89 final var project = new Project(result.getInt("issue.project")); |
90 final var issue = new Issue(result.getInt("id"), project); |
90 final var issue = new Issue(result.getInt("issue.id"), project); |
91 issue.setStatus(IssueStatus.valueOf(result.getString("status"))); |
91 issue.setStatus(IssueStatus.valueOf(result.getString("issue.status"))); |
92 issue.setCategory(IssueCategory.valueOf(result.getString("category"))); |
92 issue.setCategory(IssueCategory.valueOf(result.getString("issue.category"))); |
93 issue.setSubject(result.getString("subject")); |
93 issue.setSubject(result.getString("issue.subject")); |
94 issue.setDescription(result.getString("description")); |
94 issue.setDescription(result.getString("issue.description")); |
95 issue.setScheduledVersion(obtainVersion(result, project, "vplan.")); |
95 issue.setScheduledVersion(obtainVersion(result, project, "vplan.")); |
96 issue.setResolvedVersion(obtainVersion(result, project, "vdone.")); |
96 issue.setResolvedVersion(obtainVersion(result, project, "vdone.")); |
97 issue.setCreated(result.getTimestamp("created")); |
97 issue.setCreated(result.getTimestamp("issue.created")); |
98 issue.setUpdated(result.getTimestamp("updated")); |
98 issue.setUpdated(result.getTimestamp("issue.updated")); |
99 issue.setEta(result.getDate("eta")); |
99 issue.setEta(result.getDate("issue.eta")); |
100 return issue; |
100 return issue; |
101 } |
101 } |
102 |
102 |
103 @Override |
103 @Override |
104 public void save(Issue instance) throws SQLException { |
104 public void save(Issue instance) throws SQLException { |