diff options
author | Julien Lancelot <julien.lancelot@gmail.com> | 2013-04-29 15:02:39 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@gmail.com> | 2013-04-29 15:02:39 +0200 |
commit | c96629692ae3e13e4a3f3502156ec1c10033488d (patch) | |
tree | 89853413f45da40af031e4f3cc6edf895063c95a /sonar-ws-client | |
parent | 1dce38b0b592a311230ba0f14f1c1b417ac51ac2 (diff) | |
download | sonarqube-c96629692ae3e13e4a3f3502156ec1c10033488d.tar.gz sonarqube-c96629692ae3e13e4a3f3502156ec1c10033488d.zip |
SONAR-3755 Rename key by issueKey in IssueQuery
Diffstat (limited to 'sonar-ws-client')
6 files changed, 23 insertions, 72 deletions
diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/DefaultIssueClient.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/DefaultIssueClient.java index 8069c071747..d9670513957 100644 --- a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/DefaultIssueClient.java +++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/DefaultIssueClient.java @@ -31,6 +31,9 @@ import java.util.Map; */ public class DefaultIssueClient implements IssueClient { + private static final String TRANSITIONS_BASE_URL = "/api/issues/transitions"; + private static final String DO_TRANSITION_BASE_URL = "/api/issues/do_transition"; + private final HttpRequestFactory requestFactory; private final IssueParser parser; @@ -55,7 +58,7 @@ public class DefaultIssueClient implements IssueClient { public void change(String issueKey, IssueChange change) { if (!change.urlParams().isEmpty()) { Map<String, Object> queryParams = new LinkedHashMap<String, Object>(change.urlParams()); - queryParams.put("key", issueKey); + queryParams.put("issue", issueKey); HttpRequest request = requestFactory.post(IssueChange.BASE_URL, queryParams); if (!request.ok()) { throw new IllegalStateException("Fail to change issue " + issueKey + ".Bad HTTP response status: " + request.code()); @@ -80,7 +83,7 @@ public class DefaultIssueClient implements IssueClient { public List<String> transitions(String issueKey) { Map<String, Object> queryParams = new LinkedHashMap<String, Object>(); queryParams.put("issue", issueKey); - HttpRequest request = requestFactory.get("/api/issues/transitions", queryParams); + HttpRequest request = requestFactory.get(TRANSITIONS_BASE_URL, queryParams); if (!request.ok()) { throw new IllegalStateException("Fail to return transition for issue. Bad HTTP response status: " + request.code()); } @@ -89,14 +92,13 @@ public class DefaultIssueClient implements IssueClient { } @Override - public void transition(String issueKey, IssueTransition transition) { - if (!transition.urlParams().isEmpty()) { - Map<String, Object> queryParams = new LinkedHashMap<String, Object>(transition.urlParams()); - queryParams.put("issue", issueKey); - HttpRequest request = requestFactory.post(IssueTransition.BASE_URL, queryParams); - if (!request.ok()) { - throw new IllegalStateException("Fail to execute transition on issue " + issueKey + ".Bad HTTP response status: " + request.code()); - } + public void doTransition(String issueKey, String transition) { + Map<String, Object> queryParams = new LinkedHashMap<String, Object>(); + queryParams.put("issue", issueKey); + queryParams.put("transition", transition); + HttpRequest request = requestFactory.post(DO_TRANSITION_BASE_URL, queryParams); + if (!request.ok()) { + throw new IllegalStateException("Fail to execute transition on issue " + issueKey + ".Bad HTTP response status: " + request.code()); } } } diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueClient.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueClient.java index 04845bf5b6a..85c0b86cf3c 100644 --- a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueClient.java +++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueClient.java @@ -32,10 +32,10 @@ public interface IssueClient { void create(NewIssue issue); - void transition(String issueKey, IssueTransition transition); - List<String> transitions(String issueKey); + void doTransition(String issueKey, String transition); + /** * Shortcut for {@code #change(issueKey, IssueChange.create().comment(comment)} */ diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueQuery.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueQuery.java index e4d38dc3bef..dea74706900 100644 --- a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueQuery.java +++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueQuery.java @@ -44,8 +44,8 @@ public class IssueQuery { return params; } - public IssueQuery keys(String... keys) { - return addParam("keys", keys); + public IssueQuery issues(String... keys) { + return addParam("issues", keys); } public IssueQuery severities(String... severities) { diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueTransition.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueTransition.java deleted file mode 100644 index 24e7f3e1254..00000000000 --- a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueTransition.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * SonarQube, open source software quality management tool. - * Copyright (C) 2008-2013 SonarSource - * mailto:contact AT sonarsource DOT com - * - * SonarQube is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * SonarQube is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package org.sonar.wsclient.issue; - -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * @since 3.6 - */ -public class IssueTransition { - static final String BASE_URL = "/api/issues/do_transition"; - private final Map<String, Object> params = new LinkedHashMap<String, Object>(); - - private IssueTransition() { - } - - public static IssueTransition create() { - return new IssueTransition(); - } - - Map<String, Object> urlParams() { - return params; - } - - /** - * Ask to apply a transition - */ - public IssueTransition transition(String s) { - params.put("transition", s); - return this; - } - -} diff --git a/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/DefaultIssueClientTest.java b/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/DefaultIssueClientTest.java index 18352beac9e..aa5fbe62a2f 100644 --- a/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/DefaultIssueClientTest.java +++ b/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/DefaultIssueClientTest.java @@ -39,10 +39,10 @@ public class DefaultIssueClientTest { httpServer.doReturnBody("{\"issues\": [{\"key\": \"ABCDE\"}]}"); IssueClient client = new DefaultIssueClient(requestFactory); - IssueQuery query = IssueQuery.create().keys("ABCDE"); + IssueQuery query = IssueQuery.create().issues("ABCDE"); Issues issues = client.find(query); - assertThat(httpServer.requestedPath()).isEqualTo("/api/issues/search?keys=ABCDE"); + assertThat(httpServer.requestedPath()).isEqualTo("/api/issues/search?issues=ABCDE"); assertThat(issues.list()).hasSize(1); assertThat(issues.list().get(0).key()).isEqualTo("ABCDE"); } @@ -68,7 +68,7 @@ public class DefaultIssueClientTest { IssueClient client = new DefaultIssueClient(requestFactory); client.change("ABCDE", IssueChange.create().severity("BLOCKER").comment("because!")); - assertThat(httpServer.requestedPath()).isEqualTo("/api/issues/change?newSeverity=BLOCKER&comment=because!&key=ABCDE"); + assertThat(httpServer.requestedPath()).isEqualTo("/api/issues/change?newSeverity=BLOCKER&comment=because!&issue=ABCDE"); } @Test @@ -114,8 +114,8 @@ public class DefaultIssueClientTest { HttpRequestFactory requestFactory = new HttpRequestFactory(httpServer.url(), null, null); IssueClient client = new DefaultIssueClient(requestFactory); - client.transition("ABCDE", IssueTransition.create().transition("resolve")); + client.doTransition("ABCDE", "resolve"); - assertThat(httpServer.requestedPath()).isEqualTo("/api/issues/do_transition?transition=resolve&issue=ABCDE"); + assertThat(httpServer.requestedPath()).isEqualTo("/api/issues/do_transition?issue=ABCDE&transition=resolve"); } } diff --git a/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/IssueQueryTest.java b/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/IssueQueryTest.java index 4a37fed1e80..de00cb0af06 100644 --- a/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/IssueQueryTest.java +++ b/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/IssueQueryTest.java @@ -34,7 +34,7 @@ public class IssueQueryTest { @Test public void get_all_issues_by_parameter() { IssueQuery query = IssueQuery.create() - .keys("ABCDE", "FGHIJ") + .issues("ABCDE", "FGHIJ") .assignees("arthur", "perceval") .components("Action.java", "Filter.java") .componentRoots("struts") @@ -49,7 +49,7 @@ public class IssueQueryTest { .pageIndex(4); assertThat(query.urlParams()).hasSize(13); - assertThat(query.urlParams()).includes(entry("keys", "ABCDE,FGHIJ")); + assertThat(query.urlParams()).includes(entry("issues", "ABCDE,FGHIJ")); assertThat(query.urlParams()).includes(entry("assignees", "arthur,perceval")); assertThat(query.urlParams()).includes(entry("components", "Action.java,Filter.java")); assertThat(query.urlParams()).includes(entry("componentRoots", "struts")); |