View Javadoc

1   package com.atlassian.jira.rest.client.internal.json;
2   
3   import com.atlassian.jira.rest.client.api.domain.IssueType;
4   import com.atlassian.jira.rest.client.api.domain.Subtask;
5   import com.atlassian.jira.rest.client.api.domain.Status;
6   import org.codehaus.jettison.json.JSONException;
7   import org.codehaus.jettison.json.JSONObject;
8   
9   import java.net.URI;
10  
11  public class SubtaskJsonParser implements JsonObjectParser<Subtask> {
12  	private final IssueTypeJsonParser issueTypeJsonParser = new IssueTypeJsonParser();
13  	private final StatusJsonParser statusJsonParser = new StatusJsonParser();
14  
15  	@Override
16  	public Subtask parse(JSONObject json) throws JSONException {
17  		final URI issueUri = JsonParseUtil.parseURI(json.getString("self"));
18  		final String issueKey = json.getString("key");
19  		final JSONObject fields = json.getJSONObject("fields");
20  		final String summary = fields.getString("summary");
21  		final Status status = statusJsonParser.parse(fields.getJSONObject("status"));
22  		final IssueType issueType = issueTypeJsonParser.parse(fields.getJSONObject("issuetype"));
23  		return new Subtask(issueKey, issueUri, summary, issueType, status);
24  	}
25  }