mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-10 22:30:56 +00:00
Sorting algorithm optimized
This commit is contained in:
1 parent
fbee8fb367
commit
24f678b659
2 files changed
+24
-23
No files matched your search
+13
-13
@@ -1,8 +1,6 @@
|
||||
package com.sap.sailing.gwt.autoplay.client.place.start;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
@@ -38,7 +36,9 @@ import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveSettings;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.util.NullSafeComparatorWrapper;
|
||||
import com.sap.sse.common.settings.Settings;
|
||||
import com.sap.sse.common.util.NaturalComparator;
|
||||
import com.sap.sse.gwt.client.GWTLocaleUtil;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
import com.sap.sse.gwt.client.event.LocaleChangeEvent;
|
||||
@@ -143,26 +143,26 @@ public class DesktopStartView extends Composite implements StartView {
|
||||
@Override
|
||||
public void setEvents(List<EventDTO> events) {
|
||||
this.events.clear();
|
||||
this.events.addAll(makeSortedEvents(events));
|
||||
this.events.addAll(events);
|
||||
eventSelectionBox.addItem(StringMessages.INSTANCE.pleaseSelectAnEvent());
|
||||
for(EventDTO event: this.events) {
|
||||
for(EventDTO event: sortEvents(events)) {
|
||||
eventSelectionBox.addItem(event.getName());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort collection of events alphabetically
|
||||
* Sort list of events alphabetically
|
||||
* @param events - collection that is going to be sorted
|
||||
* @return sorted list
|
||||
*/
|
||||
private List<EventDTO> makeSortedEvents(List<EventDTO> events) {
|
||||
List<EventDTO> sortedEvents = Arrays.asList(events.toArray(new EventDTO[events.size()]));
|
||||
Collections.sort(sortedEvents, new Comparator<EventDTO>() {
|
||||
@Override
|
||||
public int compare(EventDTO firstEvent, EventDTO secondEvent) {
|
||||
return firstEvent.getName().compareTo(secondEvent.getName());
|
||||
}
|
||||
});
|
||||
private List<EventDTO> sortEvents(List<EventDTO> events) {
|
||||
List<EventDTO> sortedEvents = new ArrayList<>(events);
|
||||
Collections.sort(sortedEvents, new NullSafeComparatorWrapper<EventDTO>(new Comparator<EventDTO>() {
|
||||
@Override
|
||||
public int compare(EventDTO event1, EventDTO event2) {
|
||||
return new NaturalComparator().compare(event1.getName(), event2.getName());
|
||||
}
|
||||
}));
|
||||
return sortedEvents;
|
||||
}
|
||||
|
||||
|
||||
+11
-10
@@ -1,7 +1,6 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
@@ -18,6 +17,8 @@ import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.CourseAreaDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.util.NullSafeComparatorWrapper;
|
||||
import com.sap.sse.common.util.NaturalComparator;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
|
||||
public abstract class FlexibleLeaderboardDialog extends AbstractLeaderboardDialog {
|
||||
@@ -113,7 +114,7 @@ public abstract class FlexibleLeaderboardDialog extends AbstractLeaderboardDialo
|
||||
protected ListBox createSailingEventListBox() {
|
||||
ListBox eventListBox = createListBox(false);
|
||||
eventListBox.addItem("Please select a sailing event...");
|
||||
for (EventDTO event: makeSortedEvents(existingEvents)) {
|
||||
for (EventDTO event: sortEvents(existingEvents)) {
|
||||
eventListBox.addItem(event.getName());
|
||||
}
|
||||
eventListBox.addChangeHandler(new ChangeHandler() {
|
||||
@@ -130,14 +131,14 @@ public abstract class FlexibleLeaderboardDialog extends AbstractLeaderboardDialo
|
||||
* @param events - collection that is going to be sorted
|
||||
* @return sorted list
|
||||
*/
|
||||
private List<EventDTO> makeSortedEvents(Collection<EventDTO> events) {
|
||||
List<EventDTO> sortedEvents = Arrays.asList(events.toArray(new EventDTO[events.size()]));
|
||||
Collections.sort(sortedEvents, new Comparator<EventDTO>() {
|
||||
@Override
|
||||
public int compare(EventDTO firstEvent, EventDTO secondEvent) {
|
||||
return firstEvent.getName().compareTo(secondEvent.getName());
|
||||
}
|
||||
});
|
||||
private List<EventDTO> sortEvents(Collection<EventDTO> events) {
|
||||
List<EventDTO> sortedEvents = new ArrayList<>(events);
|
||||
Collections.sort(sortedEvents, new NullSafeComparatorWrapper<EventDTO>(new Comparator<EventDTO>() {
|
||||
@Override
|
||||
public int compare(EventDTO event1, EventDTO event2) {
|
||||
return new NaturalComparator().compare(event1.getName(), event2.getName());
|
||||
}
|
||||
}));
|
||||
return sortedEvents;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user