import javax.annotation.CheckForNull;
+import java.util.Collection;
import java.util.List;
import java.util.Map;
UserSession userSession = UserSession.get();
List<Component> result = Lists.newArrayList();
- for (String key: authorizationDao.keepAuthorizedComponentKeys(
- componentsByKeys.keySet(), userSession.userId(), UserRole.USER
- )) {
- result.add(componentsByKeys.get(key));
+ Collection<String> authorizedProjectKeys = authorizationDao.selectAuthorizedRootProjectsKeys(userSession.userId(), UserRole.USER);
+ for (String key: componentsByKeys.keySet()) {
+ if (authorizedProjectKeys.contains(key)) {
+ result.add(componentsByKeys.get(key));
+ }
}
return result;
import static com.google.common.collect.Lists.newArrayList;
import static org.fest.assertions.Assertions.assertThat;
import static org.fest.assertions.Fail.fail;
-import static org.mockito.Matchers.anySet;
-import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
new ComponentDto().setId(1L).setKey(key1).setName("SonarQube One"),
new ComponentDto().setId(1L).setKey(key2).setName("SonarQube Two")));
- when(authorizationDao.keepAuthorizedComponentKeys(anySet(), eq(userId), eq(UserRole.USER))).thenReturn(Sets.newHashSet(key1));
+ when(authorizationDao.selectAuthorizedRootProjectsKeys(userId, UserRole.USER)).thenReturn(Sets.newHashSet(key1));
assertThat(lookup.projects(1)).hasSize(1);
}