diff --git a/gerrit-server/src/main/java/com/google/gerrit/metrics/Field.java b/gerrit-server/src/main/java/com/google/gerrit/metrics/Field.java index 364f4f871e..95fbf04afb 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/metrics/Field.java +++ b/gerrit-server/src/main/java/com/google/gerrit/metrics/Field.java @@ -161,17 +161,10 @@ public class Field { private static Function initFormatter(Class keyType) { if (keyType == String.class) { return (Function) Functions. identity(); - } else if (keyType == Integer.class || keyType == Boolean.class) { return (Function) Functions.toStringFunction(); - } else if (Enum.class.isAssignableFrom(keyType)) { - return new Function() { - @Override - public String apply(T in) { - return ((Enum) in).name(); - } - }; + return in -> ((Enum) in).name(); } throw new IllegalStateException("unsupported type " + keyType.getName()); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedCallback.java b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedCallback.java index e7ab75cd51..d3fe6edeb9 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedCallback.java +++ b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedCallback.java @@ -14,7 +14,6 @@ package com.google.gerrit.metrics.dropwizard; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.gerrit.metrics.Description; @@ -124,14 +123,7 @@ abstract class BucketedCallback implements BucketedMetric { @Override public Map getCells() { - return Maps.transformValues( - cells, - new Function () { - @Override - public Metric apply(ValueGauge in) { - return in; - } - }); + return Maps.transformValues(cells, in -> (Metric) in); } final class ValueGauge implements Gauge { diff --git a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedCounter.java b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedCounter.java index 10b92e6171..7894a84338 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedCounter.java +++ b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedCounter.java @@ -14,7 +14,6 @@ package com.google.gerrit.metrics.dropwizard; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.gerrit.metrics.Description; @@ -98,13 +97,6 @@ abstract class BucketedCounter implements BucketedMetric { @Override public Map getCells() { - return Maps.transformValues( - cells, - new Function () { - @Override - public Metric apply(CounterImpl in) { - return in.metric; - } - }); + return Maps.transformValues(cells, c -> c.metric); } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedHistogram.java b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedHistogram.java index 071c678559..ff38cd428f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedHistogram.java +++ b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedHistogram.java @@ -14,7 +14,6 @@ package com.google.gerrit.metrics.dropwizard; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.gerrit.metrics.Description; @@ -96,13 +95,6 @@ abstract class BucketedHistogram implements BucketedMetric { @Override public Map getCells() { - return Maps.transformValues( - cells, - new Function () { - @Override - public Metric apply(HistogramImpl in) { - return in.metric; - } - }); + return Maps.transformValues(cells, h -> h.metric); } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedTimer.java b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedTimer.java index 6981ef1475..aff6c4a868 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedTimer.java +++ b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/BucketedTimer.java @@ -14,7 +14,6 @@ package com.google.gerrit.metrics.dropwizard; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.gerrit.metrics.Description; @@ -96,13 +95,6 @@ abstract class BucketedTimer implements BucketedMetric { @Override public Map getCells() { - return Maps.transformValues( - cells, - new Function () { - @Override - public Metric apply(TimerImpl in) { - return in.metric; - } - }); + return Maps.transformValues(cells, t -> t.metric); } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/DropWizardMetricMaker.java b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/DropWizardMetricMaker.java index e159c82656..ee2ce29a07 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/DropWizardMetricMaker.java +++ b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/DropWizardMetricMaker.java @@ -18,7 +18,6 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.gerrit.metrics.dropwizard.MetricResource.METRIC_KIND; import static com.google.gerrit.server.config.ConfigResource.CONFIG_KIND; -import com.google.common.base.Function; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -304,14 +303,8 @@ public class DropWizardMetricMaker extends MetricMaker { @Override public synchronized RegistrationHandle newTrigger( Set> metrics, Runnable trigger) { - final ImmutableSet all = FluentIterable.from(metrics) - .transform( - new Function, CallbackMetricGlue>() { - @Override - public CallbackMetricGlue apply(CallbackMetric input) { - return (CallbackMetricGlue) input; - } - }) + ImmutableSet all = FluentIterable.from(metrics) + .transform(m -> (CallbackMetricGlue) m) .toSet(); trigger = new CallbackGroup(trigger, all); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalsUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalsUtil.java index 5c0723a3f3..bbc7ced973 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalsUtil.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalsUtil.java @@ -16,9 +16,9 @@ package com.google.gerrit.server; import static com.google.gerrit.server.notedb.ReviewerStateInternal.CC; import static com.google.gerrit.server.notedb.ReviewerStateInternal.REVIEWER; +import static java.util.Comparator.comparing; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableListMultimap; @@ -52,7 +52,6 @@ import com.google.inject.Singleton; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -81,14 +80,7 @@ public class ApprovalsUtil { LoggerFactory.getLogger(ApprovalsUtil.class); private static final Ordering SORT_APPROVALS = - Ordering.natural() - .onResultOf( - new Function() { - @Override - public Timestamp apply(PatchSetApproval a) { - return a.getGranted(); - } - }); + Ordering.from(comparing(PatchSetApproval::getGranted)); public static List sortApprovals( Iterable approvals) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountResolver.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountResolver.java index 5a182696a9..b400eb779a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountResolver.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountResolver.java @@ -14,8 +14,8 @@ package com.google.gerrit.server.account; -import com.google.common.base.Function; -import com.google.common.collect.FluentIterable; +import static java.util.stream.Collectors.toSet; + import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.client.AccountExternalId; import com.google.gerrit.reviewdb.server.ReviewDb; @@ -191,14 +191,9 @@ public class AccountResolver { // At this point we have no clue. Just perform a whole bunch of suggestions // and pray we come up with a reasonable result list. - return FluentIterable - .from(accountQueryProvider.get().byDefault(nameOrEmail)) - .transform(new Function() { - @Override - public Account.Id apply(AccountState accountState) { - return accountState.getAccount().getId(); - } - }).toSet(); + return accountQueryProvider.get().byDefault(nameOrEmail).stream() + .map(a -> a.getAccount().getId()) + .collect(toSet()); } List m = db.accounts().byFullName(nameOrEmail).toList(); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountState.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountState.java index 05a7179c7a..ed99266f8d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountState.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountState.java @@ -36,12 +36,7 @@ import java.util.Set; public class AccountState { public static final Function ACCOUNT_ID_FUNCTION = - new Function() { - @Override - public Account.Id apply(AccountState in) { - return in.getAccount().getId(); - } - }; + a -> a.getAccount().getId(); private final Account account; private final Set internalGroups; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/CapabilityControl.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/CapabilityControl.java index e348e73752..d86d27cd55 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/CapabilityControl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/CapabilityControl.java @@ -14,15 +14,14 @@ package com.google.gerrit.server.account; -import com.google.common.base.Function; +import static com.google.common.base.Predicates.not; + import com.google.common.base.Predicate; -import com.google.common.base.Predicates; -import com.google.common.collect.Iterables; +import com.google.common.collect.FluentIterable; import com.google.gerrit.common.data.GlobalCapability; import com.google.gerrit.common.data.PermissionRange; import com.google.gerrit.common.data.PermissionRule; import com.google.gerrit.common.data.PermissionRule.Action; -import com.google.gerrit.reviewdb.client.AccountGroup; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.PeerDaemonUser; import com.google.gerrit.server.git.QueueProvider; @@ -32,6 +31,7 @@ import com.google.inject.Inject; import com.google.inject.assistedinject.Assisted; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -98,7 +98,7 @@ public class CapabilityControl { if (canEmailReviewers == null) { canEmailReviewers = matchAny(capabilities.emailReviewers, ALLOWED_RULE) - || !matchAny(capabilities.emailReviewers, Predicates.not(ALLOWED_RULE)); + || !matchAny(capabilities.emailReviewers, not(ALLOWED_RULE)); } return canEmailReviewers; @@ -279,23 +279,16 @@ public class CapabilityControl { return mine; } - private static final Predicate ALLOWED_RULE = new Predicate() { - @Override - public boolean apply(PermissionRule rule) { - return rule.getAction() == Action.ALLOW; - } - }; + private static final Predicate ALLOWED_RULE = + r -> r.getAction() == Action.ALLOW; - private boolean matchAny(Iterable rules, Predicate predicate) { - Iterable ids = Iterables.transform( - Iterables.filter(rules, predicate), - new Function() { - @Override - public AccountGroup.UUID apply(PermissionRule rule) { - return rule.getGroup().getUUID(); - } - }); - return user.getEffectiveGroups().containsAnyOf(ids); + private boolean matchAny(Collection rules, + Predicate predicate) { + return user.getEffectiveGroups() + .containsAnyOf( + FluentIterable.from(rules) + .filter(predicate) + .transform(r -> r.getGroup().getUUID())); } private static boolean match(GroupMembership groups, diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteWatchedProjects.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteWatchedProjects.java index e2fbc3c39c..0e9bc2e3b3 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteWatchedProjects.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteWatchedProjects.java @@ -14,8 +14,8 @@ package com.google.gerrit.server.account; -import com.google.common.base.Function; -import com.google.common.collect.Lists; +import static java.util.stream.Collectors.toList; + import com.google.gerrit.extensions.client.ProjectWatchInfo; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.Response; @@ -105,13 +105,10 @@ public class DeleteWatchedProjects private void deleteFromGit(Account.Id accountId, List input) throws IOException, ConfigInvalidException { - watchConfig.deleteProjectWatches(accountId, Lists.transform(input, - new Function() { - @Override - public ProjectWatchKey apply(ProjectWatchInfo info) { - return ProjectWatchKey.create(new Project.NameKey(info.project), - info.filter); - } - })); + watchConfig.deleteProjectWatches( + accountId, + input.stream().map(w -> ProjectWatchKey.create( + new Project.NameKey(w.project), w.filter)) + .collect(toList())); } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java index bf1a3afd16..df125e05bb 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetSshKeys.java @@ -14,7 +14,6 @@ package com.google.gerrit.server.account; -import com.google.common.base.Function; import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.gerrit.extensions.common.SshKeyInfo; @@ -60,13 +59,9 @@ public class GetSshKeys implements RestReadView { public List apply(IdentifiedUser user) throws RepositoryNotFoundException, IOException, ConfigInvalidException { - return Lists.transform(authorizedKeys.getKeys(user.getAccountId()), - new Function() { - @Override - public SshKeyInfo apply(AccountSshKey key) { - return newSshKeyInfo(key); - } - }); + return Lists.transform( + authorizedKeys.getKeys(user.getAccountId()), + GetSshKeys::newSshKeyInfo); } public static SshKeyInfo newSshKeyInfo(AccountSshKey sshKey) { 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 c47d6f8386..84660ece7d 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 @@ -14,10 +14,8 @@ package com.google.gerrit.server.account; -import com.google.common.base.Function; -import com.google.common.base.Predicate; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; +import static java.util.stream.Collectors.toList; + import com.google.gerrit.common.data.GroupDescription; import com.google.gerrit.common.data.GroupDescriptions; import com.google.gerrit.common.data.GroupReference; @@ -30,18 +28,11 @@ import com.google.inject.Singleton; import org.eclipse.jgit.lib.ObjectId; import java.util.Collection; +import java.util.stream.StreamSupport; /** Implementation of GroupBackend for the internal group system. */ @Singleton public class InternalGroupBackend implements GroupBackend { - private static final Function ACT_GROUP_TO_GROUP_REF = - new Function() { - @Override - public GroupReference apply(AccountGroup group) { - return GroupReference.forGroup(group); - } - }; - private final GroupControl.Factory groupControlFactory; private final GroupCache groupCache; private final IncludingGroupMembership.Factory groupMembershipFactory; @@ -77,16 +68,13 @@ public class InternalGroupBackend implements GroupBackend { @Override public Collection suggest(final String name, final ProjectControl project) { - Iterable filtered = Iterables.filter(groupCache.all(), - new Predicate() { - @Override - public boolean apply(AccountGroup group) { + return StreamSupport.stream(groupCache.all().spliterator(), false) + .filter(group -> // startsWithIgnoreCase && isVisible - return group.getName().regionMatches(true, 0, name, 0, name.length()) - && groupControlFactory.controlFor(group).isVisible(); - } - }); - return Lists.newArrayList(Iterables.transform(filtered, ACT_GROUP_TO_GROUP_REF)); + group.getName().regionMatches(true, 0, name, 0, name.length()) + && groupControlFactory.controlFor(group).isVisible()) + .map(GroupReference::forGroup) + .collect(toList()); } @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAuthorizedKeys.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAuthorizedKeys.java index 30a3bdffe8..871b1cd5df 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAuthorizedKeys.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAuthorizedKeys.java @@ -15,8 +15,8 @@ package com.google.gerrit.server.account; import static com.google.common.base.Preconditions.checkState; +import static java.util.Comparator.comparing; -import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.common.base.Strings; import com.google.common.collect.Lists; @@ -278,13 +278,7 @@ public class VersionedAuthorizedKeys extends VersionedMetaData { * @param newKeys the new public SSH keys */ public void setKeys(Collection newKeys) { - Ordering o = - Ordering.natural().onResultOf(new Function() { - @Override - public Integer apply(AccountSshKey sshKey) { - return sshKey.getKey().get(); - } - }); + Ordering o = Ordering.from(comparing(k -> k.getKey().get())); keys = new ArrayList<>(Collections.nCopies(o.max(newKeys).getKey().get(), Optional. absent())); for (AccountSshKey key : newKeys) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java index 14c6da7f3c..4d15a2f9ce 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java @@ -14,11 +14,11 @@ package com.google.gerrit.server.config; +import static java.util.stream.Collectors.toList; + import com.google.common.base.CharMatcher; -import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.common.base.Strings; -import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.gerrit.common.data.ContributorAgreement; import com.google.gerrit.extensions.common.AuthInfo; @@ -225,14 +225,8 @@ public class GetServerInfo implements RestReadView { getDownloadSchemeInfo(scheme, downloadCommands, cloneCommands)); } } - info.archives = Lists.newArrayList(Iterables.transform( - archiveFormats.getAllowed(), - new Function() { - @Override - public String apply(ArchiveFormat in) { - return in.getShortName(); - } - })); + info.archives = archiveFormats.getAllowed().stream() + .map(ArchiveFormat::getShortName).collect(toList()); return info; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/ProjectConfigEntry.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/ProjectConfigEntry.java index cc7857c80e..7d11ff4958 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/ProjectConfigEntry.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/ProjectConfigEntry.java @@ -14,8 +14,8 @@ package com.google.gerrit.server.config; -import com.google.common.base.Function; -import com.google.common.collect.Lists; +import static java.util.stream.Collectors.toList; + import com.google.gerrit.extensions.annotations.ExtensionPoint; import com.google.gerrit.extensions.api.projects.ConfigValue; import com.google.gerrit.extensions.api.projects.ProjectConfigEntryType; @@ -137,14 +137,9 @@ public class ProjectConfigEntry { T defaultValue, Class permittedValues, boolean inheritable, String description) { this(displayName, defaultValue.name(), ProjectConfigEntryType.LIST, - Lists.transform( - Arrays.asList(permittedValues.getEnumConstants()), - new Function, String>() { - @Override - public String apply(Enum e) { - return e.name(); - } - }), inheritable, description); + Arrays.stream(permittedValues.getEnumConstants()) + .map(Enum::name).collect(toList()), + inheritable, description); } public ProjectConfigEntry(String displayName, String defaultValue, diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/ReviewerAdded.java b/gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/ReviewerAdded.java index 35b14dc78c..9dbbeefd80 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/ReviewerAdded.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/ReviewerAdded.java @@ -14,7 +14,6 @@ package com.google.gerrit.server.extensions.events; -import com.google.common.base.Function; import com.google.common.collect.Lists; import com.google.gerrit.extensions.api.changes.NotifyHandling; import com.google.gerrit.extensions.common.AccountInfo; @@ -72,18 +71,10 @@ public class ReviewerAdded { return; } - List transformed = Lists.transform(reviewers, - new Function() { - @Override - public AccountInfo apply(Account.Id account) { - return util.accountInfo(account); - } - }); - try { fire(util.changeInfo(change), util.revisionInfo(change.getProject(), patchSet), - transformed, + Lists.transform(reviewers, util::accountInfo), util.accountInfo(adder), when); } catch (PatchListNotAvailableException | GpgException | IOException diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/extensions/webui/UiActions.java b/gerrit-server/src/main/java/com/google/gerrit/server/extensions/webui/UiActions.java index 601bcc6496..3dbd1e389d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/extensions/webui/UiActions.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/extensions/webui/UiActions.java @@ -14,11 +14,8 @@ package com.google.gerrit.server.extensions.webui; -import com.google.common.base.Function; import com.google.common.base.Predicate; -import com.google.common.base.Predicates; -import com.google.common.collect.Iterables; -import com.google.gerrit.common.Nullable; +import com.google.common.collect.FluentIterable; import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.RestCollection; @@ -33,16 +30,13 @@ import com.google.inject.Provider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; + public class UiActions { private static final Logger log = LoggerFactory.getLogger(UiActions.class); public static Predicate enabled() { - return new Predicate() { - @Override - public boolean apply(UiAction.Description input) { - return input.isEnabled(); - } - }; + return UiAction.Description::isEnabled; } public static Iterable from( @@ -56,58 +50,52 @@ public class UiActions { DynamicMap> views, final R resource, final Provider userProvider) { - return Iterables.filter( - Iterables.transform( - views, - new Function>, UiAction.Description> () { - @Override - @Nullable - public UiAction.Description apply(DynamicMap.Entry> e) { - int d = e.getExportName().indexOf('.'); - if (d < 0) { - return null; - } + return FluentIterable.from(views) + .transform((DynamicMap.Entry> e) -> { + int d = e.getExportName().indexOf('.'); + if (d < 0) { + return null; + } - RestView view; - try { - view = e.getProvider().get(); - } catch (RuntimeException err) { - log.error(String.format( - "error creating view %s.%s", - e.getPluginName(), e.getExportName()), err); - return null; - } + RestView view; + try { + view = e.getProvider().get(); + } catch (RuntimeException err) { + log.error(String.format( + "error creating view %s.%s", + e.getPluginName(), e.getExportName()), err); + return null; + } - if (!(view instanceof UiAction)) { - return null; - } + if (!(view instanceof UiAction)) { + return null; + } - try { - CapabilityUtils.checkRequiresCapability(userProvider, - e.getPluginName(), view.getClass()); - } catch (AuthException exc) { - return null; - } + try { + CapabilityUtils.checkRequiresCapability(userProvider, + e.getPluginName(), view.getClass()); + } catch (AuthException exc) { + return null; + } - UiAction.Description dsc = - ((UiAction) view).getDescription(resource); - if (dsc == null || !dsc.isVisible()) { - return null; - } + UiAction.Description dsc = + ((UiAction) view).getDescription(resource); + if (dsc == null || !dsc.isVisible()) { + return null; + } - String name = e.getExportName().substring(d + 1); - PrivateInternals_UiActionDescription.setMethod( - dsc, - e.getExportName().substring(0, d)); - PrivateInternals_UiActionDescription.setId( - dsc, - "gerrit".equals(e.getPluginName()) - ? name - : e.getPluginName() + '~' + name); - return dsc; - } - }), - Predicates.notNull()); + String name = e.getExportName().substring(d + 1); + PrivateInternals_UiActionDescription.setMethod( + dsc, + e.getExportName().substring(0, d)); + PrivateInternals_UiActionDescription.setId( + dsc, + "gerrit".equals(e.getPluginName()) + ? name + : e.getPluginName() + '~' + name); + return dsc; + }) + .filter(Objects::nonNull); } private UiActions() { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeBundle.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeBundle.java index a8696a7cd8..9228770286 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeBundle.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeBundle.java @@ -345,54 +345,36 @@ public class ChangeBundle { private Map filterPatchSetApprovals() { - return limitToValidPatchSets(patchSetApprovals, - new Function() { - @Override - public PatchSet.Id apply(PatchSetApproval.Key in) { - return in.getParentKey(); - } - }); + return limitToValidPatchSets( + patchSetApprovals, PatchSetApproval.Key::getParentKey); } private Map filterPatchLineComments() { - return limitToValidPatchSets(patchLineComments, - new Function() { - @Override - public PatchSet.Id apply(PatchLineComment.Key in) { - return in.getParentKey().getParentKey(); - } - }); + return limitToValidPatchSets( + patchLineComments, + k -> k.getParentKey().getParentKey()); } private Map limitToValidPatchSets(Map in, - final Function func) { + Function func) { return Maps.filterKeys( in, Predicates.compose(validPatchSetPredicate(), func)); } private Predicate validPatchSetPredicate() { - final Predicate upToCurrent = upToCurrentPredicate(); - return new Predicate() { - @Override - public boolean apply(PatchSet.Id in) { - return upToCurrent.apply(in) && patchSets.containsKey(in); - } - }; + Predicate upToCurrent = upToCurrentPredicate(); + return p -> upToCurrent.apply(p) && patchSets.containsKey(p); } private Collection filterChangeMessages() { final Predicate validPatchSet = validPatchSetPredicate(); - return Collections2.filter(changeMessages, - new Predicate() { - @Override - public boolean apply(ChangeMessage in) { - PatchSet.Id psId = in.getPatchSetId(); - if (psId == null) { - return true; - } - return validPatchSet.apply(psId); + return Collections2.filter(changeMessages, m -> { + PatchSet.Id psId = m.getPatchSetId(); + if (psId == null) { + return true; } + return validPatchSet.apply(psId); }); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java index 42e4bc763a..a5c4324a81 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java @@ -19,9 +19,9 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; import static com.google.gerrit.reviewdb.client.RefNames.changeMetaRef; import static com.google.gerrit.server.notedb.NoteDbTable.CHANGES; +import static java.util.Comparator.comparing; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ImmutableList; @@ -70,7 +70,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; -import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; @@ -84,22 +83,10 @@ public class ChangeNotes extends AbstractChangeNotes { private static final Logger log = LoggerFactory.getLogger(ChangeNotes.class); static final Ordering PSA_BY_TIME = - Ordering.natural().onResultOf( - new Function() { - @Override - public Timestamp apply(PatchSetApproval input) { - return input.getGranted(); - } - }); + Ordering.from(comparing(PatchSetApproval::getGranted)); public static final Ordering MESSAGE_BY_TIME = - Ordering.natural().onResultOf( - new Function() { - @Override - public Timestamp apply(ChangeMessage input) { - return input.getWrittenOn(); - } - }); + Ordering.from(comparing(ChangeMessage::getWrittenOn)); public static ConfigInvalidException parseException(Change.Id changeId, String fmt, Object... args) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotesParser.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotesParser.java index c00121033a..8bf8ca1de4 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotesParser.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotesParser.java @@ -30,11 +30,10 @@ import static com.google.gerrit.server.notedb.ChangeNoteUtil.FOOTER_TAG; import static com.google.gerrit.server.notedb.ChangeNoteUtil.FOOTER_TOPIC; import static com.google.gerrit.server.notedb.NoteDbTable.CHANGES; import static java.util.Comparator.comparing; +import static java.util.stream.Collectors.joining; import com.google.auto.value.AutoValue; import com.google.common.base.Enums; -import com.google.common.base.Function; -import com.google.common.base.Joiner; import com.google.common.base.Optional; import com.google.common.base.Splitter; import com.google.common.collect.ArrayListMultimap; @@ -883,13 +882,8 @@ class ChangeNotesParser { missing.add(FOOTER_SUBJECT); } if (!missing.isEmpty()) { - throw parseException("Missing footers: " + Joiner.on(", ") - .join(Lists.transform(missing, new Function() { - @Override - public String apply(FooterKey input) { - return input.getName(); - } - }))); + throw parseException("Missing footers: " + + missing.stream().map(FooterKey::getName).collect(joining(", "))); } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/RevisionNoteBuilder.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/RevisionNoteBuilder.java index af463d7d40..be0a689911 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/RevisionNoteBuilder.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/RevisionNoteBuilder.java @@ -17,10 +17,9 @@ package com.google.gerrit.server.notedb; import static com.google.common.base.Preconditions.checkArgument; import static com.google.gerrit.server.PatchLineCommentsUtil.PLC_ORDER; import static java.nio.charset.StandardCharsets.UTF_8; +import static java.util.stream.Collectors.toList; -import com.google.common.base.Function; import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.FluentIterable; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.google.gerrit.reviewdb.client.PatchLineComment; @@ -134,13 +133,10 @@ class RevisionNoteBuilder { } RevisionNoteData data = new RevisionNoteData(); - data.comments = FluentIterable.from(PLC_ORDER.sortedCopy(comments.values())) - .transform(new Function() { - @Override - public RevisionNoteData.Comment apply(PatchLineComment plc) { - return new RevisionNoteData.Comment(plc, noteUtil.getServerId()); - } - }).toList(); + data.comments = comments.values().stream() + .sorted(PLC_ORDER) + .map(plc -> new RevisionNoteData.Comment(plc, noteUtil.getServerId())) + .collect(toList()); data.pushCert = pushCert; try (OutputStreamWriter osw = new OutputStreamWriter(out)) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/RevisionNoteData.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/RevisionNoteData.java index f4c7d8ae32..ce0831c564 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/RevisionNoteData.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/RevisionNoteData.java @@ -14,9 +14,9 @@ package com.google.gerrit.server.notedb; -import com.google.common.base.Function; +import static java.util.stream.Collectors.toList; + import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.Patch; @@ -134,15 +134,15 @@ class RevisionNoteData { List comments; ImmutableList exportComments( - final PatchLineComment.Status status) { + PatchLineComment.Status status) { return ImmutableList.copyOf( - Lists.transform(comments, new Function() { - @Override - public PatchLineComment apply(Comment c) { - PatchLineComment plc = c.export(); - plc.setStatus(status); - return plc; - } - })); + comments.stream() + .map( + c -> { + PatchLineComment plc = c.export(); + plc.setStatus(status); + return plc; + }) + .collect(toList())); } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListLoader.java b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListLoader.java index 2fa43bb0fd..0ae9a99ffb 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListLoader.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListLoader.java @@ -16,12 +16,12 @@ package com.google.gerrit.server.patch; import static com.google.common.base.Preconditions.checkArgument; + import static java.nio.charset.StandardCharsets.UTF_8; +import static java.util.stream.Collectors.toSet; import static org.eclipse.jgit.lib.Constants.OBJ_BLOB; -import com.google.common.base.Function; import com.google.common.base.Throwables; -import com.google.common.collect.FluentIterable; import com.google.gerrit.extensions.client.DiffPreferencesInfo.Whitespace; import com.google.gerrit.reviewdb.client.Patch; import com.google.gerrit.reviewdb.client.Project; @@ -70,6 +70,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import java.util.stream.Stream; public class PatchListLoader implements Callable { static final Logger log = LoggerFactory.getLogger(PatchListLoader.class); @@ -179,16 +180,11 @@ public class PatchListLoader implements Callable { key.getNewId(), key.getWhitespace()); PatchListKey oldKey = PatchListKey.againstDefaultBase( key.getOldId(), key.getWhitespace()); - paths = FluentIterable - .from(patchListCache.get(newKey, project).getPatches()) - .append(patchListCache.get(oldKey, project).getPatches()) - .transform(new Function() { - @Override - public String apply(PatchListEntry entry) { - return entry.getNewName(); - } - }) - .toSet(); + paths = Stream.concat( + patchListCache.get(newKey, project).getPatches().stream(), + patchListCache.get(oldKey, project).getPatches().stream()) + .map(PatchListEntry::getNewName) + .collect(toSet()); } int cnt = diffEntries.size(); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/BanCommit.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/BanCommit.java index f0c2b78250..ce97a837df 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/BanCommit.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/BanCommit.java @@ -14,7 +14,6 @@ package com.google.gerrit.server.project; -import com.google.common.base.Function; import com.google.common.collect.Lists; import com.google.gerrit.common.errors.PermissionDeniedException; import com.google.gerrit.extensions.restapi.AuthException; @@ -91,14 +90,7 @@ public class BanCommit implements RestModifyView { if (commits == null || commits.isEmpty()) { return null; } - - return Lists.transform(commits, - new Function() { - @Override - public String apply(ObjectId id) { - return id.getName(); - } - }); + return Lists.transform(commits, ObjectId::getName); } public static class BanResultInfo { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/GetReflog.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/GetReflog.java index 1735c3dc49..8718a9b1f0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/GetReflog.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/GetReflog.java @@ -14,7 +14,6 @@ package com.google.gerrit.server.project; -import com.google.common.base.Function; import com.google.common.collect.Lists; import com.google.gerrit.extensions.common.GitPerson; import com.google.gerrit.extensions.restapi.AuthException; @@ -102,12 +101,7 @@ public class GetReflog implements RestReadView { } } } - return Lists.transform(entries, new Function() { - @Override - public ReflogEntryInfo apply(ReflogEntry e) { - return new ReflogEntryInfo(e); - } - }); + return Lists.transform(entries, ReflogEntryInfo::new); } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectState.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectState.java index 68d236edd5..bb6c62f7a0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectState.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectState.java @@ -17,7 +17,6 @@ package com.google.gerrit.server.project; import static com.google.gerrit.common.data.PermissionRule.Action.ALLOW; import static java.nio.charset.StandardCharsets.UTF_8; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -72,6 +71,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.function.Function; /** Cached information on a project. */ public class ProjectState { @@ -378,75 +378,35 @@ public class ProjectState { } public boolean isUseContributorAgreements() { - return getInheritableBoolean(new Function() { - @Override - public InheritableBoolean apply(Project input) { - return input.getUseContributorAgreements(); - } - }); + return getInheritableBoolean(Project::getUseContributorAgreements); } public boolean isUseContentMerge() { - return getInheritableBoolean(new Function() { - @Override - public InheritableBoolean apply(Project input) { - return input.getUseContentMerge(); - } - }); + return getInheritableBoolean(Project::getUseContentMerge); } public boolean isUseSignedOffBy() { - return getInheritableBoolean(new Function() { - @Override - public InheritableBoolean apply(Project input) { - return input.getUseSignedOffBy(); - } - }); + return getInheritableBoolean(Project::getUseSignedOffBy); } public boolean isRequireChangeID() { - return getInheritableBoolean(new Function() { - @Override - public InheritableBoolean apply(Project input) { - return input.getRequireChangeID(); - } - }); + return getInheritableBoolean(Project::getRequireChangeID); } public boolean isCreateNewChangeForAllNotInTarget() { - return getInheritableBoolean(new Function() { - @Override - public InheritableBoolean apply(Project input) { - return input.getCreateNewChangeForAllNotInTarget(); - } - }); + return getInheritableBoolean(Project::getCreateNewChangeForAllNotInTarget); } public boolean isEnableSignedPush() { - return getInheritableBoolean(new Function() { - @Override - public InheritableBoolean apply(Project input) { - return input.getEnableSignedPush(); - } - }); + return getInheritableBoolean(Project::getEnableSignedPush); } public boolean isRequireSignedPush() { - return getInheritableBoolean(new Function() { - @Override - public InheritableBoolean apply(Project input) { - return input.getRequireSignedPush(); - } - }); + return getInheritableBoolean(Project::getRequireSignedPush); } public boolean isRejectImplicitMerges() { - return getInheritableBoolean(new Function() { - @Override - public InheritableBoolean apply(Project input) { - return input.getRejectImplicitMerges(); - } - }); + return getInheritableBoolean(Project::getRejectImplicitMerges); } public LabelTypes getLabelTypes() { @@ -551,7 +511,8 @@ public class ProjectState { return Files.exists(p) ? new String(Files.readAllBytes(p), UTF_8) : null; } - private boolean getInheritableBoolean(Function func) { + private boolean getInheritableBoolean( + Function func) { for (ProjectState s : tree()) { switch (func.apply(s.getProject())) { case TRUE: diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/AndSource.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/AndSource.java index 168be5d784..9f0bf89bb8 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/query/AndSource.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/AndSource.java @@ -16,7 +16,6 @@ package com.google.gerrit.server.query; import static com.google.common.base.Preconditions.checkArgument; -import com.google.common.base.Function; import com.google.common.base.Throwables; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; @@ -157,12 +156,7 @@ public class AndSource extends AndPredicate private Iterable buffer(ResultSet scanner) { return FluentIterable.from(Iterables.partition(scanner, 50)) - .transformAndConcat(new Function, List>() { - @Override - public List apply(List buffer) { - return transformBuffer(buffer); - } - }); + .transformAndConcat(this::transformBuffer); } protected List transformBuffer(List buffer) throws OrmRuntimeException { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/account/AccountQueryBuilder.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/account/AccountQueryBuilder.java index 0288cb2c20..40fb3b623b 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/query/account/AccountQueryBuilder.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/account/AccountQueryBuilder.java @@ -14,7 +14,6 @@ package com.google.gerrit.server.query.account; -import com.google.common.base.Function; import com.google.common.base.Splitter; import com.google.common.collect.Lists; import com.google.common.primitives.Ints; @@ -124,13 +123,9 @@ public class AccountQueryBuilder extends QueryBuilder { public Predicate defaultQuery(String query) { return Predicate.and( - Lists.transform(Splitter.on(' ').omitEmptyStrings().splitToList(query), - new Function>() { - @Override - public Predicate apply(String s) { - return defaultField(s); - } - })); + Lists.transform( + Splitter.on(' ').omitEmptyStrings().splitToList(query), + this::defaultField)); } @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java index d7c7730843..f697d15ddc 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java @@ -16,9 +16,9 @@ package com.google.gerrit.server.query.change; import static com.google.gerrit.reviewdb.client.Change.CHANGE_ID_PATTERN; import static com.google.gerrit.server.query.change.ChangeData.asChanges; +import static java.util.stream.Collectors.toSet; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; @@ -26,7 +26,6 @@ import com.google.common.collect.Lists; import com.google.common.primitives.Ints; import com.google.gerrit.common.data.GroupReference; import com.google.gerrit.common.errors.NotSignedInException; -import com.google.gerrit.extensions.common.AccountInfo; import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.client.AccountGroup; @@ -632,14 +631,9 @@ public class ChangeQueryBuilder extends QueryBuilder { // expand a group predicate into multiple user predicates if (group != null) { Set allMembers = - new HashSet<>(Lists.transform( - args.listMembers.get().setRecursive(true).apply(group), - new Function() { - @Override - public Account.Id apply(AccountInfo accountInfo) { - return new Account.Id(accountInfo._accountId); - } - })); + args.listMembers.get().setRecursive(true).apply(group).stream() + .map(a -> new Account.Id(a._accountId)) + .collect(toSet()); int maxLimit = args.indexConfig.maxLimit(); if (allMembers.size() > maxLimit) { // limit the number of query terms otherwise Gerrit will barf diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/InternalChangeQuery.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/InternalChangeQuery.java index 5b1b1c644f..daf89765d3 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/InternalChangeQuery.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/InternalChangeQuery.java @@ -22,7 +22,6 @@ import static com.google.gerrit.server.query.Predicate.or; import static com.google.gerrit.server.query.change.ChangeStatusPredicate.open; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Function; import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.common.collect.Sets; @@ -191,20 +190,14 @@ public class InternalChangeQuery extends InternalQuery { } } - return Lists.transform(notesFactory.create(db, branch.getParentKey(), - changeIds, new com.google.common.base.Predicate() { - @Override - public boolean apply(ChangeNotes notes) { - Change c = notes.getChange(); + List notes = notesFactory.create( + db, branch.getParentKey(), changeIds, + cn -> { + Change c = cn.getChange(); return c.getDest().equals(branch) && c.getStatus() != Change.Status.MERGED; - } - }), new Function() { - @Override - public ChangeData apply(ChangeNotes notes) { - return changeDataFactory.create(db, notes); - } }); + return Lists.transform(notes, n -> changeDataFactory.create(db, n)); } private Iterable byCommitsOnBranchNotMergedFromIndex( diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/ProjectConfigSchemaUpdate.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/ProjectConfigSchemaUpdate.java index 53ed5ac9d0..2d9714f3cd 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/ProjectConfigSchemaUpdate.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/ProjectConfigSchemaUpdate.java @@ -15,9 +15,8 @@ package com.google.gerrit.server.schema; import static com.google.gerrit.server.git.ProjectConfig.ACCESS; +import static java.util.stream.Collectors.toList; -import com.google.common.base.Function; -import com.google.common.collect.Lists; import com.google.gerrit.common.data.PermissionRule; import com.google.gerrit.reviewdb.client.RefNames; import com.google.gerrit.server.git.MetaDataUpdate; @@ -67,18 +66,16 @@ public class ProjectConfigSchemaUpdate extends VersionedMetaData { Set names = config.getNames(ACCESS, subsection); if (names.contains(name)) { List values = - Arrays.asList(config.getStringList(ACCESS, subsection, name)); - values = Lists.transform(values, new Function() { - @Override - public String apply(String ruleString) { - PermissionRule rule = PermissionRule.fromString(ruleString, false); - if (rule.getForce()) { - rule.setForce(false); - updated = true; - } - return rule.asString(false); - } - }); + Arrays.stream(config.getStringList(ACCESS, subsection, name)) + .map(r -> { + PermissionRule rule = PermissionRule.fromString(r, false); + if (rule.getForce()) { + rule.setForce(false); + updated = true; + } + return rule.asString(false); + }) + .collect(toList()); config.setStringList(ACCESS, subsection, name, values); } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_124.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_124.java index 16f0bcf4be..895c905d5e 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_124.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_124.java @@ -14,7 +14,8 @@ package com.google.gerrit.server.schema; -import com.google.common.base.Function; +import static java.util.Comparator.comparing; + import com.google.common.base.Strings; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; @@ -124,13 +125,7 @@ public class Schema_124 extends SchemaVersion { private Collection fixInvalidSequenceNumbers( Collection keys) { - Ordering o = - Ordering.natural().onResultOf(new Function() { - @Override - public Integer apply(AccountSshKey sshKey) { - return sshKey.getKey().get(); - } - }); + Ordering o = Ordering.from(comparing(k -> k.getKey().get())); List fixedKeys = new ArrayList<>(keys); AccountSshKey minKey = o.min(keys); while (minKey.getKey().get() <= 0) { diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java index bd8259c661..7a1dbf7dbe 100644 --- a/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java +++ b/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java @@ -24,7 +24,6 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static org.eclipse.jgit.lib.Constants.OBJ_BLOB; import static org.junit.Assert.fail; -import com.google.common.base.Function; import com.google.common.base.Throwables; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableListMultimap; @@ -34,7 +33,6 @@ import com.google.common.collect.ImmutableTable; import com.google.common.collect.Iterables; import com.google.common.collect.ListMultimap; import com.google.common.collect.Lists; -import com.google.common.collect.Ordering; import com.google.gerrit.common.TimeUtil; import com.google.gerrit.common.data.SubmitRecord; import com.google.gerrit.reviewdb.client.Account; @@ -47,6 +45,7 @@ import com.google.gerrit.reviewdb.client.PatchLineComment.Status; import com.google.gerrit.reviewdb.client.PatchSet; import com.google.gerrit.reviewdb.client.PatchSetApproval; import com.google.gerrit.reviewdb.client.RevId; +import com.google.gerrit.reviewdb.server.ReviewDbUtil; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.ReviewerSet; import com.google.gerrit.server.config.GerritServerId; @@ -381,13 +380,9 @@ public class ChangeNotesTest extends AbstractChangeNotesTest { update.commit(); ChangeNotes notes = newNotes(c); - List approvals = Ordering.natural().onResultOf( - new Function() { - @Override - public Integer apply(PatchSetApproval in) { - return in.getAccountId().get(); - } - }).sortedCopy(notes.getApprovals().get(c.currentPatchSetId())); + List approvals = ReviewDbUtil.intKeyOrdering() + .onResultOf(PatchSetApproval::getAccountId) + .sortedCopy(notes.getApprovals().get(c.currentPatchSetId())); assertThat(approvals).hasSize(2); assertThat(approvals.get(0).getAccountId()) 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 f7b3b11d6a..b65d49dad7 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 @@ -17,7 +17,6 @@ package com.google.gerrit.server.query.account; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.fail; -import com.google.common.base.Function; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import com.google.gerrit.extensions.api.GerritApi; @@ -476,22 +475,10 @@ public abstract class AbstractQueryAccountsTest extends GerritServerTests { } protected static Iterable ids(AccountInfo... accounts) { - return FluentIterable.from(Arrays.asList(accounts)).transform( - new Function() { - @Override - public Integer apply(AccountInfo in) { - return in._accountId; - } - }); + return FluentIterable.of(accounts).transform(a -> a._accountId); } protected static Iterable ids(Iterable accounts) { - return FluentIterable.from(accounts).transform( - new Function() { - @Override - public Integer apply(AccountInfo in) { - return in._accountId; - } - }); + return FluentIterable.from(accounts).transform(a -> a._accountId); } }