summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/ConfigUserService.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-12-27 17:50:39 -0500
committerJames Moger <james.moger@gitblit.com>2011-12-27 17:50:39 -0500
commitd7905a15bf41df0574bd8613bf16f2d7ef0cb805 (patch)
treea56487c8c018bbb097c4c395033d2f17aa9341cf /src/com/gitblit/ConfigUserService.java
parent0fb1fd48c430d5dbb61485a9a6c6f52aac200e09 (diff)
downloadgitblit-d7905a15bf41df0574bd8613bf16f2d7ef0cb805.tar.gz
gitblit-d7905a15bf41df0574bd8613bf16f2d7ef0cb805.zip
Implemented Team hook scripts
Diffstat (limited to 'src/com/gitblit/ConfigUserService.java')
-rw-r--r--src/com/gitblit/ConfigUserService.java33
1 files changed, 29 insertions, 4 deletions
diff --git a/src/com/gitblit/ConfigUserService.java b/src/com/gitblit/ConfigUserService.java
index b899d924..7e4600cf 100644
--- a/src/com/gitblit/ConfigUserService.java
+++ b/src/com/gitblit/ConfigUserService.java
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -62,9 +63,13 @@ public class ConfigUserService implements IUserService {
private static final String REPOSITORY = "repository";
private static final String ROLE = "role";
-
+
private static final String MAILINGLIST = "mailingList";
+ private static final String PRERECEIVE = "preReceiveScript";
+
+ private static final String POSTRECEIVE = "postReceiveScript";
+
private final File realmFile;
private final Logger logger = LoggerFactory.getLogger(ConfigUserService.class);
@@ -303,6 +308,7 @@ public class ConfigUserService implements IUserService {
public List<String> getAllTeamNames() {
read();
List<String> list = new ArrayList<String>(teams.keySet());
+ Collections.sort(list);
return list;
}
@@ -328,6 +334,7 @@ public class ConfigUserService implements IUserService {
} catch (Throwable t) {
logger.error(MessageFormat.format("Failed to get teamnames for role {0}!", role), t);
}
+ Collections.sort(list);
return list;
}
@@ -468,6 +475,7 @@ public class ConfigUserService implements IUserService {
public List<String> getAllUsernames() {
read();
List<String> list = new ArrayList<String>(users.keySet());
+ Collections.sort(list);
return list;
}
@@ -493,6 +501,7 @@ public class ConfigUserService implements IUserService {
} catch (Throwable t) {
logger.error(MessageFormat.format("Failed to get usernames for role {0}!", role), t);
}
+ Collections.sort(list);
return list;
}
@@ -652,12 +661,23 @@ public class ConfigUserService implements IUserService {
}
// null check on "final" mailing lists because JSON-sourced
- // TeamModel
- // can have a null users object
+ // TeamModel can have a null users object
if (model.mailingLists != null) {
config.setStringList(TEAM, model.name, MAILINGLIST, new ArrayList<String>(
model.mailingLists));
}
+
+ // null check on "final" preReceiveScripts because JSON-sourced
+ // TeamModel can have a null preReceiveScripts object
+ if (model.preReceiveScripts != null) {
+ config.setStringList(TEAM, model.name, PRERECEIVE, model.preReceiveScripts);
+ }
+
+ // null check on "final" postReceiveScripts because JSON-sourced
+ // TeamModel can have a null postReceiveScripts object
+ if (model.postReceiveScripts != null) {
+ config.setStringList(TEAM, model.name, POSTRECEIVE, model.postReceiveScripts);
+ }
}
config.save();
@@ -724,7 +744,12 @@ public class ConfigUserService implements IUserService {
team.addRepositories(Arrays.asList(config.getStringList(TEAM, teamname,
REPOSITORY)));
team.addUsers(Arrays.asList(config.getStringList(TEAM, teamname, USER)));
- team.addMailingLists(Arrays.asList(config.getStringList(TEAM, teamname, MAILINGLIST)));
+ team.addMailingLists(Arrays.asList(config.getStringList(TEAM, teamname,
+ MAILINGLIST)));
+ team.preReceiveScripts.addAll(Arrays.asList(config.getStringList(TEAM,
+ teamname, PRERECEIVE)));
+ team.postReceiveScripts.addAll(Arrays.asList(config.getStringList(TEAM,
+ teamname, POSTRECEIVE)));
teams.put(team.name.toLowerCase(), team);