summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupMembers.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/account/GroupMembers.java')
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/account/GroupMembers.java17
1 files changed, 9 insertions, 8 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupMembers.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupMembers.java
index 84282b5ba5..08cf1a7983 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupMembers.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupMembers.java
@@ -18,14 +18,15 @@ import com.google.gerrit.common.data.GroupDetail;
import com.google.gerrit.common.errors.NoSuchGroupException;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.AccountGroup;
-import com.google.gerrit.reviewdb.client.AccountGroupInclude;
+import com.google.gerrit.reviewdb.client.AccountGroupIncludeByUuid;
import com.google.gerrit.reviewdb.client.AccountGroupMember;
import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.server.IdentifiedUser;
+import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.project.NoSuchProjectException;
import com.google.gerrit.server.project.ProjectControl;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
+import com.google.inject.assistedinject.Assisted;
import java.util.Collections;
import java.util.HashSet;
@@ -33,21 +34,21 @@ import java.util.Set;
public class GroupMembers {
public interface Factory {
- GroupMembers create();
+ GroupMembers create(CurrentUser currentUser);
}
private final GroupCache groupCache;
private final GroupDetailFactory.Factory groupDetailFactory;
private final AccountCache accountCache;
private final ProjectControl.GenericFactory projectControl;
- private final IdentifiedUser currentUser;
+ private final CurrentUser currentUser;
@Inject
GroupMembers(final GroupCache groupCache,
final GroupDetailFactory.Factory groupDetailFactory,
final AccountCache accountCache,
final ProjectControl.GenericFactory projectControl,
- final IdentifiedUser currentUser) {
+ @Assisted final CurrentUser currentUser) {
this.groupCache = groupCache;
this.groupDetailFactory = groupDetailFactory;
this.accountCache = accountCache;
@@ -111,10 +112,10 @@ public class GroupMembers {
}
}
if (groupDetail.includes != null) {
- for (final AccountGroupInclude groupInclude : groupDetail.includes) {
+ for (final AccountGroupIncludeByUuid groupInclude : groupDetail.includes) {
final AccountGroup includedGroup =
- groupCache.get(groupInclude.getIncludeId());
- if (!seen.contains(includedGroup.getGroupUUID())) {
+ groupCache.get(groupInclude.getIncludeUUID());
+ if (includedGroup != null && !seen.contains(includedGroup.getGroupUUID())) {
members.addAll(listAccounts(includedGroup.getGroupUUID(), project, seen));
}
}