|
| 1 | +package org.opendatakit.aggregateupdater.releases; |
| 2 | + |
| 3 | +import static org.opendatakit.aggregateupdater.reused.HttpHelpers.url; |
| 4 | + |
| 5 | +import java.net.URL; |
| 6 | +import java.util.Map; |
| 7 | +import java.util.Optional; |
| 8 | + |
| 9 | +public class Author { |
| 10 | + private final String login; |
| 11 | + private final int id; |
| 12 | + private final String nodeId; |
| 13 | + private final URL avatarUrl; |
| 14 | + private final Optional<String> gravatarId; |
| 15 | + private final URL url; |
| 16 | + private final URL htmlUrl; |
| 17 | + private final URL followersUrl; |
| 18 | + private final URL followingUrl; |
| 19 | + private final URL gistsUrl; |
| 20 | + private final URL starredUrl; |
| 21 | + private final URL subscriptionsUrl; |
| 22 | + private final URL organizationsUrl; |
| 23 | + private final URL reposUrl; |
| 24 | + private final URL eventsUrl; |
| 25 | + private final URL receivedEventsUrl; |
| 26 | + private final String type; |
| 27 | + private final boolean siteAdmin; |
| 28 | + |
| 29 | + public Author(String login, int id, String nodeId, URL avatarUrl, Optional<String> gravatarId, URL url, URL htmlUrl, URL followersUrl, URL followingUrl, URL gistsUrl, URL starredUrl, URL subscriptionsUrl, URL organizationsUrl, URL reposUrl, URL eventsUrl, URL receivedEventsUrl, String type, boolean siteAdmin) { |
| 30 | + this.login = login; |
| 31 | + this.id = id; |
| 32 | + this.nodeId = nodeId; |
| 33 | + this.avatarUrl = avatarUrl; |
| 34 | + this.gravatarId = gravatarId; |
| 35 | + this.url = url; |
| 36 | + this.htmlUrl = htmlUrl; |
| 37 | + this.followersUrl = followersUrl; |
| 38 | + this.followingUrl = followingUrl; |
| 39 | + this.gistsUrl = gistsUrl; |
| 40 | + this.starredUrl = starredUrl; |
| 41 | + this.subscriptionsUrl = subscriptionsUrl; |
| 42 | + this.organizationsUrl = organizationsUrl; |
| 43 | + this.reposUrl = reposUrl; |
| 44 | + this.eventsUrl = eventsUrl; |
| 45 | + this.receivedEventsUrl = receivedEventsUrl; |
| 46 | + this.type = type; |
| 47 | + this.siteAdmin = siteAdmin; |
| 48 | + } |
| 49 | + |
| 50 | + public static Author from(Map<String, Object> json) { |
| 51 | + return new Author( |
| 52 | + (String) json.get("login"), |
| 53 | + (Integer) json.get("id"), |
| 54 | + (String) json.get("node_id"), |
| 55 | + url((String) json.get("avatar_url")), |
| 56 | + Optional.ofNullable((String) json.get("gravatar_id")), |
| 57 | + url((String) json.get("url")), |
| 58 | + url((String) json.get("html_url")), |
| 59 | + url((String) json.get("followers_url")), |
| 60 | + url((String) json.get("following_url")), |
| 61 | + url((String) json.get("gists_url")), |
| 62 | + url((String) json.get("starred_url")), |
| 63 | + url((String) json.get("subscriptions_url")), |
| 64 | + url((String) json.get("organizations_url")), |
| 65 | + url((String) json.get("repos_url")), |
| 66 | + url((String) json.get("events_url")), |
| 67 | + url((String) json.get("received_events_url")), |
| 68 | + (String) json.get("type"), |
| 69 | + (Boolean) json.get("site_admin") |
| 70 | + ); |
| 71 | + } |
| 72 | +} |
0 commit comments