Avoid Collections#sort
With the introduction of default methods in Java 8, Java finally grew a List#sort method that can be used in place of the static Collections#sort. Convert simple in-place sorts that need to be in-place sorts to use this method where possible. During the course of this change, it became obvious that many instances of sort were just sorting a newly-created ArrayList in place. These can be replaced with more idiomatic Stream constructions, sometimes even eliminating a loop to populate the list. One difference between List#sort and Collections#sort is there is no List#sort() with no arguments; callers must always pass either naturalOrder() or a null comparators. In this change, there were so few remaining instances of sorting by natural order that typing naturalOrder() didn't seem too repetitious, and it is quite readable. Change-Id: I4d89421a72127e9a36cbd32aeac425c0471a1b3f
This commit is contained in:
parent
7a06549cdf
commit
6724990a32
@ -32,7 +32,6 @@ import com.google.gwt.core.client.JsArrayString;
|
||||
import com.google.gwtjsonrpc.client.impl.ser.JavaSqlTimestamp_JsonSerializer;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
@ -448,9 +447,8 @@ public class ChangeInfo extends JavaScriptObject {
|
||||
|
||||
public static void sortRevisionInfoByNumber(JsArray<RevisionInfo> list) {
|
||||
final int editParent = findEditParent(list);
|
||||
Collections.sort(
|
||||
Natives.asList(list),
|
||||
comparing(r -> !r.isEdit() ? 2 * (r._number() - 1) + 1 : 2 * editParent));
|
||||
Natives.asList(list)
|
||||
.sort(comparing(r -> !r.isEdit() ? 2 * (r._number() - 1) + 1 : 2 * editParent));
|
||||
}
|
||||
|
||||
public static int findEditParent(JsArray<RevisionInfo> list) {
|
||||
|
@ -19,7 +19,6 @@ import com.google.gerrit.common.data.FilenameComparator;
|
||||
import com.google.gerrit.reviewdb.client.Patch;
|
||||
import com.google.gwt.core.client.JavaScriptObject;
|
||||
import com.google.gwt.core.client.JsArray;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
|
||||
public class FileInfo extends JavaScriptObject {
|
||||
@ -55,8 +54,7 @@ public class FileInfo extends JavaScriptObject {
|
||||
public final native void _row(int r) /*-{ this._row = r }-*/;
|
||||
|
||||
public static void sortFileInfoByPath(JsArray<FileInfo> list) {
|
||||
Collections.sort(
|
||||
Natives.asList(list), Comparator.comparing(FileInfo::path, FilenameComparator.INSTANCE));
|
||||
Natives.asList(list).sort(Comparator.comparing(FileInfo::path, FilenameComparator.INSTANCE));
|
||||
}
|
||||
|
||||
public static String getFileName(String path) {
|
||||
|
@ -14,11 +14,12 @@
|
||||
|
||||
package com.google.gerrit.client.rpc;
|
||||
|
||||
import static java.util.stream.Collectors.toCollection;
|
||||
|
||||
import com.google.gwt.core.client.JavaScriptObject;
|
||||
import com.google.gwt.core.client.JsArray;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@ -57,10 +58,7 @@ public class NativeMap<T extends JavaScriptObject> extends JavaScriptObject {
|
||||
}
|
||||
|
||||
public final List<String> sortedKeys() {
|
||||
Set<String> keys = keySet();
|
||||
List<String> sorted = new ArrayList<>(keys);
|
||||
Collections.sort(sorted);
|
||||
return sorted;
|
||||
return keySet().stream().sorted().collect(toCollection(ArrayList::new));
|
||||
}
|
||||
|
||||
public final native JsArray<T> values() /*-{
|
||||
|
@ -42,7 +42,6 @@ import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwtexpui.clippy.client.CopyableLabel;
|
||||
import com.google.gwtexpui.globalkey.client.NpTextArea;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class MyGpgKeysScreen extends SettingsScreen {
|
||||
@ -119,7 +118,7 @@ public class MyGpgKeysScreen extends SettingsScreen {
|
||||
List<GpgKeyInfo> list = Natives.asList(result.values());
|
||||
// TODO(dborowitz): Sort on something more meaningful, like
|
||||
// created date?
|
||||
Collections.sort(list, comparing(GpgKeyInfo::id));
|
||||
list.sort(comparing(GpgKeyInfo::id));
|
||||
keys.clear();
|
||||
keyText.setText("");
|
||||
errorPanel.setVisible(false);
|
||||
|
@ -14,6 +14,8 @@
|
||||
|
||||
package com.google.gerrit.client.account;
|
||||
|
||||
import static java.util.Comparator.naturalOrder;
|
||||
|
||||
import com.google.gerrit.client.Gerrit;
|
||||
import com.google.gerrit.client.VoidResult;
|
||||
import com.google.gerrit.client.rpc.GerritCallback;
|
||||
@ -29,7 +31,6 @@ import com.google.gwt.user.client.Window.Location;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.CheckBox;
|
||||
import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
@ -169,7 +170,7 @@ public class MyIdentitiesScreen extends SettingsScreen {
|
||||
|
||||
void display(JsArray<ExternalIdInfo> results) {
|
||||
List<ExternalIdInfo> idList = Natives.asList(results);
|
||||
Collections.sort(idList);
|
||||
idList.sort(naturalOrder());
|
||||
|
||||
while (1 < table.getRowCount()) {
|
||||
table.removeRow(table.getRowCount() - 1);
|
||||
|
@ -14,6 +14,8 @@
|
||||
|
||||
package com.google.gerrit.client.admin;
|
||||
|
||||
import static java.util.stream.Collectors.toCollection;
|
||||
|
||||
import com.google.gerrit.client.Gerrit;
|
||||
import com.google.gerrit.common.data.AccessSection;
|
||||
import com.google.gerrit.common.data.LabelType;
|
||||
@ -45,7 +47,6 @@ import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.HTMLPanel;
|
||||
import com.google.gwt.user.client.ui.ValueListBox;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class AccessSectionEditor extends Composite
|
||||
@ -205,9 +206,8 @@ public class AccessSectionEditor extends Composite
|
||||
}
|
||||
|
||||
private void sortPermissions(AccessSection accessSection) {
|
||||
List<Permission> permissionList = new ArrayList<>(accessSection.getPermissions());
|
||||
Collections.sort(permissionList);
|
||||
accessSection.setPermissions(permissionList);
|
||||
accessSection.setPermissions(
|
||||
accessSection.getPermissions().stream().sorted().collect(toCollection(ArrayList::new)));
|
||||
}
|
||||
|
||||
void setEditing(boolean editing) {
|
||||
|
@ -34,7 +34,6 @@ import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
|
||||
import com.google.gwt.user.client.ui.HTMLTable.Cell;
|
||||
import com.google.gwt.user.client.ui.Image;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class GroupTable extends NavigationTable<GroupInfo> {
|
||||
@ -106,7 +105,7 @@ public class GroupTable extends NavigationTable<GroupInfo> {
|
||||
table.removeRow(table.getRowCount() - 1);
|
||||
}
|
||||
|
||||
Collections.sort(list, comparing(GroupInfo::name));
|
||||
list.sort(comparing(GroupInfo::name));
|
||||
for (GroupInfo group : list.subList(fromIndex, toIndex)) {
|
||||
final int row = table.getRowCount();
|
||||
table.insertRow(row);
|
||||
|
@ -14,6 +14,10 @@
|
||||
|
||||
package com.google.gerrit.client.change;
|
||||
|
||||
import static java.util.stream.Collectors.collectingAndThen;
|
||||
import static java.util.stream.Collectors.toCollection;
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
import com.google.gerrit.client.Gerrit;
|
||||
import com.google.gerrit.client.changes.ChangeApi;
|
||||
import com.google.gerrit.client.changes.Util;
|
||||
@ -135,9 +139,12 @@ class Labels extends Grid {
|
||||
}
|
||||
|
||||
void set(ChangeInfo info) {
|
||||
List<String> names = new ArrayList<>(info.labels());
|
||||
List<String> names =
|
||||
info.labels()
|
||||
.stream()
|
||||
.sorted()
|
||||
.collect(collectingAndThen(toList(), Collections::unmodifiableList));
|
||||
Set<Integer> removable = info.removableReviewerIds();
|
||||
Collections.sort(names);
|
||||
|
||||
resize(names.size(), 2);
|
||||
|
||||
@ -197,8 +204,7 @@ class Labels extends Grid {
|
||||
}
|
||||
|
||||
private static List<Integer> sort(Set<Integer> keySet, int a, int b) {
|
||||
List<Integer> r = new ArrayList<>(keySet);
|
||||
Collections.sort(r);
|
||||
List<Integer> r = keySet.stream().sorted().collect(toCollection(ArrayList::new));
|
||||
if (keySet.contains(a)) {
|
||||
r.remove(Integer.valueOf(a));
|
||||
r.add(0, a);
|
||||
@ -238,31 +244,32 @@ class Labels extends Grid {
|
||||
Set<Integer> removable,
|
||||
String label,
|
||||
Map<Integer, VotableInfo> votable) {
|
||||
List<AccountInfo> users = new ArrayList<>(in);
|
||||
Collections.sort(
|
||||
users,
|
||||
new Comparator<AccountInfo>() {
|
||||
@Override
|
||||
public int compare(AccountInfo a, AccountInfo b) {
|
||||
String as = name(a);
|
||||
String bs = name(b);
|
||||
if (as.isEmpty()) {
|
||||
return 1;
|
||||
} else if (bs.isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return as.compareTo(bs);
|
||||
}
|
||||
List<AccountInfo> users =
|
||||
in.stream()
|
||||
.sorted(
|
||||
new Comparator<AccountInfo>() {
|
||||
@Override
|
||||
public int compare(AccountInfo a, AccountInfo b) {
|
||||
String as = name(a);
|
||||
String bs = name(b);
|
||||
if (as.isEmpty()) {
|
||||
return 1;
|
||||
} else if (bs.isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return as.compareTo(bs);
|
||||
}
|
||||
|
||||
private String name(AccountInfo a) {
|
||||
if (a.name() != null) {
|
||||
return a.name();
|
||||
} else if (a.email() != null) {
|
||||
return a.email();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
});
|
||||
private String name(AccountInfo a) {
|
||||
if (a.name() != null) {
|
||||
return a.name();
|
||||
} else if (a.email() != null) {
|
||||
return a.email();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
})
|
||||
.collect(collectingAndThen(toList(), Collections::unmodifiableList));
|
||||
|
||||
SafeHtmlBuilder html = new SafeHtmlBuilder();
|
||||
Iterator<? extends AccountInfo> itr = users.iterator();
|
||||
|
@ -16,6 +16,8 @@ package com.google.gerrit.client.change;
|
||||
|
||||
import static com.google.gwt.event.dom.client.KeyCodes.KEY_ENTER;
|
||||
import static com.google.gwt.event.dom.client.KeyCodes.KEY_MAC_ENTER;
|
||||
import static java.util.stream.Collectors.collectingAndThen;
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
import com.google.gerrit.client.Gerrit;
|
||||
import com.google.gerrit.client.changes.ChangeApi;
|
||||
@ -123,11 +125,15 @@ public class ReplyBox extends Composite {
|
||||
this.lc = new LocalComments(project, psId.getParentKey());
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
|
||||
List<String> names = new ArrayList<>(permitted.keySet());
|
||||
List<String> names =
|
||||
permitted
|
||||
.keySet()
|
||||
.stream()
|
||||
.sorted()
|
||||
.collect(collectingAndThen(toList(), Collections::unmodifiableList));
|
||||
if (names.isEmpty()) {
|
||||
UIObject.setVisible(labelsParent, false);
|
||||
} else {
|
||||
Collections.sort(names);
|
||||
renderLabels(names, all, permitted);
|
||||
}
|
||||
|
||||
@ -439,8 +445,11 @@ public class ReplyBox extends Composite {
|
||||
clp, project, psId, Util.C.commitMessage(), copyPath(Patch.MERGE_LIST, l)));
|
||||
}
|
||||
|
||||
List<String> paths = new ArrayList<>(m.keySet());
|
||||
Collections.sort(paths);
|
||||
List<String> paths =
|
||||
m.keySet()
|
||||
.stream()
|
||||
.sorted()
|
||||
.collect(collectingAndThen(toList(), Collections::unmodifiableList));
|
||||
|
||||
for (String path : paths) {
|
||||
if (!Patch.isMagic(path)) {
|
||||
|
@ -178,7 +178,7 @@ public class AccountDashboardScreen extends Screen implements ChangeListScreen {
|
||||
}
|
||||
}
|
||||
|
||||
Collections.sort(Natives.asList(out), outComparator());
|
||||
Natives.asList(out).sort(outComparator());
|
||||
|
||||
table.updateColumnsForLabels(wip, out, in, done);
|
||||
workInProgress.display(wip);
|
||||
|
@ -27,7 +27,6 @@ import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
|
||||
import com.google.gwt.user.client.ui.Image;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -76,7 +75,7 @@ public class DashboardsTable extends NavigationTable<DashboardInfo> {
|
||||
table.removeRow(table.getRowCount() - 1);
|
||||
}
|
||||
|
||||
Collections.sort(list, comparing(DashboardInfo::id));
|
||||
list.sort(comparing(DashboardInfo::id));
|
||||
|
||||
String ref = null;
|
||||
for (DashboardInfo d : list) {
|
||||
|
@ -29,7 +29,6 @@ import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.client.Project;
|
||||
import com.google.gwt.core.client.JsArray;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import java.util.Collections;
|
||||
|
||||
/** Collection of published and draft comments loaded from the server. */
|
||||
class CommentsCollections {
|
||||
@ -159,7 +158,7 @@ class CommentsCollections {
|
||||
for (CommentInfo c : Natives.asList(in)) {
|
||||
c.path(path);
|
||||
}
|
||||
Collections.sort(Natives.asList(in), comparing(CommentInfo::updated));
|
||||
Natives.asList(in).sort(comparing(CommentInfo::updated));
|
||||
}
|
||||
return in;
|
||||
}
|
||||
|
@ -22,7 +22,6 @@ import com.google.gerrit.client.projects.ProjectMap;
|
||||
import com.google.gerrit.client.rpc.Natives;
|
||||
import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
|
||||
import com.google.gwt.user.client.ui.Image;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class ProjectsTable extends NavigationTable<ProjectInfo> {
|
||||
@ -70,7 +69,7 @@ public class ProjectsTable extends NavigationTable<ProjectInfo> {
|
||||
}
|
||||
|
||||
List<ProjectInfo> list = Natives.asList(projects.values());
|
||||
Collections.sort(list, comparing(ProjectInfo::name));
|
||||
list.sort(comparing(ProjectInfo::name));
|
||||
for (ProjectInfo p : list.subList(fromIndex, toIndex)) {
|
||||
insert(table.getRowCount(), p);
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import com.google.gwt.core.client.JsArray;
|
||||
import com.google.gwt.core.client.JsArrayString;
|
||||
import com.google.gwt.resources.client.DataResource;
|
||||
import com.google.gwt.safehtml.shared.SafeUri;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@ -243,7 +242,7 @@ public class ModeInfo extends JavaScriptObject {
|
||||
byMime.put(m.mode(), m);
|
||||
}
|
||||
}
|
||||
Collections.sort(Natives.asList(filtered), comparing((ModeInfo m) -> m.name().toLowerCase()));
|
||||
Natives.asList(filtered).sort(comparing(m -> m.name().toLowerCase()));
|
||||
setAll(filtered);
|
||||
}
|
||||
|
||||
|
@ -456,8 +456,8 @@ class HttpPluginServlet extends HttpServlet implements StartPluginListener, Relo
|
||||
}
|
||||
}
|
||||
|
||||
Collections.sort(cmds, PluginEntry.COMPARATOR_BY_NAME);
|
||||
Collections.sort(docs, PluginEntry.COMPARATOR_BY_NAME);
|
||||
cmds.sort(PluginEntry.COMPARATOR_BY_NAME);
|
||||
docs.sort(PluginEntry.COMPARATOR_BY_NAME);
|
||||
|
||||
StringBuilder md = new StringBuilder();
|
||||
md.append(String.format("# Plugin %s #\n", pluginName));
|
||||
|
@ -15,6 +15,7 @@
|
||||
package com.google.gerrit.index.query;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.collect.ImmutableList.toImmutableList;
|
||||
|
||||
import com.google.common.base.Throwables;
|
||||
import com.google.common.collect.FluentIterable;
|
||||
@ -26,7 +27,6 @@ import com.google.gwtorm.server.OrmRuntimeException;
|
||||
import com.google.gwtorm.server.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
@ -175,10 +175,8 @@ public class AndSource<T> extends AndPredicate<T>
|
||||
return cardinality;
|
||||
}
|
||||
|
||||
private List<Predicate<T>> sort(Collection<? extends Predicate<T>> that) {
|
||||
List<Predicate<T>> r = new ArrayList<>(that);
|
||||
Collections.sort(r, this);
|
||||
return r;
|
||||
private ImmutableList<Predicate<T>> sort(Collection<? extends Predicate<T>> that) {
|
||||
return that.stream().sorted(this).collect(toImmutableList());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -30,7 +30,6 @@ import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.jar.Attributes;
|
||||
import java.util.jar.JarFile;
|
||||
@ -66,7 +65,7 @@ public class InitPlugins implements InitStep {
|
||||
}
|
||||
result.add(new PluginData(pluginName, pluginVersion, tmpPlugin));
|
||||
});
|
||||
Collections.sort(result, comparing(p -> p.name));
|
||||
result.sort(comparing(p -> p.name));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -502,7 +502,7 @@ public class CommentsUtil {
|
||||
}
|
||||
|
||||
private static <T extends Comment> List<T> sort(List<T> comments) {
|
||||
Collections.sort(comments, COMMENT_ORDER);
|
||||
comments.sort(COMMENT_ORDER);
|
||||
return comments;
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,6 @@ import java.io.IOException;
|
||||
import java.util.ArrayDeque;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Deque;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
@ -110,7 +109,7 @@ public class WalkSorter {
|
||||
for (Map.Entry<Project.NameKey, Collection<ChangeData>> e : byProject.asMap().entrySet()) {
|
||||
sortedByProject.add(sortProject(e.getKey(), e.getValue()));
|
||||
}
|
||||
Collections.sort(sortedByProject, PROJECT_LIST_SORTER);
|
||||
sortedByProject.sort(PROJECT_LIST_SORTER);
|
||||
return Iterables.concat(sortedByProject);
|
||||
}
|
||||
|
||||
|
@ -73,7 +73,6 @@ import java.io.IOException;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@ -329,10 +328,9 @@ public class EventFactory {
|
||||
}
|
||||
}
|
||||
// Sort by original parent order.
|
||||
Collections.sort(
|
||||
ca.dependsOn,
|
||||
ca.dependsOn.sort(
|
||||
comparing(
|
||||
(DependencyAttribute d) -> {
|
||||
d -> {
|
||||
for (int i = 0; i < parentNames.size(); i++) {
|
||||
if (parentNames.get(i).equals(d.revision)) {
|
||||
return i;
|
||||
|
@ -220,7 +220,7 @@ public class MergeUtil {
|
||||
} catch (IOException e) {
|
||||
throw new IntegrationException("Branch head sorting failed", e);
|
||||
}
|
||||
Collections.sort(result, CodeReviewCommit.ORDER);
|
||||
result.sort(CodeReviewCommit.ORDER);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -14,13 +14,15 @@
|
||||
|
||||
package com.google.gerrit.server.git.meta;
|
||||
|
||||
import static com.google.common.collect.ImmutableList.toImmutableList;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.gerrit.server.git.ValidationError;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -122,10 +124,8 @@ public class TabFile {
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
protected static <T extends Comparable<? super T>> List<T> sort(Collection<T> m) {
|
||||
ArrayList<T> r = new ArrayList<>(m);
|
||||
Collections.sort(r);
|
||||
return r;
|
||||
protected static <T extends Comparable<? super T>> ImmutableList<T> sort(Collection<T> m) {
|
||||
return m.stream().sorted().collect(toImmutableList());
|
||||
}
|
||||
|
||||
protected static String pad(int len, String src) {
|
||||
|
@ -239,7 +239,7 @@ public class CommentSender extends ReplyToChangeSender {
|
||||
}
|
||||
}
|
||||
|
||||
Collections.sort(groups, Comparator.comparing(g -> g.filename, FilenameComparator.INSTANCE));
|
||||
groups.sort(Comparator.comparing(g -> g.filename, FilenameComparator.INSTANCE));
|
||||
return groups;
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,6 @@ import java.nio.charset.Charset;
|
||||
import java.sql.Timestamp;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
@ -297,9 +296,7 @@ class ChangeNotesParser {
|
||||
}
|
||||
result.put(a.getPatchSetId(), a);
|
||||
}
|
||||
for (Collection<PatchSetApproval> v : result.asMap().values()) {
|
||||
Collections.sort((List<PatchSetApproval>) v, ChangeNotes.PSA_BY_TIME);
|
||||
}
|
||||
result.keySet().forEach(k -> result.get(k).sort(ChangeNotes.PSA_BY_TIME));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -15,10 +15,12 @@
|
||||
package com.google.gerrit.server.notedb;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.collect.ImmutableList.toImmutableList;
|
||||
import static com.google.gerrit.server.CommentsUtil.COMMENT_ORDER;
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.Comment;
|
||||
@ -30,8 +32,6 @@ import java.io.OutputStream;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.PrintWriter;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import org.eclipse.jgit.lib.PersonIdent;
|
||||
@ -87,8 +87,7 @@ public class LegacyChangeNoteWrite {
|
||||
return;
|
||||
}
|
||||
|
||||
List<Integer> psIds = new ArrayList<>(comments.keySet());
|
||||
Collections.sort(psIds);
|
||||
ImmutableList<Integer> psIds = comments.keySet().stream().sorted().collect(toImmutableList());
|
||||
|
||||
OutputStreamWriter streamWriter = new OutputStreamWriter(out, UTF_8);
|
||||
try (PrintWriter writer = new PrintWriter(streamWriter)) {
|
||||
|
@ -19,7 +19,6 @@ import com.google.gerrit.reviewdb.client.Project;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.assistedinject.Assisted;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
@ -66,8 +65,9 @@ public class DiffSummaryLoader implements Callable<DiffSummary> {
|
||||
break;
|
||||
}
|
||||
}
|
||||
Collections.sort(r);
|
||||
return new DiffSummary(
|
||||
r.toArray(new String[r.size()]), patchList.getInsertions(), patchList.getDeletions());
|
||||
r.stream().sorted().toArray(String[]::new),
|
||||
patchList.getInsertions(),
|
||||
patchList.getDeletions());
|
||||
}
|
||||
}
|
||||
|
@ -35,7 +35,6 @@ import eu.medsea.mimeutil.MimeType;
|
||||
import eu.medsea.mimeutil.MimeUtil2;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@ -364,7 +363,7 @@ class PatchScriptBuilder {
|
||||
// them correctly later.
|
||||
//
|
||||
edits.addAll(empty);
|
||||
Collections.sort(edits, EDIT_SORT);
|
||||
edits.sort(EDIT_SORT);
|
||||
}
|
||||
|
||||
private void safeAdd(List<Edit> empty, Edit toAdd) {
|
||||
|
@ -26,7 +26,6 @@ import com.google.inject.Module;
|
||||
import com.google.inject.Singleton;
|
||||
import com.google.inject.name.Named;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.List;
|
||||
|
||||
@ -88,7 +87,7 @@ public class SectionSortCache {
|
||||
poison |= srcMap.put(sections.get(i), i) != null;
|
||||
}
|
||||
|
||||
Collections.sort(sections, new MostSpecificComparator(ref));
|
||||
sections.sort(new MostSpecificComparator(ref));
|
||||
|
||||
int[] srcIdx;
|
||||
if (isIdentityTransform(sections, srcMap)) {
|
||||
|
@ -15,6 +15,7 @@
|
||||
package com.google.gerrit.server.project;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.collect.ImmutableList.toImmutableList;
|
||||
import static com.google.gerrit.common.data.Permission.isPermission;
|
||||
import static com.google.gerrit.reviewdb.client.Project.DEFAULT_SUBMIT_TYPE;
|
||||
import static java.util.stream.Collectors.toList;
|
||||
@ -1451,10 +1452,8 @@ public class ProjectConfig extends VersionedMetaData implements ValidationError.
|
||||
validationErrors.add(error);
|
||||
}
|
||||
|
||||
private static <T extends Comparable<? super T>> List<T> sort(Collection<T> m) {
|
||||
ArrayList<T> r = new ArrayList<>(m);
|
||||
Collections.sort(r);
|
||||
return r;
|
||||
private static <T extends Comparable<? super T>> ImmutableList<T> sort(Collection<T> m) {
|
||||
return m.stream().sorted().collect(toImmutableList());
|
||||
}
|
||||
|
||||
public boolean hasLegacyPermissions() {
|
||||
|
@ -37,7 +37,6 @@ import com.google.gerrit.server.account.AccountLoader;
|
||||
import com.google.gerrit.server.permissions.PermissionBackendException;
|
||||
import com.google.inject.Inject;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
@ -98,9 +97,7 @@ class CommentJson {
|
||||
list.add(o);
|
||||
}
|
||||
|
||||
for (List<T> list : out.values()) {
|
||||
Collections.sort(list, COMMENT_INFO_ORDER);
|
||||
}
|
||||
out.values().forEach(l -> l.sort(COMMENT_INFO_ORDER));
|
||||
|
||||
if (loader != null) {
|
||||
loader.fill();
|
||||
|
@ -14,6 +14,7 @@
|
||||
|
||||
package com.google.gerrit.server.restapi.change;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.gerrit.extensions.common.CommentInfo;
|
||||
import com.google.gerrit.extensions.restapi.RestReadView;
|
||||
import com.google.gerrit.reviewdb.client.Comment;
|
||||
@ -61,7 +62,7 @@ public class ListRevisionDrafts implements RestReadView<RevisionResource> {
|
||||
.format(listComments(rsrc));
|
||||
}
|
||||
|
||||
public List<CommentInfo> getComments(RevisionResource rsrc)
|
||||
public ImmutableList<CommentInfo> getComments(RevisionResource rsrc)
|
||||
throws OrmException, PermissionBackendException {
|
||||
return commentJson
|
||||
.get()
|
||||
|
@ -14,6 +14,7 @@
|
||||
|
||||
package com.google.gerrit.server.restapi.change;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.gerrit.extensions.common.RobotCommentInfo;
|
||||
import com.google.gerrit.extensions.restapi.RestReadView;
|
||||
import com.google.gerrit.reviewdb.client.RobotComment;
|
||||
@ -52,7 +53,7 @@ public class ListRobotComments implements RestReadView<RevisionResource> {
|
||||
.format(listComments(rsrc));
|
||||
}
|
||||
|
||||
public List<RobotCommentInfo> getComments(RevisionResource rsrc)
|
||||
public ImmutableList<RobotCommentInfo> getComments(RevisionResource rsrc)
|
||||
throws OrmException, PermissionBackendException {
|
||||
return commentJson
|
||||
.get()
|
||||
|
@ -41,7 +41,6 @@ import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import org.eclipse.jgit.errors.ConfigInvalidException;
|
||||
@ -138,7 +137,7 @@ public class GetAuditLog implements RestReadView<GroupResource> {
|
||||
accountLoader.fill();
|
||||
|
||||
// sort by date and then reverse so that the newest audit event comes first
|
||||
Collections.sort(auditEvents, comparing((GroupAuditEventInfo a) -> a.date).reversed());
|
||||
auditEvents.sort(comparing((GroupAuditEventInfo a) -> a.date).reversed());
|
||||
return auditEvents;
|
||||
}
|
||||
}
|
||||
|
@ -30,7 +30,6 @@ import com.google.gwtorm.server.OrmException;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@Singleton
|
||||
@ -72,8 +71,7 @@ public class ListSubgroups implements RestReadView<GroupResource> {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
Collections.sort(
|
||||
included,
|
||||
included.sort(
|
||||
comparing((GroupInfo g) -> nullToEmpty(g.name)).thenComparing(g -> nullToEmpty(g.id)));
|
||||
return included;
|
||||
}
|
||||
|
@ -46,7 +46,6 @@ import com.google.inject.Inject;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@ -226,7 +225,7 @@ public class ListBranches implements RestReadView<ProjectResource> {
|
||||
// Do nothing.
|
||||
}
|
||||
}
|
||||
Collections.sort(branches, new BranchComparator());
|
||||
branches.sort(new BranchComparator());
|
||||
return branches;
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,6 @@ import com.google.inject.Inject;
|
||||
import java.io.IOException;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.eclipse.jgit.errors.RepositoryNotFoundException;
|
||||
@ -135,7 +134,7 @@ public class ListTags implements RestReadView<ProjectResource> {
|
||||
}
|
||||
}
|
||||
|
||||
Collections.sort(tags, comparing(t -> t.ref));
|
||||
tags.sort(comparing(t -> t.ref));
|
||||
|
||||
return new RefFilter<TagInfo>(Constants.R_TAGS)
|
||||
.start(start)
|
||||
|
@ -53,7 +53,6 @@ import com.google.gerrit.server.update.RepoContext;
|
||||
import com.google.gwtorm.server.OrmException;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -184,8 +183,7 @@ abstract class SubmitStrategyOp implements BatchUpdateOp {
|
||||
continue; // Bogus ref, can't be merged into tip so we don't care.
|
||||
}
|
||||
}
|
||||
Collections.sort(
|
||||
commits,
|
||||
commits.sort(
|
||||
ReviewDbUtil.intKeyOrdering().reverse().onResultOf(CodeReviewCommit::getPatchsetId));
|
||||
CodeReviewCommit result = MergeUtil.findAnyMergedInto(rw, commits, tip);
|
||||
if (result == null) {
|
||||
|
@ -15,8 +15,10 @@
|
||||
package com.google.gerrit.sshd.commands;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkState;
|
||||
import static com.google.common.collect.ImmutableList.toImmutableList;
|
||||
import static com.google.gerrit.sshd.CommandMetaData.Mode.MASTER_OR_SLAVE;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.gerrit.common.TimeUtil;
|
||||
import com.google.gerrit.common.data.GlobalCapability;
|
||||
import com.google.gerrit.extensions.annotations.RequiresCapability;
|
||||
@ -33,11 +35,7 @@ import java.net.InetAddress;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.SocketAddress;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import org.apache.sshd.common.io.IoAcceptor;
|
||||
import org.apache.sshd.common.io.IoSession;
|
||||
@ -92,25 +90,27 @@ final class ShowConnections extends SshCommand {
|
||||
throw new Failure(1, "fatal: sshd no longer running");
|
||||
}
|
||||
|
||||
final List<IoSession> list = new ArrayList<>(acceptor.getManagedSessions().values());
|
||||
Collections.sort(
|
||||
list,
|
||||
new Comparator<IoSession>() {
|
||||
@Override
|
||||
public int compare(IoSession arg0, IoSession arg1) {
|
||||
if (arg0 instanceof MinaSession) {
|
||||
MinaSession mArg0 = (MinaSession) arg0;
|
||||
MinaSession mArg1 = (MinaSession) arg1;
|
||||
if (mArg0.getSession().getCreationTime() < mArg1.getSession().getCreationTime()) {
|
||||
return -1;
|
||||
} else if (mArg0.getSession().getCreationTime()
|
||||
> mArg1.getSession().getCreationTime()) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return (int) (arg0.getId() - arg1.getId());
|
||||
}
|
||||
});
|
||||
final ImmutableList<IoSession> list =
|
||||
acceptor
|
||||
.getManagedSessions()
|
||||
.values()
|
||||
.stream()
|
||||
.sorted(
|
||||
(arg0, arg1) -> {
|
||||
if (arg0 instanceof MinaSession) {
|
||||
MinaSession mArg0 = (MinaSession) arg0;
|
||||
MinaSession mArg1 = (MinaSession) arg1;
|
||||
if (mArg0.getSession().getCreationTime()
|
||||
< mArg1.getSession().getCreationTime()) {
|
||||
return -1;
|
||||
} else if (mArg0.getSession().getCreationTime()
|
||||
> mArg1.getSession().getCreationTime()) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return (int) (arg0.getId() - arg1.getId());
|
||||
})
|
||||
.collect(toImmutableList());
|
||||
|
||||
hostNameWidth = wide ? Integer.MAX_VALUE : columns - 9 - 9 - 10 - 32;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user