From 3dec957f01b1e6b0af31476361efbb5767d0303d Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 01 Nov 2012 09:13:16 -0400 Subject: [PATCH] Centralize Manager row height setting --- src/com/gitblit/utils/StringUtils.java | 28 ++++++++++++++++++++++++---- 1 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/com/gitblit/utils/StringUtils.java b/src/com/gitblit/utils/StringUtils.java index 0711338..325b529 100644 --- a/src/com/gitblit/utils/StringUtils.java +++ b/src/com/gitblit/utils/StringUtils.java @@ -315,11 +315,16 @@ * @return the relative path */ public static String getRelativePath(String basePath, String fullPath) { - String relativePath = fullPath.substring(basePath.length()).replace('\\', '/'); - if (relativePath.charAt(0) == '/') { - relativePath = relativePath.substring(1); + String bp = basePath.replace('\\', '/').toLowerCase(); + String fp = fullPath.replace('\\', '/').toLowerCase(); + if (fp.startsWith(bp)) { + String relativePath = fullPath.substring(basePath.length()).replace('\\', '/'); + if (relativePath.charAt(0) == '/') { + relativePath = relativePath.substring(1); + } + return relativePath; } - return relativePath; + return fullPath; } /** @@ -422,6 +427,8 @@ public static int compareRepositoryNames(String r1, String r2) { // sort root repositories first, alphabetically // then sort grouped repositories, alphabetically + r1 = r1.toLowerCase(); + r2 = r2.toLowerCase(); int s1 = r1.indexOf('/'); int s2 = r2.indexOf('/'); if (s1 == -1 && s2 == -1) { @@ -687,4 +694,17 @@ } return path; } + + /** + * Variation of String.matches() which disregards case issues. + * + * @param regex + * @param input + * @return true if the pattern matches + */ + public static boolean matchesIgnoreCase(String input, String regex) { + Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); + Matcher m = p.matcher(input); + return m.matches(); + } } \ No newline at end of file -- Gitblit v1.9.1