1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.atlassian.jira.rest.client.internal.jersey;
18
19 import com.atlassian.jira.rest.client.ProgressMonitor;
20 import com.atlassian.jira.rest.client.UserRestClient;
21 import com.atlassian.jira.rest.client.domain.User;
22 import com.atlassian.jira.rest.client.internal.json.UserJsonParser;
23 import com.sun.jersey.client.apache.ApacheHttpClient;
24
25 import javax.ws.rs.core.UriBuilder;
26 import java.net.URI;
27
28
29
30
31
32
33 public class JerseyUserRestClient extends AbstractJerseyRestClient implements UserRestClient {
34 private static final String USER_URI_PREFIX = "user";
35 private final UserJsonParser userJsonParser = new UserJsonParser();
36
37 public JerseyUserRestClient(URI baseUri, ApacheHttpClient client) {
38 super(baseUri, client);
39 }
40
41 @Override
42 public User getUser(String username, ProgressMonitor progressMonitor) {
43 final URI userUri = UriBuilder.fromUri(baseUri).path(USER_URI_PREFIX)
44 .queryParam("username", username).queryParam("expand", "groups").build();
45 return getUser(userUri, progressMonitor);
46 }
47
48 @Override
49 public User getUser(URI userUri, ProgressMonitor progressMonitor) {
50 return getAndParse(userUri, userJsonParser, progressMonitor);
51 }
52 }