aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/controllers/api/issues_controller.rb45
-rw-r--r--sonar-ws-client/src/main/java/org/sonar/wsclient/issue/IssueClient.java7
-rw-r--r--sonar-ws-client/src/main/java/org/sonar/wsclient/issue/internal/DefaultIssueClient.java9
-rw-r--r--sonar-ws-client/src/test/java/org/sonar/wsclient/issue/internal/DefaultIssueClientTest.java14
4 files changed, 16 insertions, 59 deletions
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/issues_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/issues_controller.rb
index 4e3b01361c9..7d21da4eb0d 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/issues_controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/issues_controller.rb
@@ -28,20 +28,22 @@ class Api::IssuesController < Api::ApiController
# curl -v -u admin:admin 'http://localhost:9000/api/issues/search?statuses=OPEN,RESOLVED'
#
def search
- render_result_issues(Api.issues.find(params))
- end
+ results = Api.issues.find(params)
+ hash = {
+ :maxResultsReached => results.maxResultsReached,
+ :paging => paging_to_hash(results.paging),
+ :issues => results.issues.map { |issue| Issue.to_hash(issue) },
+ :components => results.components.map { |component| component_to_hash(component) },
+ :projects => results.projects.map { |project| component_to_hash(project) },
+ :rules => results.rules.map { |rule| Rule.to_hash(rule) },
+ :users => results.users.map { |user| User.to_hash(user) }
+ }
+ hash[:actionPlans] = results.actionPlans.map { |plan| ActionPlan.to_hash(plan) } if results.actionPlans.size>0
- # Load existing filter
- # GET /api/issues/filter?<filter id>
- #
- # -- Example
- # curl -v -u admin:admin 'http://localhost:9000/api/issues/filter?filter=20'
- #
- # since 3.7
- #
- def filter
- require_parameters :filter
- render_result_issues(Internal.issues.execute(params[:filter].to_i))
+ respond_to do |format|
+ format.json { render :json => jsonp(hash) }
+ format.xml { render :xml => hash.to_xml(:skip_types => true, :root => 'issues') }
+ end
end
#
@@ -263,23 +265,6 @@ class Api::IssuesController < Api::ApiController
end
end
- def render_result_issues(results)
- hash = {
- :maxResultsReached => results.maxResultsReached,
- :paging => paging_to_hash(results.paging),
- :issues => results.issues.map { |issue| Issue.to_hash(issue) },
- :components => results.components.map { |component| component_to_hash(component) },
- :projects => results.projects.map { |project| component_to_hash(project) },
- :rules => results.rules.map { |rule| Rule.to_hash(rule) },
- :users => results.users.map { |user| User.to_hash(user) }
- }
- hash[:actionPlans] = results.actionPlans.map { |plan| ActionPlan.to_hash(plan) } if results.actionPlans.size>0
- respond_to do |format|
- format.json { render :json => jsonp(hash) }
- format.xml { render :xml => hash.to_xml(:skip_types => true, :root => 'issues') }
- end
- end
-
def component_to_hash(component)
hash = {
:key => component.key,
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 96a7fb08294..1e1fd52df4f 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
@@ -36,13 +36,6 @@ public interface IssueClient {
Issues find(IssueQuery query);
/**
- * Wrap the web service /api/issues/filter in order to execute issue filter.
- *
- * @since 3.7
- */
- Issues filter(String filterId);
-
- /**
* Assign an existing issue to a user. A null assignee removes the assignee.
*
* @return the updated issue
diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/internal/DefaultIssueClient.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/internal/DefaultIssueClient.java
index 030b3ea2323..c4b2f326555 100644
--- a/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/internal/DefaultIssueClient.java
+++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/issue/internal/DefaultIssueClient.java
@@ -25,7 +25,6 @@ import org.sonar.wsclient.internal.HttpRequestFactory;
import org.sonar.wsclient.issue.*;
import javax.annotation.Nullable;
-
import java.util.List;
import java.util.Map;
@@ -44,20 +43,12 @@ public class DefaultIssueClient implements IssueClient {
this.parser = new IssueJsonParser();
}
- @Override
public Issues find(IssueQuery query) {
String json = requestFactory.get(SEARCH_URL, query.urlParams());
return parser.parseIssues(json);
}
@Override
- public Issues filter(String filterId) {
- Map<String, Object> queryParams = EncodingUtils.toMap("filter", filterId);
- String json = requestFactory.get("/api/issues/filter", queryParams);
- return parser.parseIssues(json);
- }
-
- @Override
public Issue create(NewIssue newIssue) {
String json = requestFactory.post("/api/issues/create", newIssue.urlParams());
return jsonToIssue(json);
diff --git a/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/internal/DefaultIssueClientTest.java b/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/internal/DefaultIssueClientTest.java
index 6cb81463043..d262073e26e 100644
--- a/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/internal/DefaultIssueClientTest.java
+++ b/sonar-ws-client/src/test/java/org/sonar/wsclient/issue/internal/DefaultIssueClientTest.java
@@ -26,6 +26,7 @@ import org.sonar.wsclient.MockHttpServerInterceptor;
import org.sonar.wsclient.base.HttpException;
import org.sonar.wsclient.internal.HttpRequestFactory;
import org.sonar.wsclient.issue.*;
+import org.sonar.wsclient.issue.internal.DefaultIssueClient;
import java.util.List;
@@ -67,19 +68,6 @@ public class DefaultIssueClientTest {
}
@Test
- public void should_get_issue_filter() {
- HttpRequestFactory requestFactory = new HttpRequestFactory(httpServer.url());
- httpServer.doReturnBody("{\"issues\": [{\"key\": \"ABCDE\"}]}");
-
- IssueClient client = new DefaultIssueClient(requestFactory);
- Issues issues = client.filter("5");
-
- assertThat(httpServer.requestedPath()).isEqualTo("/api/issues/filter?filter=5");
- assertThat(issues.list()).hasSize(1);
- assertThat(issues.list().get(0).key()).isEqualTo("ABCDE");
- }
-
- @Test
public void should_set_severity() {
HttpRequestFactory requestFactory = new HttpRequestFactory(httpServer.url());
httpServer.doReturnBody("{\"issue\": {\"key\": \"ABCDE\"}}");