1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.atlassian.jira.rest.client.internal.json;
18
19 import com.atlassian.jira.rest.client.domain.BasicUser;
20 import com.atlassian.jira.rest.client.domain.BasicVotes;
21 import com.atlassian.jira.rest.client.domain.Votes;
22 import org.codehaus.jettison.json.JSONException;
23 import org.codehaus.jettison.json.JSONObject;
24
25 import java.util.Collection;
26
27 public class VotesJsonParser implements JsonObjectParser<Votes> {
28 private final BasicVotesJsonParser basicVotesJsonParser = new BasicVotesJsonParser();
29 private final BasicUserJsonParser basicUserJsonParser = new BasicUserJsonParser();
30 @Override
31 public Votes parse(JSONObject json) throws JSONException {
32 final BasicVotes basicVotes = basicVotesJsonParser.parse(json);
33 final Collection<BasicUser> users = JsonParseUtil.parseJsonArray(json.getJSONArray("voters"), basicUserJsonParser);
34 return new Votes(basicVotes.getSelf(), basicVotes.getVotes(), basicVotes.hasVoted(), users);
35 }
36 }