From f3b625d298bab922c64192c25914e352bd87e59e Mon Sep 17 00:00:00 2001 From: John Crygier <john.crygier@aon.com> Date: Tue, 10 Apr 2012 13:48:06 -0400 Subject: [PATCH] Rework LDAP implementation with unboundid. Also allows for an LDAP server to be started with Gitblit GO (backed by an LDIF file). --- src/com/gitblit/GitblitUserService.java | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/GitblitUserService.java b/src/com/gitblit/GitblitUserService.java index 1514b6b..ddb3ca7 100644 --- a/src/com/gitblit/GitblitUserService.java +++ b/src/com/gitblit/GitblitUserService.java @@ -156,9 +156,12 @@ public boolean updateUserModel(String username, UserModel model) { if (supportsCredentialChanges()) { if (!supportsTeamMembershipChanges()) { - // teams are externally controlled + // teams are externally controlled - copy from original model + UserModel existingModel = getUserModel(username); + model = DeepCopier.copy(model); model.teams.clear(); + model.teams.addAll(existingModel.teams); } return serviceImpl.updateUserModel(username, model); } @@ -166,9 +169,12 @@ // passwords are not persisted by the backing user service model.password = null; if (!supportsTeamMembershipChanges()) { - // teams are externally controlled + // teams are externally controlled- copy from original model + UserModel existingModel = getUserModel(username); + model = DeepCopier.copy(model); model.teams.clear(); + model.teams.addAll(existingModel.teams); } return serviceImpl.updateUserModel(username, model); } @@ -228,9 +234,12 @@ @Override public boolean updateTeamModel(String teamname, TeamModel model) { if (!supportsTeamMembershipChanges()) { - // teams are externally controlled + // teams are externally controlled - copy from original model + TeamModel existingModel = getTeamModel(teamname); + model = DeepCopier.copy(model); model.users.clear(); + model.users.addAll(existingModel.users); } return serviceImpl.updateTeamModel(teamname, model); } -- Gitblit v1.9.1