diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/PlacemarkImpl.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/PlacemarkImpl.java index f8644c9d085..214d6a61792 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/PlacemarkImpl.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/PlacemarkImpl.java @@ -73,12 +73,12 @@ public class PlacemarkImpl implements Placemark { @Override public String toString() { - StringBuilder b = new StringBuilder(); + StringBuilder b = new StringBuilder("["); b.append(name + ", "); b.append(countryCode + ", "); b.append(position.toString() + ", "); - b.append(population); + b.append(population + "]"); return b.toString(); } diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RacePlaceOrderImpl.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RacePlaceOrderImpl.java index 77aa591c3cd..7c7c311f7c8 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RacePlaceOrderImpl.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RacePlaceOrderImpl.java @@ -23,20 +23,20 @@ public class RacePlaceOrderImpl implements RacePlaceOrder, Serializable { return Collections.unmodifiableCollection(places); } -// @Override -// public String toString() { -// StringBuilder b = new StringBuilder(); -// boolean first = true; -// for (Placemark place : places) { -// if (first) { -// b.append(place.getCountryCode() + ", " + place.getName()); -// first = false; -// } else { -// b.append(" -> " + place.getCountryCode() + ", " + place.getName()); -// } -// } -// return b.toString(); -// } + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + boolean first = true; + for (Placemark place : places) { + if (place != null && first) { + b.append(place.getCountryCode() + ", " + place.getName()); + first = false; + } else if (place != null) { + b.append(" -> " + place.getCountryCode() + ", " + place.getName()); + } + } + return b.toString(); + } @Override public int hashCode() { diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java index 8ee13024c37..5603682a12c 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java @@ -69,7 +69,7 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener { * Used in {@link #getPlaceOrder()} to calculate the radius for the * {@link ReverseGeocoder#getPlacemarksNear(Position, double) GetPlacemarksNear-Service}. */ - private static final double GEONAMES_RADIUS_CACLCULATION_FACTOR = 2.5; + private static final double GEONAMES_RADIUS_CACLCULATION_FACTOR = 10.0; // TODO observe the race course; if it changes, update leg structures; consider fine-grained update events that tell what changed private final RaceDefinition race; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RacesListBoxPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RacesListBoxPanel.java index 11a2764ac67..0a9722a9c88 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RacesListBoxPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RacesListBoxPanel.java @@ -50,7 +50,7 @@ public class RacesListBoxPanel extends FormPanel implements RaceSelectionProvide Triple selectedRace = getSelectedRace(); List> selectedRacesCollection = Collections.emptyList(); if (selectedRace != null) { - Collections.singletonList(selectedRace); + selectedRacesCollection = Collections.singletonList(selectedRace); } fireRaceSelectionChanged(selectedRacesCollection); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/EventDAO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/EventDAO.java index 8f54ac1827a..f622df41968 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/EventDAO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/EventDAO.java @@ -33,6 +33,7 @@ public class EventDAO extends NamedDAO implements IsSerializable { public String getLocationAsString() { //TODO Finish the format of the location string if (locations == null) { + locations = ""; for (RegattaDAO regattaDAO : regattas) { for (RaceDAO raceDAO : regattaDAO.races) { RacePlaceOrder placeOrder = raceDAO.racePlaces; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/OverviewEventPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/OverviewEventPanel.java index f02845ce80f..5fbc33f484e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/OverviewEventPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/OverviewEventPanel.java @@ -165,7 +165,6 @@ public class OverviewEventPanel extends AbstractEventPanel { functionPanelEvents.add(btnShowLeaderboards); // Create event table - // TODO { eventTable = new CellTable(); eventTable.setWidth("100%"); @@ -178,6 +177,7 @@ public class OverviewEventPanel extends AbstractEventPanel { return locations != null ? locations : stringConstants.locationNotAvailable(); } }; + locationColumn.setSortable(true); //Creating event name column TextColumn nameColumn = new TextColumn() { @Override @@ -185,14 +185,16 @@ public class OverviewEventPanel extends AbstractEventPanel { return eventDAO.name; } }; + nameColumn.setSortable(true); //Creating start date column TextColumn startDateColumn = new TextColumn() { @Override public String getValue(EventDAO eventDAO) { Date start = eventDAO.regattas.get(0).races.get(0).startOfRace; - return start != null ? start.toString() : stringConstants.startDateNotAvailable(); + return start != null ? dateFormatter.render(start) : stringConstants.startDateNotAvailable(); } }; + startDateColumn.setSortable(true); eventTable.addColumn(locationColumn, stringConstants.location()); eventTable.addColumn(nameColumn, stringConstants.eventName()); @@ -243,7 +245,7 @@ public class OverviewEventPanel extends AbstractEventPanel { functionPanelLeaderboards.add(btnHideLeaderboards); // Create leaderboard list - // TODO + // TODO loadEvents(); @@ -254,30 +256,6 @@ public class OverviewEventPanel extends AbstractEventPanel { //Until here } - private ListHandler getEventSortHandler(List list, TextColumn locationColumn, - TextColumn nameColumn, TextColumn startDateColumn) { - ListHandler sortHandler = new ListHandler(list); - sortHandler.setComparator(locationColumn, new Comparator() { - @Override - public int compare(EventDAO e1, EventDAO e2) { - return e1.getLocationAsString().compareTo(e2.getLocationAsString()); - } - }); - sortHandler.setComparator(nameColumn, new Comparator() { - @Override - public int compare(EventDAO e1, EventDAO e2) { - return e1.name.compareTo(e2.name); - } - }); - sortHandler.setComparator(startDateColumn, new Comparator() { - @Override - public int compare(EventDAO e1, EventDAO e2) { - return e1.getStartDate().compareTo(e2.getStartDate()); - } - }); - return sortHandler; - } - private void loadEvents(final Runnable actionAfterLoading) { sailingService.listEvents(true, new AsyncCallback>() { @@ -344,4 +322,29 @@ public class OverviewEventPanel extends AbstractEventPanel { } + private ListHandler getEventSortHandler(List list, TextColumn locationColumn, + TextColumn nameColumn, TextColumn startDateColumn) { + //TODO Check if comparators are correct + ListHandler sortHandler = new ListHandler(list); + sortHandler.setComparator(locationColumn, new Comparator() { + @Override + public int compare(EventDAO e1, EventDAO e2) { + return e1.getLocationAsString().compareTo(e2.getLocationAsString()); + } + }); + sortHandler.setComparator(nameColumn, new Comparator() { + @Override + public int compare(EventDAO e1, EventDAO e2) { + return e1.name.compareTo(e2.name); + } + }); + sortHandler.setComparator(startDateColumn, new Comparator() { + @Override + public int compare(EventDAO e1, EventDAO e2) { + return e1.getStartDate().compareTo(e2.getStartDate()); + } + }); + return sortHandler; + } + }