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.IssueLink;
20 import com.atlassian.jira.rest.client.domain.IssueLinkType;
21 import org.codehaus.jettison.json.JSONException;
22 import org.codehaus.jettison.json.JSONObject;
23
24 import java.net.URI;
25
26 public class IssueLinkJsonParser implements JsonParser<IssueLink> {
27 private final IssueLinkTypeJsonParser issueLinkTypeJsonParser = new IssueLinkTypeJsonParser();
28
29 @Override
30 public IssueLink parse(JSONObject json) throws JSONException {
31 final String key = json.getString("issueKey");
32 final URI targetIssueUri = JsonParseUtil.parseURI(json.getString("issue"));
33 final IssueLinkType issueLinkType = issueLinkTypeJsonParser.parse(json.getJSONObject("type"));
34 return new IssueLink(key, targetIssueUri, issueLinkType);
35 }
36 }