From 4aa7d1faf64c9033e770cc10f64e73e3568633c4 Mon Sep 17 00:00:00 2001 From: fmittag Date: Wed, 26 Sep 2012 18:34:46 +0200 Subject: [PATCH] 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. --- .../com/sap/sailing/gwt/ui/server/SailingServiceImpl.java | 5 +++-- .../main/java/com/sap/sailing/gwt/ui/shared/RaceDTO.java | 6 +++--- .../sap/sailing/gwt/ui/shared/RaceWithCompetitorsDTO.java | 5 +++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 61b6f9fe016..579d18d3c4b 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -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(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceDTO.java index add8a41c8a7..c342f3cbe12 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceDTO.java @@ -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() { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceWithCompetitorsDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceWithCompetitorsDTO.java index 86fa80b2ff4..ada2fbc15ff 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceWithCompetitorsDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceWithCompetitorsDTO.java @@ -10,8 +10,9 @@ public class RaceWithCompetitorsDTO extends RaceDTO { */ RaceWithCompetitorsDTO() {} - public RaceWithCompetitorsDTO(RegattaAndRaceIdentifier raceIdentifier, Iterable competitors, TrackedRaceDTO trackedRace) { - super(raceIdentifier, trackedRace); + public RaceWithCompetitorsDTO(RegattaAndRaceIdentifier raceIdentifier, Iterable competitors, + TrackedRaceDTO trackedRace, boolean isCurrentlyTracked) { + super(raceIdentifier, trackedRace, isCurrentlyTracked); this.competitors = competitors; }