From 00bfa356519004b008fcc2670b8a1e04d7eb3fdf Mon Sep 17 00:00:00 2001 From: Kohsuke Kawaguchi Date: Thu, 28 Feb 2013 17:27:18 -0800 Subject: [PATCH] Added a convenience method. This change is originally from pull request #682. --- core/src/main/java/hudson/Util.java | 19 +++++++++++++++++++ core/src/main/java/jenkins/model/Jenkins.java | 3 +-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/hudson/Util.java b/core/src/main/java/hudson/Util.java index 662445f998..89540a9c8c 100644 --- a/core/src/main/java/hudson/Util.java +++ b/core/src/main/java/hudson/Util.java @@ -513,6 +513,25 @@ public class Util { else return s; } + + /** + * Ensure string ends with suffix + * + * @param subject Examined string + * @param suffix Desired suffix + * @return Original subject in case it already ends with suffix, null in + * case subject was null and subject + suffix otherwise. + * @since 1.505 + */ + public static String ensureEndsWith(String subject, String suffix) { + + if (subject == null) return null; + + if (subject.endsWith(suffix)) return subject; + + return subject + suffix; + } + /** * Computes MD5 digest of the given input stream. * diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index 6b81a3e472..94fa474099 100755 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -1868,8 +1868,7 @@ public class Jenkins extends AbstractCIBase implements ModifiableTopLevelItemGro public String getRootUrl() { String url = JenkinsLocationConfiguration.get().getUrl(); if(url!=null) { - if (!url.endsWith("/")) url += '/'; - return url; + return Util.ensureEndsWith(url,"/"); } StaplerRequest req = Stapler.getCurrentRequest(); if(req!=null)