Merge "bazel: remove duplicate entry for lucene_misc."
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java
index 620b9ea..f98e588 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java
@@ -45,12 +45,9 @@
import java.sql.Timestamp;
import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.stream.StreamSupport;
@NoHttpd
public class GroupsIT extends AbstractDaemonTest {
@@ -399,12 +396,10 @@
@Test
public void testListAllGroups() throws Exception {
- List<String> expectedGroups =
- StreamSupport.stream(groupCache.all().spliterator(), false)
+ List<String> expectedGroups = groupCache.all().stream()
.map(a -> a.getName())
+ .sorted()
.collect(toList());
- Collections.sort(expectedGroups, Comparator.naturalOrder());
-
assertThat(expectedGroups.size()).isAtLeast(2);
assertThat(gApi.groups().list().getAsMap().keySet())
.containsExactlyElementsIn(expectedGroups).inOrder();
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java
index ce7e8c9..a252aeb 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java
@@ -66,7 +66,6 @@
@GerritConfig(name = "gerrit.allProjects", value = "Root"),
@GerritConfig(name = "gerrit.allUsers", value = "Users"),
@GerritConfig(name = "gerrit.enableGwtUi", value = "true"),
- @GerritConfig(name = "gerrit.enablePolyGerrit", value = "true"),
@GerritConfig(name = "gerrit.reportBugText", value = "REPORT BUG"),
@GerritConfig(name = "gerrit.reportBugUrl", value = "https://example.com/report"),
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCache.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCache.java
index c7a2241..3d966d2 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCache.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCache.java
@@ -14,6 +14,7 @@
package com.google.gerrit.server.account;
+import com.google.common.collect.ImmutableList;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.reviewdb.client.AccountGroup;
@@ -31,8 +32,8 @@
@Nullable
AccountGroup get(AccountGroup.UUID uuid);
- /** @return sorted iteration of groups. */
- Iterable<AccountGroup> all();
+ /** @return sorted list of groups. */
+ ImmutableList<AccountGroup> all();
/** Notify the cache that a new group was constructed. */
void onCreateGroup(AccountGroup.NameKey newGroupName);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCacheImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCacheImpl.java
index a2f4b65..4f5cc2b 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCacheImpl.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCacheImpl.java
@@ -16,6 +16,7 @@
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
+import com.google.common.collect.ImmutableList;
import com.google.gerrit.reviewdb.client.AccountGroup;
import com.google.gerrit.reviewdb.client.AccountGroupName;
import com.google.gerrit.reviewdb.server.ReviewDb;
@@ -32,7 +33,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
@@ -151,12 +151,12 @@
}
@Override
- public Iterable<AccountGroup> all() {
+ public ImmutableList<AccountGroup> all() {
try (ReviewDb db = schema.open()) {
- return Collections.unmodifiableList(db.accountGroups().all().toList());
+ return ImmutableList.copyOf(db.accountGroups().all());
} catch (OrmException e) {
log.warn("Cannot list internal groups", e);
- return Collections.emptyList();
+ return ImmutableList.of();
}
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/InternalGroupBackend.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/InternalGroupBackend.java
index 84660ec..2028654 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/InternalGroupBackend.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/InternalGroupBackend.java
@@ -28,7 +28,6 @@
import org.eclipse.jgit.lib.ObjectId;
import java.util.Collection;
-import java.util.stream.StreamSupport;
/** Implementation of GroupBackend for the internal group system. */
@Singleton
@@ -68,7 +67,7 @@
@Override
public Collection<GroupReference> suggest(final String name,
final ProjectControl project) {
- return StreamSupport.stream(groupCache.all().spliterator(), false)
+ return groupCache.all().stream()
.filter(group ->
// startsWithIgnoreCase && isVisible
group.getName().regionMatches(true, 0, name, 0, name.length())
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritOptions.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritOptions.java
index c181f79..ab4b463 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritOptions.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritOptions.java
@@ -33,7 +33,7 @@
boolean forcePolyGerritDev) {
this.slave = slave;
this.enablePolyGerrit = forcePolyGerritDev
- || cfg.getBoolean("gerrit", null, "enablePolyGerrit", false);
+ || cfg.getBoolean("gerrit", null, "enablePolyGerrit", true);
this.enableGwtUi = cfg.getBoolean("gerrit", null, "enableGwtUi", true);
this.forcePolyGerritDev = forcePolyGerritDev;
this.headless = headless || (!enableGwtUi && !enablePolyGerrit);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/ListGroups.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/ListGroups.java
index d23cac4..85c3d15 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/group/ListGroups.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/ListGroups.java
@@ -45,6 +45,7 @@
import org.kohsuke.args4j.Option;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
@@ -314,11 +315,11 @@
return groups;
}
- private List<AccountGroup> filterGroups(final Iterable<AccountGroup> groups) {
- final List<AccountGroup> filteredGroups = new ArrayList<>();
- final boolean isAdmin =
+ private List<AccountGroup> filterGroups(Collection<AccountGroup> groups) {
+ List<AccountGroup> filteredGroups = new ArrayList<>(groups.size());
+ boolean isAdmin =
identifiedUser.get().getCapabilities().canAdministrateServer();
- for (final AccountGroup group : groups) {
+ for (AccountGroup group : groups) {
if (!Strings.isNullOrEmpty(matchSubstring)) {
if (!group.getName().toLowerCase(Locale.US)
.contains(matchSubstring.toLowerCase(Locale.US))) {
@@ -326,7 +327,7 @@
}
}
if (!isAdmin) {
- final GroupControl c = groupControlFactory.controlFor(group);
+ GroupControl c = groupControlFactory.controlFor(group);
if (!c.isVisible()) {
continue;
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java
index eaec021..3387f06 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java
@@ -17,11 +17,10 @@
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Preconditions.checkState;
import static com.google.gerrit.server.ApprovalsUtil.sortApprovals;
+import static java.util.stream.Collectors.toList;
import com.google.auto.value.AutoValue;
import com.google.common.base.MoreObjects;
-import com.google.common.base.Predicate;
-import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.ImmutableMultimap;
@@ -94,6 +93,8 @@
import java.util.Map;
import java.util.Optional;
import java.util.Set;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
public class ChangeData {
private static final int BATCH_SIZE = 50;
@@ -108,12 +109,8 @@
}
public static Map<Change.Id, ChangeData> asMap(List<ChangeData> changes) {
- Map<Change.Id, ChangeData> result =
- Maps.newHashMapWithExpectedSize(changes.size());
- for (ChangeData cd : changes) {
- result.put(cd.getId(), cd);
- }
- return result;
+ return changes.stream().collect(
+ Collectors.toMap(ChangeData::getId, cd -> cd));
}
public static void ensureChangeLoaded(Iterable<ChangeData> changes)
@@ -898,14 +895,14 @@
* @throws OrmException an error occurred reading the database.
*/
public Collection<PatchSet> visiblePatchSets() throws OrmException {
- Predicate<PatchSet> predicate = ps -> {
+ Predicate<? super PatchSet> predicate = ps -> {
try {
return changeControl().isPatchVisible(ps, db);
} catch (OrmException e) {
return false;
}
};
- return FluentIterable.from(patchSets()).filter(predicate).toList();
+ return patchSets().stream().filter(predicate).collect(toList());
}
public void setPatchSets(Collection<PatchSet> patchSets) {
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/query/account/AbstractQueryAccountsTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/query/account/AbstractQueryAccountsTest.java
index 5686dc3..1ff5aac 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/server/query/account/AbstractQueryAccountsTest.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/server/query/account/AbstractQueryAccountsTest.java
@@ -36,6 +36,8 @@
import com.google.gerrit.server.account.AuthRequest;
import com.google.gerrit.server.query.change.InternalChangeQuery;
import com.google.gerrit.server.schema.SchemaCreator;
+import com.google.gerrit.server.util.ManualRequestContext;
+import com.google.gerrit.server.util.OneOffRequestContext;
import com.google.gerrit.server.util.RequestContext;
import com.google.gerrit.server.util.ThreadLocalRequestContext;
import com.google.gerrit.testutil.ConfigSuite;
@@ -97,6 +99,9 @@
@Inject
protected ThreadLocalRequestContext requestContext;
+ @Inject
+ protected OneOffRequestContext oneOffRequestContext;
+
protected LifecycleManager lifecycle;
protected ReviewDb db;
protected AccountInfo currentUserInfo;
@@ -405,18 +410,20 @@
private Account.Id createAccount(String username, String fullName,
String email, boolean active) throws Exception {
- Account.Id id =
- accountManager.authenticate(AuthRequest.forUser(username)).getAccountId();
- if (email != null) {
- accountManager.link(id, AuthRequest.forEmail(email));
+ try (ManualRequestContext ctx = oneOffRequestContext.open()) {
+ Account.Id id =
+ accountManager.authenticate(AuthRequest.forUser(username)).getAccountId();
+ if (email != null) {
+ accountManager.link(id, AuthRequest.forEmail(email));
+ }
+ Account a = db.accounts().get(id);
+ a.setFullName(fullName);
+ a.setPreferredEmail(email);
+ a.setActive(active);
+ db.accounts().update(ImmutableList.of(a));
+ accountCache.evict(id);
+ return id;
}
- Account a = db.accounts().get(id);
- a.setFullName(fullName);
- a.setPreferredEmail(email);
- a.setActive(active);
- db.accounts().update(ImmutableList.of(a));
- accountCache.evict(id);
- return id;
}
private void addEmails(AccountInfo account, String... emails)