mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-24 04:53:54 +00:00
structured the RaceBoardModes such that only those that need CompetitorsInRace notifications will have them
Change-Id: I43a2ec87ded4133b9d2a15771e1ddbf856e62a97
This commit is contained in:
1 parent
0a666baf6e
commit
6cdd32bbbf
4 files changed
+18
-53
No files matched your search
+1
-18
@@ -8,7 +8,6 @@ import com.google.gwt.core.shared.GWT;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.domain.common.RaceIdentifier;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.LeaderboardDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.ui.actions.GetLeaderboardByNameAction;
|
||||
@@ -50,7 +49,7 @@ import com.sap.sse.gwt.client.player.Timer;
|
||||
* @author Axel Uhl (d043530)
|
||||
*
|
||||
*/
|
||||
public abstract class AbstractRaceBoardMode implements RaceBoardMode, RaceTimesInfoProviderListener, LeaderboardUpdateListener, CompetitorsForRaceDefinedListener {
|
||||
public abstract class AbstractRaceBoardMode implements RaceBoardMode, RaceTimesInfoProviderListener, LeaderboardUpdateListener {
|
||||
private Timer timer;
|
||||
private RegattaAndRaceIdentifier raceIdentifier;
|
||||
private RaceTimePanel raceTimePanel;
|
||||
@@ -61,7 +60,6 @@ public abstract class AbstractRaceBoardMode implements RaceBoardMode, RaceTimesI
|
||||
private RaceTimesInfoDTO raceTimesInfoForRace;
|
||||
private LeaderboardDTO leaderboard;
|
||||
private LeaderboardDTO leaderboardForSpecificTimePoint;
|
||||
private Iterable<CompetitorDTO> competitorsInRace;
|
||||
private RaceColumnDTO raceColumn;
|
||||
|
||||
@Override
|
||||
@@ -73,7 +71,6 @@ public abstract class AbstractRaceBoardMode implements RaceBoardMode, RaceTimesI
|
||||
this.leaderboardPanel.addLeaderboardUpdateListener(this);
|
||||
this.timer = raceBoardPanel.getTimer();
|
||||
this.raceIdentifier = raceBoardPanel.getSelectedRaceIdentifier();
|
||||
raceBoardPanel.getMap().addCompetitorsForRaceDefinedListener(this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -172,16 +169,6 @@ public abstract class AbstractRaceBoardMode implements RaceBoardMode, RaceTimesI
|
||||
trigger();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void competitorsForRaceDefined(Iterable<CompetitorDTO> competitorsInRace) {
|
||||
this.competitorsInRace = competitorsInRace;
|
||||
trigger();
|
||||
}
|
||||
|
||||
protected void stopReceivingCompetitorsInRace() {
|
||||
raceBoardPanel.getMap().removeCompetitorsForRaceDefinedListener(this);
|
||||
}
|
||||
|
||||
protected Map<RegattaAndRaceIdentifier, RaceTimesInfoDTO> getRaceTimesInfo() {
|
||||
return raceTimesInfo;
|
||||
}
|
||||
@@ -198,10 +185,6 @@ public abstract class AbstractRaceBoardMode implements RaceBoardMode, RaceTimesI
|
||||
return leaderboardForSpecificTimePoint;
|
||||
}
|
||||
|
||||
protected Iterable<CompetitorDTO> getCompetitorsInRace() {
|
||||
return competitorsInRace;
|
||||
}
|
||||
|
||||
protected RaceColumnDTO getRaceColumn() {
|
||||
return raceColumn;
|
||||
}
|
||||
|
||||
-6
@@ -19,12 +19,6 @@ public class FullAnalysisMode extends AbstractRaceBoardMode {
|
||||
private boolean leaderboardSettingsAdjusted;
|
||||
private boolean timerAdjusted;
|
||||
|
||||
@Override
|
||||
public void applyTo(RaceBoardPanel raceBoardPanel) {
|
||||
super.applyTo(raceBoardPanel);
|
||||
stopReceivingCompetitorsInRace();
|
||||
}
|
||||
|
||||
/**
|
||||
* Listening for race times info continues until information about the end of the race has been received. The leaderboard
|
||||
* settings are adjusted as soon as a valid leaderboard has been received.
|
||||
|
||||
-6
@@ -24,12 +24,6 @@ public class PlayerMode extends AbstractRaceBoardMode {
|
||||
|
||||
private boolean timerAdjusted;
|
||||
|
||||
@Override
|
||||
public void applyTo(RaceBoardPanel raceBoardPanel) {
|
||||
super.applyTo(raceBoardPanel);
|
||||
stopReceivingCompetitorsInRace();
|
||||
}
|
||||
|
||||
private void adjustLeaderboardSettings() {
|
||||
final LeaderboardSettings existingSettings = getLeaderboardPanel().getSettings();
|
||||
final List<DetailType> raceDetailsToShow = new ArrayList<>(existingSettings.getRaceDetailsToShow());
|
||||
|
||||
+17
-23
@@ -4,40 +4,24 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import com.sap.sailing.domain.common.RaceIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.LeaderboardDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceCompetitorSet.CompetitorsForRaceDefinedListener;
|
||||
import com.sap.sse.common.Util;
|
||||
|
||||
public abstract class RaceBoardModeWithPerRaceCompetitors extends AbstractRaceBoardMode {
|
||||
public abstract class RaceBoardModeWithPerRaceCompetitors extends AbstractRaceBoardMode implements CompetitorsForRaceDefinedListener {
|
||||
private Iterable<CompetitorDTO> competitorsInRace;
|
||||
private LeaderboardDTO leaderboard;
|
||||
private RaceColumnDTO raceColumn;
|
||||
|
||||
abstract protected void updateCompetitorSelection();
|
||||
|
||||
@Override
|
||||
public void competitorsForRaceDefined(Iterable<CompetitorDTO> competitorsInRace) {
|
||||
this.competitorsInRace = competitorsInRace;
|
||||
public void applyTo(RaceBoardPanel raceBoardPanel) {
|
||||
super.applyTo(raceBoardPanel);
|
||||
raceBoardPanel.getMap().addCompetitorsForRaceDefinedListener(this);
|
||||
}
|
||||
|
||||
protected Iterable<CompetitorDTO> getCompetitorsInRace() {
|
||||
return competitorsInRace;
|
||||
}
|
||||
|
||||
protected LeaderboardDTO getLeaderboard() {
|
||||
return leaderboard;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void currentRaceSelected(RaceIdentifier raceIdentifier, RaceColumnDTO raceColumn) {
|
||||
this.raceColumn = raceColumn;
|
||||
trigger();
|
||||
}
|
||||
|
||||
protected RaceColumnDTO getRaceColumn() {
|
||||
return raceColumn;
|
||||
protected void stopReceivingCompetitorsInRace() {
|
||||
getRaceBoardPanel().getMap().removeCompetitorsForRaceDefinedListener(this);
|
||||
}
|
||||
|
||||
protected void updateCompetitorSelection(final int howManyTopCompetitorsInRaceToSelect, LeaderboardDTO leaderboard) {
|
||||
@@ -55,4 +39,14 @@ public abstract class RaceBoardModeWithPerRaceCompetitors extends AbstractRaceBo
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void competitorsForRaceDefined(Iterable<CompetitorDTO> competitorsInRace) {
|
||||
this.competitorsInRace = competitorsInRace;
|
||||
trigger();
|
||||
}
|
||||
|
||||
protected Iterable<CompetitorDTO> getCompetitorsInRace() {
|
||||
return competitorsInRace;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user