diff options
author | Julien Lancelot <julien.lancelot@gmail.com> | 2013-04-09 09:58:03 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@gmail.com> | 2013-04-09 09:58:03 +0200 |
commit | 2a0843355942ed03672048cb36b2eec25f8e410b (patch) | |
tree | 59b873fd7b531247994298fb6e70b0913d730641 | |
parent | c60ddf5ab35dafebf515145ad9993dbfa098fe6e (diff) | |
download | sonarqube-2a0843355942ed03672048cb36b2eec25f8e410b.tar.gz sonarqube-2a0843355942ed03672048cb36b2eec25f8e410b.zip |
SONAR-3755 Fix IssueDao and add title property in Issue
7 files changed, 25 insertions, 14 deletions
diff --git a/sonar-core/src/main/resources/org/sonar/core/issue/IssueMapper.xml b/sonar-core/src/main/resources/org/sonar/core/issue/IssueMapper.xml index 01469a975f6..7a88f7fb484 100644 --- a/sonar-core/src/main/resources/org/sonar/core/issue/IssueMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/issue/IssueMapper.xml @@ -84,9 +84,7 @@ </select> <select id="select" parameterType="map" resultType="Issue"> - select <include refid="issueColumns"/> - from issues i - <!--where i.resolution=#{resolution}--> + select <include refid="issueColumns"/> from issues i <where> <if test="severity != null"> and i.severity=#{severity} @@ -103,11 +101,6 @@ <if test="assigneeLogin != null"> and i.assignee_login=#{assigneeLogin} </if> - <if test="componentKeys != null"> - and i.resource_id in - <foreach item="componentKey" index="index" collection="componentKeys" open="(" separator="," close=")">#{componentKey} - </foreach> - </if> </where> </select> diff --git a/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssuableTest.java b/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssuableTest.java index 7c63d6c4184..bfafb3432f6 100644 --- a/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssuableTest.java +++ b/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssuableTest.java @@ -52,6 +52,7 @@ public class DefaultIssuableTest { .line(10) .componentKey("componentKey") .cost(10.0) + .title("title") .message("issue message") .userLogin("user") .assigneeLogin("user") diff --git a/sonar-core/src/test/java/org/sonar/core/issue/IssueDaoTest.java b/sonar-core/src/test/java/org/sonar/core/issue/IssueDaoTest.java index 99c09d66010..a5eef723f93 100644 --- a/sonar-core/src/test/java/org/sonar/core/issue/IssueDaoTest.java +++ b/sonar-core/src/test/java/org/sonar/core/issue/IssueDaoTest.java @@ -135,9 +135,9 @@ public class IssueDaoTest extends AbstractDaoTestCase { Collection<IssueDto> issues = dao.select(issueQuery); assertThat(issues).hasSize(1); - issueQuery = new IssueQuery.Builder().componentKeys("400").build(); + issueQuery = new IssueQuery.Builder().build(); issues = dao.select(issueQuery); - assertThat(issues).hasSize(2); + assertThat(issues).hasSize(5); } } diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java index 2016e2316d9..d7c38486e4e 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/Issue.java @@ -46,6 +46,7 @@ public class Issue { private String ruleKey; private String ruleRepositoryKey; private String severity; + private String title; private String message; private Integer line; private Double cost; @@ -95,6 +96,10 @@ public class Issue { return severity; } + public String title() { + return title; + } + public String message() { return message; } @@ -162,6 +167,7 @@ public class Issue { private String ruleKey; private String ruleRepositoryKey; private String severity; + private String title; private String message; private Integer line; private Double cost; @@ -184,6 +190,7 @@ public class Issue { this.ruleKey = issue.ruleKey(); this.ruleRepositoryKey = issue.ruleRepositoryKey(); this.severity = issue.severity(); + this.title = title; this.message = issue.message(); this.line = issue.line(); this.cost = issue.cost(); @@ -214,6 +221,11 @@ public class Issue { return this; } + public Builder title(String title) { + this.title = title; + return this; + } + public Builder message(String message) { this.message = message; return this; diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueFinder.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueFinder.java index fecaed24d9c..c944d8813b9 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueFinder.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueFinder.java @@ -20,12 +20,15 @@ package org.sonar.api.issue; +import org.sonar.api.ServerComponent; +import org.sonar.api.task.TaskComponent; + import java.util.List; /** * @since 3.6 */ -public interface IssueFinder { +public interface IssueFinder extends TaskComponent, ServerComponent { List<Issue> find(IssueQuery issueQuery); diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueQuery.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueQuery.java index c0f324b410e..887dd022ad6 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueQuery.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/IssueQuery.java @@ -34,7 +34,7 @@ public class IssueQuery { private String severity; private String status; private String resolution; - private String[] componentKeys; + private List<String> componentKeys; private String userLogin; private String assigneeLogin; @@ -42,7 +42,7 @@ public class IssueQuery { this.severity = builder.severity; this.status = builder.status; this.resolution = builder.resolution; - this.componentKeys = builder.componentKeys.isEmpty() ? null : builder.componentKeys.toArray(new String[]{}); + this.componentKeys = builder.componentKeys; this.userLogin = builder.userLogin; this.assigneeLogin = builder.assigneeLogin; } @@ -59,7 +59,7 @@ public class IssueQuery { return resolution; } - public String[] componentKeys() { + public List<String> componentKeys() { return componentKeys; } diff --git a/sonar-server/src/main/java/org/sonar/server/platform/Platform.java b/sonar-server/src/main/java/org/sonar/server/platform/Platform.java index fd46071d9d0..158abd83c86 100644 --- a/sonar-server/src/main/java/org/sonar/server/platform/Platform.java +++ b/sonar-server/src/main/java/org/sonar/server/platform/Platform.java @@ -40,6 +40,7 @@ import org.sonar.core.config.Logback; import org.sonar.core.i18n.GwtI18n; import org.sonar.core.i18n.I18nManager; import org.sonar.core.i18n.RuleI18nManager; +import org.sonar.core.issue.DefaultIssueFinder; import org.sonar.core.measure.MeasureFilterEngine; import org.sonar.core.measure.MeasureFilterExecutor; import org.sonar.core.measure.MeasureFilterFactory; @@ -229,6 +230,7 @@ public final class Platform { servicesContainer.addSingleton(DryRunDatabaseFactory.class); servicesContainer.addSingleton(DefaultResourcePermissions.class); servicesContainer.addSingleton(Periods.class); + servicesContainer.addSingleton(DefaultIssueFinder.class); // Notifications servicesContainer.addSingleton(EmailSettings.class); |