@Override public void updateContributors(Repository repository, List<Contributor> contributors) { repositoryService.updateContributors(repository, contributors); }
private void checkChildrenRepositoryContributors(final OrganizationalUnit updatedOrganizationalUnit) { repositoryService.getAllRepositories(updatedOrganizationalUnit.getSpace()).forEach(repository -> { final List<Contributor> repositoryContributors = new ArrayList<>(repository.getContributors()); final boolean repositoryContributorsChanged = repositoryContributors.retainAll(updatedOrganizationalUnit.getContributors()); if (repositoryContributorsChanged) { repositoryService.updateContributors(repository, repositoryContributors); } }); }
public void userRemoved(final @Observes UserDeletedEvent event) { final String removedUserIdentifier = event.getIdentifier(); for (OrganizationalUnit organizationalUnit : getAllOrganizationalUnits()) { final boolean userRemoved = organizationalUnit.getContributors().removeIf(c -> c.getUsername().equals(removedUserIdentifier)); if (userRemoved) { updateOrganizationalUnit(organizationalUnit.getName(), organizationalUnit.getDefaultGroupId(), organizationalUnit.getContributors()); } for (Repository repository : organizationalUnit.getRepositories()) { final List<Contributor> updatedRepositoryContributors = new ArrayList<>(repository.getContributors()); final boolean repositoryContributorRemoved = updatedRepositoryContributors.removeIf(c -> c.getUsername().equals(removedUserIdentifier)); if (repositoryContributorRemoved) { repositoryService.updateContributors(repository, updatedRepositoryContributors); } } } }
@Test public void saveContributorsTest() { final Repository repository = mock(Repository.class); doReturn(repository).when(repositoryService).getRepositoryFromSpace(any(), any()); final List<Contributor> contributors = new ArrayList<>(); contributors.add(new Contributor("owner", ContributorType.OWNER)); contributors.add(new Contributor("contributor", ContributorType.CONTRIBUTOR)); contributors.add(new Contributor("admin", ContributorType.ADMIN)); service.saveContributors(contributors, () -> {}, null); verify(repositoryService).updateContributors(repository, contributors); }
@Override public void saveContributors(final List<Contributor> contributors, final Runnable successCallback, final ErrorCallback<Message> errorCallback) { repositoryService.call((Repository repository) -> { repositoryService.call((Void) -> successCallback.run(), errorCallback).updateContributors(repository, contributors); }).getRepositoryFromSpace(libraryPlaces.getActiveSpace().getSpace(), libraryPlaces.getActiveWorkspace().getRepository().getAlias()); }