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.ServerInfo;
20 import org.codehaus.jettison.json.JSONException;
21 import org.codehaus.jettison.json.JSONObject;
22 import org.joda.time.DateTime;
23
24 import java.net.URI;
25
26 public class ServerInfoJsonParser implements JsonObjectParser<ServerInfo> {
27 @Override
28 public ServerInfo parse(JSONObject json) throws JSONException {
29 final URI baseUri = JsonParseUtil.parseURI(json.getString("baseUrl"));
30 final String version = json.getString("version");
31 final int buildNumber = json.getInt("buildNumber");
32 final DateTime buildDate = JsonParseUtil.parseDateTime(json, "buildDate");
33 final DateTime serverTime = JsonParseUtil.parseOptionalDateTime(json, "serverTime");
34 final String scmInfo = json.getString("scmInfo");
35 final String serverTitle = json.getString("serverTitle");
36 return new ServerInfo(baseUri, version, buildNumber, buildDate, serverTime, scmInfo, serverTitle);
37 }
38 }