aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java')
-rw-r--r--sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java49
1 files changed, 47 insertions, 2 deletions
diff --git a/sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java b/sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java
index edc89f9c267..cecd0fe0f08 100644
--- a/sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java
+++ b/sonar-db/src/main/java/org/sonar/db/issue/IssueDao.java
@@ -20,12 +20,16 @@
package org.sonar.db.issue;
+import java.util.List;
+import java.util.Set;
+import javax.annotation.CheckForNull;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.SqlSession;
+import org.sonar.db.Dao;
import org.sonar.db.DbSession;
import org.sonar.db.MyBatis;
-public class IssueDao {
+public class IssueDao implements Dao {
private final MyBatis mybatis;
@@ -43,7 +47,48 @@ public class IssueDao {
}
}
- protected IssueMapper mapper(DbSession session) {
+ @CheckForNull
+ public IssueDto selectNullableByKey(DbSession session, String key) {
+ return mapper(session).selectByKey(key);
+ }
+
+ public IssueDto selectByKey(DbSession session, String key) {
+ IssueDto issue = selectNullableByKey(session, key);
+ if (issue == null) {
+ throw new IllegalArgumentException(String.format("Issue key '%s' does not exist", key));
+ }
+ return issue;
+ }
+
+ public List<IssueDto> findByActionPlan(DbSession session, String actionPlan) {
+ return mapper(session).selectByActionPlan(actionPlan);
+ }
+
+ public List<IssueDto> selectByKeys(DbSession session, List<String> keys) {
+ return mapper(session).selectByKeys(keys);
+ }
+
+ public Set<String> selectComponentUuidsOfOpenIssuesForProjectUuid(DbSession session, String projectUuid) {
+ return mapper(session).selectComponentUuidsOfOpenIssuesForProjectUuid(projectUuid);
+ }
+
+ public void insert(DbSession session, IssueDto dto) {
+ mapper(session).insert(dto);
+ }
+
+ public void insert(DbSession session, IssueDto dto, IssueDto... others) {
+ IssueMapper mapper = mapper(session);
+ mapper.insert(dto);
+ for (IssueDto other : others) {
+ mapper.insert(other);
+ }
+ }
+
+ public void update(DbSession session, IssueDto dto) {
+ mapper(session).update(dto);
+ }
+
+ private IssueMapper mapper(DbSession session) {
return session.getMapper(IssueMapper.class);
}