diff --git a/src/main/java/com/bytelegend/GitHubApiCommitObject.java b/src/main/java/com/bytelegend/GitHubApiCommitObject.java index e897e3c..61a9ca4 100644 --- a/src/main/java/com/bytelegend/GitHubApiCommitObject.java +++ b/src/main/java/com/bytelegend/GitHubApiCommitObject.java @@ -1,5 +1,6 @@ package com.bytelegend; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; @@ -7,17 +8,259 @@ import java.io.File; import java.io.IOException; import java.nio.file.Files; +import java.util.List; -public class GitHubApiCommitObject { - public static GitHubApiCommitObject fromJson(String json) throws JsonProcessingException { - ObjectMapper mapper = - new ObjectMapper() - .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - return mapper.readValue(json, GitHubApiCommitObject.class); - } + private String sha; + @JsonProperty("node_id") + private String nodeId; + private String url; + @JsonProperty("html_url") + private String htmlUrl; + private Author author; + private Committer committer; + private String message; + private Tree tree; + private List parents; + private Verification verification; public static void main(String[] args) throws IOException { String json = new String(Files.readAllBytes(new File("./commit.json").toPath())); GitHubApiCommitObject commit = GitHubApiCommitObject.fromJson(json); + System.out.println(commit); + } + + public static GitHubApiCommitObject fromJson(String json) throws JsonProcessingException { + ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + return mapper.readValue(json, GitHubApiCommitObject.class); + } + + public String getSha() { + return sha; + } + + public void setSha(String sha) { + this.sha = sha; + } + + public String getNodeId() { + return nodeId; + } + + public void setNodeId(String nodeId) { + this.nodeId = nodeId; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getHtmlUrl() { + return htmlUrl; + } + + public void setHtmlUrl(String htmlUrl) { + this.htmlUrl = htmlUrl; + } + + public Author getAuthor() { + return author; + } + + public void setAuthor(Author author) { + this.author = author; + } + + public Committer getCommitter() { + return committer; + } + + public void setCommitter(Committer committer) { + this.committer = committer; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Tree getTree() { + return tree; + } + + public void setTree(Tree tree) { + this.tree = tree; + } + + public List getParents() { + return parents; + } + + public void setParents(List parents) { + this.parents = parents; + } + + public Verification getVerification() { + return verification; + } + + public void setVerification(Verification verification) { + this.verification = verification; + } + +class Committer { + private String date; + private String name; + private String email; + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; } } + +class Author { + private String date; + private String name; + private String email; + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } +} + +class Parent { + private String url; + private String sha; + @JsonProperty("html_url") + private String htmlUrl; + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getSha() { + return sha; + } + + public void setSha(String sha) { + this.sha = sha; + } + + public String getHtmlUrl() { + return htmlUrl; + } + + public void setHtmlUrl(String htmlUrl) { + this.htmlUrl = htmlUrl; + } +} + +class Tree { + private String url; + private String sha; + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getSha() { + return sha; + } + + public void setSha(String sha) { + this.sha = sha; + } +} + +class Verification { + private boolean verified; + private String reason; + private String signature; + private String payload; + + public boolean isVerified() { + return verified; + } + + public void setVerified(boolean verified) { + this.verified = verified; + } + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + public String getSignature() { + return signature; + } + + public void setSignature(String signature) { + this.signature = signature; + } + + public String getPayload() { + return payload; + } + + public void setPayload(String payload) { + this.payload = payload; + } +} \ No newline at end of file