1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
/*
* Sonar, open source software quality management tool.
* Copyright (C) 2008-2012 SonarSource
* mailto:contact AT sonarsource DOT com
*
* Sonar 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.
*
* Sonar 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 Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
package org.sonar.wsclient.issue;
import org.sonar.wsclient.internal.EncodingUtils;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* @since 3.6
*/
public class IssueQuery {
static final String BASE_URL = "/api/issues/search";
private final Map<String, Object> params = new HashMap<String, Object>();
private IssueQuery() {
}
public static IssueQuery create() {
return new IssueQuery();
}
Map<String, Object> urlParams() {
return params;
}
public IssueQuery keys(String... keys) {
return addParam("keys", keys);
}
public IssueQuery severities(String... severities) {
return addParam("severities", severities);
}
public IssueQuery statuses(String... statuses) {
return addParam("statuses", statuses);
}
public IssueQuery resolutions(String... resolutions) {
return addParam("resolutions", resolutions);
}
public IssueQuery components(String... components) {
return addParam("components", components);
}
public IssueQuery componentRoots(String... componentRoots) {
return addParam("componentRoots", componentRoots);
}
public IssueQuery rules(String... s) {
return addParam("rules", s);
}
public IssueQuery userLogins(String... s) {
return addParam("userLogins", s);
}
public IssueQuery assignees(String... s) {
return addParam("assignees", s);
}
public IssueQuery createdAfter(Date d) {
params.put("createdAfter", EncodingUtils.toQueryParam(d, true));
return this;
}
public IssueQuery createdBefore(Date d) {
params.put("createdBefore", EncodingUtils.toQueryParam(d, true));
return this;
}
public IssueQuery limit(int limit) {
params.put("limit", limit);
return this;
}
public IssueQuery offset(int offset) {
params.put("offset", offset);
return this;
}
private IssueQuery addParam(String key, String[] values) {
if (values != null) {
params.put(key, EncodingUtils.toQueryParam(values));
}
return this;
}
}
|