Commit 1f5ac8df6f0b33716b3a1d18a0dddd3e382348eb
1 parent
1f0624db
Fixed problem with double query encoding by URLBuilder.
Showing
2 changed files
with
6 additions
and
8 deletions
| @@ -266,14 +266,8 @@ public class YoutrackAPI { | @@ -266,14 +266,8 @@ public class YoutrackAPI { | ||
| 266 | 266 | ||
| 267 | public List<IssueWrapper> searchIssuesByProject(String project, Object filter) throws JAXBException, IOException | 267 | public List<IssueWrapper> searchIssuesByProject(String project, Object filter) throws JAXBException, IOException |
| 268 | { | 268 | { |
| 269 | - final URI uri; | ||
| 270 | - try { | ||
| 271 | - uri = new URIBuilder(serviceLocation + "/rest/issue/byproject/" + project).addParameter("filter", filter == null ? null : filter.toString()) | ||
| 272 | - .build(); | ||
| 273 | - } catch (URISyntaxException e) { | ||
| 274 | - throw new RuntimeException(e); | ||
| 275 | - } | ||
| 276 | - final Object result = YoutrackUnmarshaller.unmarshall(execute(new HttpGet(uri))); | 269 | + final String url = serviceLocation + "/rest/issue/byproject/" + project + "?filter=" + (filter == null ? "" : filter); |
| 270 | + final Object result = YoutrackUnmarshaller.unmarshall(execute(new HttpGet(url))); | ||
| 277 | if (!(result instanceof Issues)) { | 271 | if (!(result instanceof Issues)) { |
| 278 | throw new YoutrackAPIException("Unmarshalling problem. Expected Issues, received: " + result.getClass() + " " + result); | 272 | throw new YoutrackAPIException("Unmarshalling problem. Expected Issues, received: " + result.getClass() + " " + result); |
| 279 | } | 273 | } |
| @@ -5,6 +5,7 @@ import org.apache.http.HttpStatus; | @@ -5,6 +5,7 @@ import org.apache.http.HttpStatus; | ||
| 5 | import org.apache.http.auth.AuthenticationException; | 5 | import org.apache.http.auth.AuthenticationException; |
| 6 | import org.junit.Test; | 6 | import org.junit.Test; |
| 7 | import pl.com.it_crowd.youtrack.api.Command; | 7 | import pl.com.it_crowd.youtrack.api.Command; |
| 8 | +import pl.com.it_crowd.youtrack.api.Filter; | ||
| 8 | import pl.com.it_crowd.youtrack.api.IssueWrapper; | 9 | import pl.com.it_crowd.youtrack.api.IssueWrapper; |
| 9 | import pl.com.it_crowd.youtrack.api.YoutrackAPI; | 10 | import pl.com.it_crowd.youtrack.api.YoutrackAPI; |
| 10 | import pl.com.it_crowd.youtrack.api.defaults.Fields; | 11 | import pl.com.it_crowd.youtrack.api.defaults.Fields; |
| @@ -162,6 +163,9 @@ public class YoutrackAPITest { | @@ -162,6 +163,9 @@ public class YoutrackAPITest { | ||
| 162 | Assert.assertNotNull(summary); | 163 | Assert.assertNotNull(summary); |
| 163 | Assert.assertTrue(!"".equals(summary.trim())); | 164 | Assert.assertTrue(!"".equals(summary.trim())); |
| 164 | } | 165 | } |
| 166 | + api.createIssue("TST", "searchIssuesByProject " + System.currentTimeMillis(), "searchIssuesByProject"); | ||
| 167 | + issues = api.searchIssuesByProject("TST", Filter.stateFilter(StateValues.Unresolved)); | ||
| 168 | + Assert.assertTrue(!issues.isEmpty()); | ||
| 165 | } | 169 | } |
| 166 | 170 | ||
| 167 | private String getPassword() | 171 | private String getPassword() |
Please
register
or
login
to post a comment