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.api.domain.IssueType;
20 import org.codehaus.jettison.json.JSONException;
21 import org.codehaus.jettison.json.JSONObject;
22
23 import java.net.URI;
24
25 public class IssueTypeJsonParser implements JsonObjectParser<IssueType> {
26 @Override
27 public IssueType parse(JSONObject json) throws JSONException {
28 final URI selfUri = JsonParseUtil.getSelfUri(json);
29 final long id = json.getLong("id");
30 final String name = json.getString("name");
31 final boolean isSubtask = json.getBoolean("subtask");
32 final String iconUrl = JsonParseUtil.getOptionalString(json, "iconUrl");
33 final URI iconUri = iconUrl == null ? null : JsonParseUtil.parseURI(iconUrl);
34 final String description = JsonParseUtil.getOptionalString(json, "description");
35 return new IssueType(selfUri, id, name, isSubtask, description, iconUri);
36 }
37 }