From 79d3240ea489067f3eb1af5e535b3687c507a249 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 30 May 2013 23:13:48 -0400
Subject: [PATCH] Added simple star/unstar function

---
 src/main/java/com/gitblit/ConfigUserService.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/gitblit/ConfigUserService.java b/src/main/java/com/gitblit/ConfigUserService.java
index 7aa0998..f2bd7b8 100644
--- a/src/main/java/com/gitblit/ConfigUserService.java
+++ b/src/main/java/com/gitblit/ConfigUserService.java
@@ -37,6 +37,7 @@
 import com.gitblit.Constants.AccessPermission;
 import com.gitblit.models.TeamModel;
 import com.gitblit.models.UserModel;
+import com.gitblit.models.UserRepositoryPreferences;
 import com.gitblit.utils.ArrayUtils;
 import com.gitblit.utils.DeepCopier;
 import com.gitblit.utils.StringUtils;
@@ -88,7 +89,9 @@
 	private static final String PRERECEIVE = "preReceiveScript";
 
 	private static final String POSTRECEIVE = "postReceiveScript";
-
+	
+	private static final String STARRED = "starred";
+	
 	private final File realmFile;
 
 	private final Logger logger = LoggerFactory.getLogger(ConfigUserService.class);
@@ -879,6 +882,14 @@
 				}
 				config.setStringList(USER, model.username, REPOSITORY, permissions);
 			}
+			
+			// user preferences
+			if (model.getPreferences() != null) {
+				List<String> starred =  model.getPreferences().getStarredRepositories();
+				if (starred.size() > 0) {
+					config.setStringList(USER, model.username, STARRED, starred);
+				}
+			}
 		}
 
 		// write teams
@@ -1021,6 +1032,14 @@
 						}
 					}
 
+					// starred repositories
+					Set<String> starred = new HashSet<String>(Arrays.asList(config
+							.getStringList(USER, username, STARRED)));
+					for (String repository : starred) {
+						UserRepositoryPreferences prefs = user.getPreferences().getRepositoryPreferences(repository);
+						prefs.starred = true;
+					}
+
 					// update cache
 					users.put(user.username, user);
 					if (!StringUtils.isEmpty(user.cookie)) {

--
Gitblit v1.9.1