Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
257 changes: 250 additions & 7 deletions src/main/java/com/bytelegend/GitHubApiCommitObject.java
Original file line number Diff line number Diff line change
@@ -1,23 +1,266 @@
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;

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<Parent> 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<Parent> getParents() {
return parents;
}

public void setParents(List<Parent> 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;
}
}