package net.coding.program.model; import net.coding.program.common.Global; import org.json.JSONObject; import java.io.Serializable; /** * Created by chenchao on 15/5/29. */ public class Commit implements Serializable { Committer committer; private String fullMessage; // "update README.md", private String shortMessage; // "update README.md ", private String allMessage; // "", private String commitId; // "4d2dade52151288a42b7534f9bc6ea6895bf221b", private long commitTime; // 1432806003000, private int notesCount; // 0 public Commit(JSONObject json) { fullMessage = json.optString("fullMessage"); shortMessage = json.optString("shortMessage"); allMessage = json.optString("allMessage"); commitId = json.optString("commitId"); commitTime = json.optLong("commitTime"); notesCount = json.optInt("notesCount"); committer = new Committer(json.optJSONObject("committer")); } public static String getHttpSendComment(String path) { String realPath = ProjectObject.translatePath(path); return Global.HOST_API + realPath + "/git/line_notes"; } public static String getHttpDeleteComment(String path, int id) { String realPath = ProjectObject.translatePath(path); return Global.HOST_API + realPath + "/git/line_notes/" + id; } public String getHttpFiles(String path) { String realPath = ProjectObject.translatePath(path); return Global.HOST_API + realPath + "/git/commitDiffStat/" + commitId; } public String getHttpComments(String path) { String realPath = ProjectObject.translatePath(path); return Global.HOST_API + realPath + "/git/commit/" + commitId; } public String getCommitIdPrefix() { int prefixLength = 10; if (commitId.length() < prefixLength) { return commitId; } return commitId.substring(0, prefixLength); } public String getCommitId() { return commitId; } public String getTitle() { return fullMessage; } public String getName() { return committer.name; } public long getCommitTime() { return commitTime; } public String getIcon() { return committer.avatar; } public String getGlobalKey() { return committer.link.replace("/u/", ""); } public static class Committer implements Serializable { String name; // "1984nn", String email; // "chenchao@coding.net", String avatar; // "https; ////dn-coding-net-production-static.qbox.me/8ea73108-5ead-49f2-9153-000de9b7318e.jpg", String link; // "/u/1984" public Committer(JSONObject json) { name = json.optString("name"); email = json.optString("email"); avatar = Global.replaceAvatar(json); link = json.optString("link"); } } }