summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/utils/ModelUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/gitblit/utils/ModelUtils.java')
-rw-r--r--src/main/java/com/gitblit/utils/ModelUtils.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/main/java/com/gitblit/utils/ModelUtils.java b/src/main/java/com/gitblit/utils/ModelUtils.java
new file mode 100644
index 00000000..6316dc5d
--- /dev/null
+++ b/src/main/java/com/gitblit/utils/ModelUtils.java
@@ -0,0 +1,52 @@
+package com.gitblit.utils;
+
+import com.gitblit.IStoredSettings;
+
+public class ModelUtils
+{
+ private static final String DEFAULT_USER_REPO_PREFIX = "~";
+
+ private static String userRepoPrefix = DEFAULT_USER_REPO_PREFIX;
+
+
+
+ public static void setUserRepoPrefix(IStoredSettings settings)
+ {
+ userRepoPrefix = settings.getString("repo.userPrefix", DEFAULT_USER_REPO_PREFIX);
+ }
+
+
+ public static String getUserRepoPrefix()
+ {
+ return userRepoPrefix;
+ }
+
+
+ public static String getPersonalPath(String username)
+ {
+ return userRepoPrefix + username.toLowerCase();
+ }
+
+
+ public static boolean isPersonalRepository(String name)
+ {
+ if ( name.startsWith(getUserRepoPrefix()) ) return true;
+ return false;
+ }
+
+
+ public static boolean isUsersPersonalRepository(String username, String name)
+ {
+ if ( name.equalsIgnoreCase(getPersonalPath(username)) ) return true;
+ return false;
+ }
+
+
+ public static String getUserNameFromRepoPath(String path)
+ {
+ if ( !isPersonalRepository(path) ) return "";
+
+ return path.substring(getUserRepoPrefix().length());
+ }
+
+}