From b736e20a743137d1976b1160b8a99566fa1de4c6 Mon Sep 17 00:00:00 2001 From: Kohsuke Kawaguchi Date: Mon, 13 Apr 2015 18:17:37 -0700 Subject: [PATCH] Added more getHtmlUrl() methods --- src/main/java/org/kohsuke/github/GHAsset.java | 9 +++++++++ src/main/java/org/kohsuke/github/GHAuthorization.java | 8 ++++++++ src/main/java/org/kohsuke/github/GHCommitStatus.java | 9 +++++++++ src/main/java/org/kohsuke/github/GHDeployment.java | 8 ++++++++ src/main/java/org/kohsuke/github/GHDeploymentStatus.java | 8 +++++++- src/main/java/org/kohsuke/github/GHGist.java | 5 +++-- src/main/java/org/kohsuke/github/GHHook.java | 9 +++++++++ src/main/java/org/kohsuke/github/GHIssueComment.java | 8 ++++++++ src/main/java/org/kohsuke/github/GHMilestone.java | 7 ++++++- src/main/java/org/kohsuke/github/GHObject.java | 6 ++++++ src/main/java/org/kohsuke/github/GHPerson.java | 6 ++++-- src/main/java/org/kohsuke/github/GHRelease.java | 5 +++-- src/main/java/org/kohsuke/github/GHRepository.java | 4 ++++ src/main/java/org/kohsuke/github/GHThread.java | 9 +++++++++ 14 files changed, 93 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/kohsuke/github/GHAsset.java b/src/main/java/org/kohsuke/github/GHAsset.java index fb79e758d..9f0be1586 100644 --- a/src/main/java/org/kohsuke/github/GHAsset.java +++ b/src/main/java/org/kohsuke/github/GHAsset.java @@ -1,6 +1,7 @@ package org.kohsuke.github; import java.io.IOException; +import java.net.URL; /** * Asset in a release. @@ -60,6 +61,14 @@ public class GHAsset extends GHObject { return state; } + /** + * @deprecated This object has no HTML URL. + */ + @Override + public URL getHtmlUrl() { + return null; + } + public String getBrowserDownloadUrl() { return browser_download_url; } diff --git a/src/main/java/org/kohsuke/github/GHAuthorization.java b/src/main/java/org/kohsuke/github/GHAuthorization.java index 221a21e55..1afa3fabc 100644 --- a/src/main/java/org/kohsuke/github/GHAuthorization.java +++ b/src/main/java/org/kohsuke/github/GHAuthorization.java @@ -63,6 +63,14 @@ public class GHAuthorization extends GHObject { return GitHub.parseURL(url); } + /** + * @deprecated This object has no HTML URL. + */ + @Override + public URL getHtmlUrl() { + return null; + } + public String getNote() { return note; } diff --git a/src/main/java/org/kohsuke/github/GHCommitStatus.java b/src/main/java/org/kohsuke/github/GHCommitStatus.java index 124b747e1..c568b66f6 100644 --- a/src/main/java/org/kohsuke/github/GHCommitStatus.java +++ b/src/main/java/org/kohsuke/github/GHCommitStatus.java @@ -1,6 +1,7 @@ package org.kohsuke.github; import java.io.IOException; +import java.net.URL; import java.util.Date; /** @@ -52,4 +53,12 @@ public class GHCommitStatus extends GHObject { public String getContext() { return context; } + + /** + * @deprecated This object has no HTML URL. + */ + @Override + public URL getHtmlUrl() { + return null; + } } diff --git a/src/main/java/org/kohsuke/github/GHDeployment.java b/src/main/java/org/kohsuke/github/GHDeployment.java index 58fff1a0d..51a7843d0 100644 --- a/src/main/java/org/kohsuke/github/GHDeployment.java +++ b/src/main/java/org/kohsuke/github/GHDeployment.java @@ -50,4 +50,12 @@ public class GHDeployment extends GHObject { public String getSha(){ return sha; } + + /** + * @deprecated This object has no HTML URL. + */ + @Override + public URL getHtmlUrl() { + return null; + } } diff --git a/src/main/java/org/kohsuke/github/GHDeploymentStatus.java b/src/main/java/org/kohsuke/github/GHDeploymentStatus.java index 78cf1b2ba..c8679c134 100644 --- a/src/main/java/org/kohsuke/github/GHDeploymentStatus.java +++ b/src/main/java/org/kohsuke/github/GHDeploymentStatus.java @@ -32,5 +32,11 @@ public class GHDeploymentStatus extends GHObject { return GHDeploymentState.valueOf(state.toUpperCase()); } - + /** + * @deprecated This object has no HTML URL. + */ + @Override + public URL getHtmlUrl() { + return null; + } } diff --git a/src/main/java/org/kohsuke/github/GHGist.java b/src/main/java/org/kohsuke/github/GHGist.java index 801aef22d..f608af3da 100644 --- a/src/main/java/org/kohsuke/github/GHGist.java +++ b/src/main/java/org/kohsuke/github/GHGist.java @@ -3,6 +3,7 @@ package org.kohsuke.github; import com.fasterxml.jackson.annotation.JsonProperty; import java.io.IOException; +import java.net.URL; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -60,8 +61,8 @@ public class GHGist extends GHObject { return git_push_url; } - public String getHtmlUrl() { - return html_url; + public URL getHtmlUrl() { + return GitHub.parseURL(html_url); } public boolean isPublic() { diff --git a/src/main/java/org/kohsuke/github/GHHook.java b/src/main/java/org/kohsuke/github/GHHook.java index 7b9c523a0..ffe483750 100644 --- a/src/main/java/org/kohsuke/github/GHHook.java +++ b/src/main/java/org/kohsuke/github/GHHook.java @@ -1,6 +1,7 @@ package org.kohsuke.github; import java.io.IOException; +import java.net.URL; import java.util.Collections; import java.util.EnumSet; import java.util.List; @@ -51,4 +52,12 @@ public class GHHook extends GHObject { public void delete() throws IOException { new Requester(repository.root).method("DELETE").to(String.format("/repos/%s/%s/hooks/%d", repository.getOwnerName(), repository.getName(), id)); } + + /** + * @deprecated This object has no HTML URL. + */ + @Override + public URL getHtmlUrl() { + return null; + } } diff --git a/src/main/java/org/kohsuke/github/GHIssueComment.java b/src/main/java/org/kohsuke/github/GHIssueComment.java index d9fb52e1d..732c508a2 100644 --- a/src/main/java/org/kohsuke/github/GHIssueComment.java +++ b/src/main/java/org/kohsuke/github/GHIssueComment.java @@ -71,4 +71,12 @@ public class GHIssueComment extends GHObject { public GHUser getUser() throws IOException { return owner.root.getUser(user.getLogin()); } + + /** + * @deprecated This object has no HTML URL. + */ + @Override + public URL getHtmlUrl() { + return null; + } } diff --git a/src/main/java/org/kohsuke/github/GHMilestone.java b/src/main/java/org/kohsuke/github/GHMilestone.java index eae45fb5d..6b802bfcf 100644 --- a/src/main/java/org/kohsuke/github/GHMilestone.java +++ b/src/main/java/org/kohsuke/github/GHMilestone.java @@ -1,6 +1,7 @@ package org.kohsuke.github; import java.io.IOException; +import java.net.URL; import java.util.Date; import java.util.Locale; @@ -14,7 +15,7 @@ public class GHMilestone extends GHObject { GHRepository owner; GHUser creator; - private String state, due_on, title, description; + private String state, due_on, title, description, html_url; private int closed_issues, open_issues, number; public GitHub getRoot() { @@ -53,6 +54,10 @@ public class GHMilestone extends GHObject { public int getNumber() { return number; } + + public URL getHtmlUrl() { + return GitHub.parseURL(html_url); + } public GHMilestoneState getState() { return Enum.valueOf(GHMilestoneState.class, state.toUpperCase(Locale.ENGLISH)); diff --git a/src/main/java/org/kohsuke/github/GHObject.java b/src/main/java/org/kohsuke/github/GHObject.java index bf1a3b294..914f1280d 100644 --- a/src/main/java/org/kohsuke/github/GHObject.java +++ b/src/main/java/org/kohsuke/github/GHObject.java @@ -38,6 +38,12 @@ public abstract class GHObject { return GitHub.parseURL(url); } + /** + * URL of this object for humans, which renders some HTML. + */ + @WithBridgeMethods(value=String.class, adapterMethod="urlToString") + public abstract URL getHtmlUrl(); + /** * When was this resource last updated? */ diff --git a/src/main/java/org/kohsuke/github/GHPerson.java b/src/main/java/org/kohsuke/github/GHPerson.java index fa651bb68..1a9a0f157 100644 --- a/src/main/java/org/kohsuke/github/GHPerson.java +++ b/src/main/java/org/kohsuke/github/GHPerson.java @@ -2,6 +2,7 @@ package org.kohsuke.github; import java.io.FileNotFoundException; import java.io.IOException; +import java.net.URL; import java.util.Arrays; import java.util.Collections; import java.util.Date; @@ -214,8 +215,9 @@ public abstract class GHPerson extends GHObject { return blog; } - public String getHtmlUrl() { - return html_url; + @Override + public URL getHtmlUrl() { + return GitHub.parseURL(html_url); } /** diff --git a/src/main/java/org/kohsuke/github/GHRelease.java b/src/main/java/org/kohsuke/github/GHRelease.java index 88d978258..86736e909 100644 --- a/src/main/java/org/kohsuke/github/GHRelease.java +++ b/src/main/java/org/kohsuke/github/GHRelease.java @@ -3,6 +3,7 @@ package org.kohsuke.github; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.net.URL; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -44,8 +45,8 @@ public class GHRelease extends GHObject { return draft; } - public String getHtmlUrl() { - return html_url; + public URL getHtmlUrl() { + return GitHub.parseURL(html_url); } public String getName() { diff --git a/src/main/java/org/kohsuke/github/GHRepository.java b/src/main/java/org/kohsuke/github/GHRepository.java index f57d328e0..3ec758bb1 100644 --- a/src/main/java/org/kohsuke/github/GHRepository.java +++ b/src/main/java/org/kohsuke/github/GHRepository.java @@ -161,6 +161,10 @@ public class GHRepository extends GHObject { return ssh_url; } + public URL getHtmlUrl() { + return GitHub.parseURL(html_url); + } + /** * Short repository name without the owner. For example 'jenkins' in case of http://github.com/jenkinsci/jenkins */ diff --git a/src/main/java/org/kohsuke/github/GHThread.java b/src/main/java/org/kohsuke/github/GHThread.java index 9f2038e35..6a2608f25 100644 --- a/src/main/java/org/kohsuke/github/GHThread.java +++ b/src/main/java/org/kohsuke/github/GHThread.java @@ -2,6 +2,7 @@ package org.kohsuke.github; import java.io.FileNotFoundException; import java.io.IOException; +import java.net.URL; import java.util.Date; /** @@ -37,6 +38,14 @@ public class GHThread extends GHObject { return GitHub.parseDate(last_read_at); } + /** + * @deprecated This object has no HTML URL. + */ + @Override + public URL getHtmlUrl() { + return null; + } + public String getReason() { return reason; }