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.Attachment;
20 import com.atlassian.jira.rest.client.domain.BasicUser;
21 import org.codehaus.jettison.json.JSONException;
22 import org.codehaus.jettison.json.JSONObject;
23 import org.joda.time.DateTime;
24
25 import java.net.URI;
26
27 public class AttachmentJsonParser implements JsonParser<Attachment> {
28
29 private static final String THUMBNAIL = "thumbnail";
30
31 @Override
32 public Attachment parse(JSONObject json) throws JSONException {
33 final URI selfUri = JsonParseUtil.getSelfUri(json);
34 final String filename = json.getString("filename");
35 final BasicUser author = JsonParseUtil.parseBasicUser(json.optJSONObject("author"));
36 final DateTime creationDate = JsonParseUtil.parseDateTime(json.getString("created"));
37 final int size = json.getInt("size");
38 final String mimeType = json.getString("mimeType");
39 final URI contentURI = JsonParseUtil.parseURI(json.getString("content"));
40 final URI thumbnailURI = JsonParseUtil.parseOptionalURI(json, THUMBNAIL);
41 return new Attachment(selfUri, filename, author, creationDate, size, mimeType, contentURI, thumbnailURI);
42 }
43 }