aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-ws-client
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@gmail.com>2013-04-29 15:02:39 +0200
committerJulien Lancelot <julien.lancelot@gmail.com>2013-04-29 15:02:39 +0200
commitc96629692ae3e13e4a3f3502156ec1c10033488d (patch)
tree89853413f45da40af031e4f3cc6edf895063c95a /sonar-ws-client
parent1dce38b0b592a311230ba0f14f1c1b417ac51ac2 (diff)
downloadsonarqube-c96629692ae3e13e4a3f3502156ec1c10033488d.tar.gz
sonarqube-c96629692ae3e13e4a3f3502156ec1c10033488d.zip
SONAR-3755 Rename key by issueKey in IssueQuery
Diffstat (limited to 'sonar-ws-client')
-rw-r--r--sonar-ws-client/src/main/java/org/sonar/wsclient/issue/DefaultIssueClient.java22
-rw-r--r--sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueClient.java4
-rw-r--r--sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueQuery.java4
-rw-r--r--sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueTransition.java51
-rw-r--r--sonar-ws-client/src/test/java/org/sonar/wsclient/issue/DefaultIssueClientTest.java10
-rw-r--r--sonar-ws-client/src/test/java/org/sonar/wsclient/issue/IssueQueryTest.java4
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"));