From b82a0f3d502c0f6861b0910c409f4992f3f32f86 Mon Sep 17 00:00:00 2001
From: Rafael Cavazin <rafaelcavazin@gmail.com>
Date: Thu, 06 Dec 2012 15:08:50 -0500
Subject: [PATCH] translation of lastest properties

---
 src/com/gitblit/utils/StringUtils.java |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/src/com/gitblit/utils/StringUtils.java b/src/com/gitblit/utils/StringUtils.java
index d115f89..8684004 100644
--- a/src/com/gitblit/utils/StringUtils.java
+++ b/src/com/gitblit/utils/StringUtils.java
@@ -263,13 +263,25 @@
 	 */
 	public static String getMD5(String string) {
 		try {
-			MessageDigest md = MessageDigest.getInstance("MD5");
-			md.reset();
-			md.update(string.getBytes("iso-8859-1"));
-			byte[] digest = md.digest();
-			return toHex(digest);
+			return getMD5(string.getBytes("iso-8859-1"));
 		} catch (UnsupportedEncodingException u) {
 			throw new RuntimeException(u);
+		}
+	}
+	
+	/**
+	 * Calculates the MD5 of the string.
+	 * 
+	 * @param string
+	 * @return md5 of the string
+	 */
+	public static String getMD5(byte [] bytes) {
+		try {
+			MessageDigest md = MessageDigest.getInstance("MD5");
+			md.reset();
+			md.update(bytes);
+			byte[] digest = md.digest();
+			return toHex(digest);
 		} catch (NoSuchAlgorithmException t) {
 			throw new RuntimeException(t);
 		}
@@ -427,6 +439,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) {
@@ -692,4 +706,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