Fix for Bug 982 - Stop Tracking not correctly updating to UI

It was wrongly assumed that a race with "stopped tracking" has no related TrackedRace anymore.
This commit is contained in:
fmittag committed 2012-09-26 18:34:46 +02:00
1 parent d0cf6d7868
commit 4aa7d1faf6
3 files changed
+9 -7

No files matched your search

@@ -904,7 +904,8 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
trackedRaceDTO.timePointOfNewestEvent = trackedRace.getTimePointOfNewestEvent() == null ? null : trackedRace.getTimePointOfNewestEvent().asDate();
trackedRaceDTO.delayToLiveInMs = trackedRace.getDelayToLiveInMillis();
}
RaceWithCompetitorsDTO raceDTO = new RaceWithCompetitorsDTO(raceIdentifier, convertToCompetitorDTOs(r.getCompetitors()), trackedRaceDTO);
RaceWithCompetitorsDTO raceDTO = new RaceWithCompetitorsDTO(raceIdentifier, convertToCompetitorDTOs(r.getCompetitors()),
trackedRaceDTO, getService().isRaceBeingTracked(r));
if (trackedRace != null) {
raceDTO.startOfRace = trackedRace.getStartOfRace() == null ? null : trackedRace.getStartOfRace().asDate();
raceDTO.endOfRace = trackedRace.getEndOfRace() == null ? null : trackedRace.getEndOfRace().asDate();
@@ -1917,7 +1918,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
trackedRaceDTO.startOfTracking = trackedRace.getStartOfTracking() == null ? null : trackedRace.getStartOfTracking().asDate();
trackedRaceDTO.hasWindData = trackedRace.hasWindData();
trackedRaceDTO.hasGPSData = trackedRace.hasGPSData();
raceDTO = new RaceDTO(raceIdentifier, trackedRaceDTO);
raceDTO = new RaceDTO(raceIdentifier, trackedRaceDTO, getService().isRaceBeingTracked(trackedRace.getRace()));
raceDTO.places = racePlaces;
raceDTO.startOfRace = trackedRace.getStartOfRace() == null ? null : trackedRace.getStartOfRace().asDate();
raceDTO.endOfRace = trackedRace.getEndOfRace() == null ? null : trackedRace.getEndOfRace().asDate();
@@ -27,14 +27,14 @@ public class RaceDTO extends NamedDTO implements IsSerializable {
public RaceDTO() {}
public RaceDTO(RegattaAndRaceIdentifier raceIdentifier) {
this(raceIdentifier, null);
this(raceIdentifier, null, false);
}
public RaceDTO(RegattaAndRaceIdentifier raceIdentifier, TrackedRaceDTO trackedRace) {
public RaceDTO(RegattaAndRaceIdentifier raceIdentifier, TrackedRaceDTO trackedRace, boolean isCurrentlyTracked) {
super(raceIdentifier.getRaceName());
this.regattaName = raceIdentifier.getRegattaName();
this.trackedRace = trackedRace;
this.isTracked = trackedRace != null;
this.isTracked = isCurrentlyTracked;
}
public RegattaAndRaceIdentifier getRaceIdentifier() {
@@ -10,8 +10,9 @@ public class RaceWithCompetitorsDTO extends RaceDTO {
*/
RaceWithCompetitorsDTO() {}
public RaceWithCompetitorsDTO(RegattaAndRaceIdentifier raceIdentifier, Iterable<CompetitorDTO> competitors, TrackedRaceDTO trackedRace) {
super(raceIdentifier, trackedRace);
public RaceWithCompetitorsDTO(RegattaAndRaceIdentifier raceIdentifier, Iterable<CompetitorDTO> competitors,
TrackedRaceDTO trackedRace, boolean isCurrentlyTracked) {
super(raceIdentifier, trackedRace, isCurrentlyTracked);
this.competitors = competitors;
}