From c3a3e144c0c95a9e58e1bfd9f48b0990eb54db40 Mon Sep 17 00:00:00 2001 From: Philipp Gritsch <philipp.gritsch@uibk.ac.at> Date: Mon, 17 Jun 2024 10:39:47 +0200 Subject: [PATCH] attempts to fix #501 --- .../gitlab_events/GitlabEventService.java | 12 ++++++------ .../gitlab_events/ProjectPermissions.java | 19 +++++++++++++------ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/main/java/at/ac/uibk/gitsearch/service/gitlab_events/GitlabEventService.java b/src/main/java/at/ac/uibk/gitsearch/service/gitlab_events/GitlabEventService.java index ef44344a6..544b0656a 100644 --- a/src/main/java/at/ac/uibk/gitsearch/service/gitlab_events/GitlabEventService.java +++ b/src/main/java/at/ac/uibk/gitsearch/service/gitlab_events/GitlabEventService.java @@ -581,13 +581,13 @@ public class GitlabEventService { ProjectPermissions result = new ProjectPermissions(); adminGitLabApi.enableRequestResponseLogging(java.util.logging.Level.INFO); try { - for (Member member : adminGitLabApi.getProjectApi().getMembers(p.getId())) { + for (Member member : adminGitLabApi.getProjectApi().getAllMembers(p.getId())) { if (member.getEmail() == null) { // member does not show email address? User user = adminGitLabApi.getUserApi().getUser(member.getId()); - result.emailAddressesWithAccess.add(user.getEmail()); + result.addEmailWithAccess(user.getEmail()); } else { - result.emailAddressesWithAccess.add(member.getEmail()); + result.addEmailWithAccess(member.getEmail()); } } } catch (GitLabApiException e) { @@ -596,7 +596,7 @@ public class GitlabEventService { final List<ProjectSharedGroup> sharedWithGroups = p.getSharedWithGroups(); for (ProjectSharedGroup group : sharedWithGroups) { - result.groupsWithAccess.add(group.getGroupName()); + result.addGroupWithAccess(group.getGroupName()); } return result; } @@ -635,8 +635,8 @@ public class GitlabEventService { gp.setArchived(p.getArchived()); gp.setVisibility(p.getVisibility()); - gp.setUsers(perm.getEmailAddressesWithAccess()); - gp.setGroups(perm.getGroupsWithAccess()); + gp.setUsers(new ArrayList<>(perm.getEmailAddressesWithAccess())); + gp.setGroups(new ArrayList<>(perm.getGroupsWithAccess())); gp.setOpen_issues_count(p.getOpenIssuesCount()); gp.setForks_count(p.getForksCount()); gp.setLast_activity_at(lastActivity); diff --git a/src/main/java/at/ac/uibk/gitsearch/service/gitlab_events/ProjectPermissions.java b/src/main/java/at/ac/uibk/gitsearch/service/gitlab_events/ProjectPermissions.java index 04a09f3d6..d101b0692 100644 --- a/src/main/java/at/ac/uibk/gitsearch/service/gitlab_events/ProjectPermissions.java +++ b/src/main/java/at/ac/uibk/gitsearch/service/gitlab_events/ProjectPermissions.java @@ -1,18 +1,25 @@ package at.ac.uibk.gitsearch.service.gitlab_events; -import java.util.ArrayList; -import java.util.List; +import java.util.*; public class ProjectPermissions { - final List<String> emailAddressesWithAccess = new ArrayList<>(); - final List<String> groupsWithAccess = new ArrayList<>(); + private final Set<String> emailAddressesWithAccess = new HashSet<>(); + private final Set<String> groupsWithAccess = new HashSet<>(); - public List<String> getEmailAddressesWithAccess() { + public void addEmailWithAccess(String email) { + this.emailAddressesWithAccess.add(email); + } + + public void addGroupWithAccess(String group) { + this.groupsWithAccess.add(group); + } + + public Set<String> getEmailAddressesWithAccess() { return emailAddressesWithAccess; } - public List<String> getGroupsWithAccess() { + public Set<String> getGroupsWithAccess() { return groupsWithAccess; } } -- GitLab