fixed sorting for race status column

This commit is contained in:
Axel Uhl committed 2013-05-08 00:05:00 +02:00
1 parent 5f79e83cf2
commit 2e8d8377be
1 file changed
+9 -2
@@ -464,7 +464,7 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel {
this.racesTable.addColumn(raceStartTrackingColumn, this.stringMessages.startTime());
this.racesTable.addColumn(raceStatusColumn, this.stringMessages.raceStatusColumn());
this.racesTable.addColumnSortHandler(getRaceTableColumnSortHandler(this.raceList.getList(), raceNameColumn,
boatClassColumn, raceStartTrackingColumn));
boatClassColumn, raceStartTrackingColumn, raceStatusColumn));
this.racesTable.setSelectionModel(new MultiSelectionModel<TracTracRaceRecordDTO>());
this.racesTable.setWidth("100%");
@@ -506,7 +506,7 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel {
private ListHandler<TracTracRaceRecordDTO> getRaceTableColumnSortHandler(List<TracTracRaceRecordDTO> raceRecords,
Column<TracTracRaceRecordDTO, ?> nameColumn, Column<TracTracRaceRecordDTO, ?> boatClassColumn,
Column<TracTracRaceRecordDTO, ?> trackingStartColumn) {
Column<TracTracRaceRecordDTO, ?> trackingStartColumn, Column<TracTracRaceRecordDTO, ?> raceStatusColumn) {
ListHandler<TracTracRaceRecordDTO> result = new ListHandler<TracTracRaceRecordDTO>(raceRecords);
result.setComparator(nameColumn, new Comparator<TracTracRaceRecordDTO>() {
@Override
@@ -527,6 +527,13 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel {
.compareTo(o2.trackingStartTime);
}
});
result.setComparator(raceStatusColumn, new Comparator<TracTracRaceRecordDTO>() {
@Override
public int compare(TracTracRaceRecordDTO o1, TracTracRaceRecordDTO o2) {
return o1.raceStatus == null ? -1 : o2.raceStatus == null ? 1 : o1.raceStatus
.compareTo(o2.raceStatus);
}
});
return result;
}