source: josm/trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableRowSorter.java@ 17435

Last change on this file since 17435 was 17435, checked in by Don-vip, 3 years ago

fix #20335 - NPE in changeset manager when sorting open changesets

File size: 1.5 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.changeset;
3
4import static java.util.Comparator.comparing;
5import static java.util.Comparator.comparingInt;
6import static java.util.Comparator.naturalOrder;
7import static java.util.Comparator.nullsLast;
8
9import javax.swing.table.TableRowSorter;
10
11import org.openstreetmap.josm.data.osm.Changeset;
12import org.openstreetmap.josm.data.osm.User;
13import org.openstreetmap.josm.tools.AlphanumComparator;
14
15/**
16 * The row sorter for the changeset table
17 * @since 16826
18 */
19class ChangesetCacheTableRowSorter extends TableRowSorter<ChangesetCacheManagerModel> {
20
21 ChangesetCacheTableRowSorter(ChangesetCacheManagerModel model) {
22 super(model);
23
24 // column 0 - Id
25 setComparator(0, comparingInt(Changeset::getId));
26
27 // column 1 - Upload comment
28 setComparator(1, comparing(Changeset::getComment, AlphanumComparator.getInstance()));
29
30 // column 2 - Open
31 setComparator(2, comparing(Changeset::isOpen));
32
33 // column 3 - User
34 setComparator(3, comparing(Changeset::getUser, comparing(User::getName)));
35
36 // column 4 - Created at
37 setComparator(4, comparing(Changeset::getCreatedAt));
38
39 // column 5 - Closed at
40 setComparator(5, comparing(Changeset::getClosedAt, nullsLast(naturalOrder())));
41
42 // column 6 - Changes
43 setComparator(6, comparingInt(Changeset::getChangesCount));
44
45 // column 7 - Discussions
46 setComparator(7, comparingInt(Changeset::getCommentsCount));
47 }
48}
Note: See TracBrowser for help on using the repository browser.