diff options
author | Julien Lancelot <julien.lancelot@gmail.com> | 2013-04-16 12:27:46 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@gmail.com> | 2013-04-16 12:27:46 +0200 |
commit | 107195ad1754f1495a441d87df7994f98235f472 (patch) | |
tree | 6a414c333dbe2c410d7abb6583e66ac8226e827d /sonar-ws-client | |
parent | f42275cef1280bedd2d8736a2e06cce4be585657 (diff) | |
download | sonarqube-107195ad1754f1495a441d87df7994f98235f472.tar.gz sonarqube-107195ad1754f1495a441d87df7994f98235f472.zip |
SONAR-3755 Add rule and created at filters on issue query.
Diffstat (limited to 'sonar-ws-client')
-rw-r--r-- | sonar-ws-client/src/main/java/org/sonar/wsclient/services/IssueQuery.java | 58 | ||||
-rw-r--r-- | sonar-ws-client/src/test/java/org/sonar/wsclient/services/IssueQueryTest.java | 19 |
2 files changed, 68 insertions, 9 deletions
diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/services/IssueQuery.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/services/IssueQuery.java index 988df66f723..a621517c384 100644 --- a/sonar-ws-client/src/main/java/org/sonar/wsclient/services/IssueQuery.java +++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/services/IssueQuery.java @@ -19,6 +19,8 @@ */ package org.sonar.wsclient.services; +import java.util.Date; + /** * @since 3.6 */ @@ -32,10 +34,14 @@ public final class IssueQuery extends Query<Issue> { private String[] status; private String[] resolutions; private String[] components; - private String[] rules; + private String ruleRepository; + private String rule; private String[] userLogins; private String[] assigneeLogins; + private Date createdAfter; + private Date createdBefore; private Integer limit; + private Integer offset; private IssueQuery() { } @@ -102,12 +108,21 @@ public final class IssueQuery extends Query<Issue> { return this; } - public String[] getRules() { - return rules; + public String getRuleRepository() { + return ruleRepository; + } + + public IssueQuery setRuleRepository(String ruleRepository) { + this.ruleRepository = ruleRepository; + return this; + } + + public String getRule() { + return rule; } - public IssueQuery setRules(String... rules) { - this.rules = rules; + public IssueQuery setRule(String rule) { + this.rule = rule; return this; } @@ -129,6 +144,24 @@ public final class IssueQuery extends Query<Issue> { return this; } + public Date getCreatedAfter() { + return createdAfter; + } + + public IssueQuery setCreatedAfter(Date createdAfter) { + this.createdAfter = createdAfter; + return this; + } + + public Date getCreatedBefore() { + return createdBefore; + } + + public IssueQuery setCreatedBefore(Date createdBefore) { + this.createdBefore = createdBefore; + return this; + } + public Integer getLimit() { return limit; } @@ -138,6 +171,15 @@ public final class IssueQuery extends Query<Issue> { return this; } + public Integer getOffset() { + return offset; + } + + public IssueQuery setOffset(Integer offset) { + this.offset = offset; + return this; + } + @Override public String getUrl() { StringBuilder url = new StringBuilder(BASE_URL); @@ -148,10 +190,14 @@ public final class IssueQuery extends Query<Issue> { appendUrlParameter(url, "status", status); appendUrlParameter(url, "resolutions", resolutions); appendUrlParameter(url, "components", components); - appendUrlParameter(url, "rules", rules); + appendUrlParameter(url, "ruleRepository", ruleRepository); + appendUrlParameter(url, "rule", rule); appendUrlParameter(url, "userLogins", userLogins); appendUrlParameter(url, "assigneeLogins", assigneeLogins); + appendUrlParameter(url, "createdAfter", createdAfter); + appendUrlParameter(url, "createdBefore", createdBefore); appendUrlParameter(url, "limit", limit); + appendUrlParameter(url, "offset", offset); return url.toString(); } diff --git a/sonar-ws-client/src/test/java/org/sonar/wsclient/services/IssueQueryTest.java b/sonar-ws-client/src/test/java/org/sonar/wsclient/services/IssueQueryTest.java index 1d620e483e2..2d7bb8a6684 100644 --- a/sonar-ws-client/src/test/java/org/sonar/wsclient/services/IssueQueryTest.java +++ b/sonar-ws-client/src/test/java/org/sonar/wsclient/services/IssueQueryTest.java @@ -22,6 +22,8 @@ package org.sonar.wsclient.services; import org.junit.Test; +import java.text.SimpleDateFormat; + import static org.fest.assertions.Assertions.assertThat; public class IssueQueryTest extends QueryTestCase { @@ -41,13 +43,24 @@ public class IssueQueryTest extends QueryTestCase { .setLimit(1) .setMinSeverity("minSev") .setResolutions("resoltion1", "resolution2") - .setRules("rule1", "rule2") + .setRuleRepository("ruleRepo") + .setRule("rule") .setStatus("status1", "status2") .setSeverities("sev1", "sev2") - .setUserLogins("userLogin1", "userLogin2"); + .setUserLogins("userLogin1", "userLogin2") + ; assertThat(query.getUrl()).isEqualTo("/api/issues/search?keys=key1,key2&severities=sev1,sev2&minSeverity=minSev&status=status1,status2&" + - "resolutions=resoltion1,resolution2&components=component1,component2&rules=rule1,rule2&userLogins=userLogin1,userLogin2&" + + "resolutions=resoltion1,resolution2&components=component1,component2&ruleRepository=ruleRepo&rule=rule&userLogins=userLogin1,userLogin2&" + "assigneeLogins=assigneeLogin1,assigneeLogin2&limit=1&"); } + @Test + public void get_all_issues_by_created_at() throws Exception { + IssueQuery query = IssueQuery.create() + .setCreatedAfter(new SimpleDateFormat("yyyy-MM-dd").parse("2013-04-16")) + .setCreatedBefore(new SimpleDateFormat("yyyy-MM-dd").parse("2010-02-18")) + ; + assertThat(query.getUrl()).isEqualTo("/api/issues/search?createdAfter=Tue+Apr+16+00%3A00%3A00+CEST+2013&createdBefore=Thu+Feb+18+00%3A00%3A00+CET+2010&"); + } + } |