diff options
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.java | 49 |
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); } |