From 24d08fb7bef89584e0ea39e55aba9fb92bc500e3 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 09 Jun 2011 19:41:53 -0400
Subject: [PATCH] Simplified screenshot process and automated thumbnail generation.

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

diff --git a/src/com/gitblit/utils/StringUtils.java b/src/com/gitblit/utils/StringUtils.java
index 808508d..fa84fe8 100644
--- a/src/com/gitblit/utils/StringUtils.java
+++ b/src/com/gitblit/utils/StringUtils.java
@@ -18,8 +18,9 @@
 import java.io.UnsupportedEncodingException;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
 import java.util.List;
-
+import java.util.regex.PatternSyntaxException;
 
 public class StringUtils {
 
@@ -47,8 +48,9 @@
 				retStr.append("&nbsp;");
 			} else if (changeSpace && inStr.charAt(i) == '\t') {
 				retStr.append(" &nbsp; &nbsp;");
-			} else
+			} else {
 				retStr.append(inStr.charAt(i));
+			}
 			i++;
 		}
 		return retStr.toString();
@@ -117,8 +119,9 @@
 			byte[] sha1hash = md.digest();
 			StringBuilder sb = new StringBuilder(sha1hash.length * 2);
 			for (int i = 0; i < sha1hash.length; i++) {
-				if (((int) sha1hash[i] & 0xff) < 0x10)
-					sb.append("0");
+				if (((int) sha1hash[i] & 0xff) < 0x10) {
+					sb.append('0');
+				}
 				sb.append(Long.toString((int) sha1hash[i] & 0xff, 16));
 			}
 			return sb.toString();
@@ -126,11 +129,39 @@
 			throw new RuntimeException(t);
 		}
 	}
-	
+
 	public static String getRootPath(String path) {
 		if (path.indexOf('/') > -1) {
-			return path.substring(0, path.indexOf('/'));
+			return path.substring(0, path.lastIndexOf('/'));
 		}
 		return "";
 	}
+
+	public static String getRelativePath(String basePath, String fullPath) {
+		String relativePath = fullPath.substring(basePath.length()).replace('\\', '/');
+		if (relativePath.charAt(0) == '/') {
+			relativePath = relativePath.substring(1);
+		}
+		return relativePath;
+	}
+	
+	public static List<String> getStringsFromValue(String value) {
+		return getStringsFromValue(value, " ");
+	}
+		
+	public static List<String> getStringsFromValue(String value, String separator) {
+		List<String> strings = new ArrayList<String>();
+		try {
+			String[] chunks = value.split(separator);
+			for (String chunk : chunks) {
+				chunk = chunk.trim();
+				if (chunk.length() > 0) {
+					strings.add(chunk);
+				}
+			}
+		} catch (PatternSyntaxException e) {
+			throw new RuntimeException(e);
+		}
+		return strings;
+	}
 }

--
Gitblit v1.9.1