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.BasicIssueType;
20 import com.atlassian.jira.rest.client.domain.IssueType;
21 import org.codehaus.jettison.json.JSONException;
22 import org.codehaus.jettison.json.JSONObject;
23
24 import java.net.URI;
25
26 public class IssueTypeJsonParser implements JsonParser<IssueType> {
27 private final BasicIssueTypeJsonParser basicIssueTypeJsonParser = new BasicIssueTypeJsonParser();
28 @Override
29 public IssueType parse(JSONObject json) throws JSONException {
30 final BasicIssueType basicIssueType = basicIssueTypeJsonParser.parse(json);
31 final URI iconUri = JsonParseUtil.parseURI(json.getString("iconUrl"));
32 final String description = json.optString("description");
33 return new IssueType(basicIssueType.getSelf(), basicIssueType.getName(), basicIssueType.isSubtask(), description, iconUri);
34 }
35 }