mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-28 14:57:12 +00:00
fixed raceboard link creation for flexible leaderboards
This commit is contained in:
1 parent
afdd645d48
commit
af5226e646
11 files changed
+45
-48
No files matched your search
-6
@@ -133,12 +133,6 @@ public abstract class AbstractEventActivity<PLACE extends AbstractEventPlace> ex
|
||||
return getRaceViewerURL(leaderboard.name, raceIdentifier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRaceViewerURL(String regattaName, String trackedRaceName) {
|
||||
return EntryPointLinkFactory
|
||||
.createRaceBoardLink(createRaceBoardLinkParameters(regattaName, regattaName, trackedRaceName));
|
||||
}
|
||||
|
||||
public String getRaceViewerURL(String leaderboardName, RegattaAndRaceIdentifier raceIdentifier) {
|
||||
return EntryPointLinkFactory
|
||||
.createRaceBoardLink(createRaceBoardLinkParameters(leaderboardName, raceIdentifier.getRegattaName(), raceIdentifier.getRaceName()));
|
||||
|
||||
+2
-1
@@ -6,6 +6,7 @@ import com.google.gwt.place.shared.Place;
|
||||
import com.google.gwt.safehtml.shared.SafeUri;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.IsWidget;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.RaceDTO;
|
||||
import com.sap.sailing.gwt.common.client.controls.tabbar.TabView;
|
||||
import com.sap.sailing.gwt.home.client.place.event.regatta.AbstractEventRegattaPlace;
|
||||
@@ -56,7 +57,7 @@ public interface EventView<PLACE extends AbstractEventPlace, PRES extends EventV
|
||||
|
||||
String getRaceViewerURL(StrippedLeaderboardDTO leaderboard, RaceDTO race);
|
||||
|
||||
String getRaceViewerURL(String regattaName, String trackedRaceName);
|
||||
String getRaceViewerURL(String leaderboardName, RegattaAndRaceIdentifier raceIdentifier);
|
||||
|
||||
PlaceNavigation<RegattaRacesPlace> getRegattaRacesNavigation(String regattaName);
|
||||
PlaceNavigation<AbstractEventRegattaPlace> getRegattaNavigation(String regattaName);
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ public class RegattaCompetitionSeries extends Composite {
|
||||
RegattaCompetitionFleet competitionFleet = new RegattaCompetitionFleet(fleet);
|
||||
for (RaceListRaceDTO race : fleet.getRaces()) {
|
||||
boolean tracked = race.getTrackingState() == RaceTrackingState.TRACKED_VALID_DATA;
|
||||
String raceViewerUrl = tracked ? presenter.getRaceViewerURL(race.getRegattaName(), race.getTrackedRaceName()) : null;
|
||||
String raceViewerUrl = tracked ? presenter.getRaceViewerURL(race.getRegattaName(), race.getRegattaAndRaceIdentifier()) : null;
|
||||
competitionFleet.addRace(race, raceViewerUrl);
|
||||
}
|
||||
containerUi.add(competitionFleet);
|
||||
|
||||
+1
-1
@@ -514,7 +514,7 @@ public class RaceListColumnFactory {
|
||||
} else {
|
||||
String styleNames = data.getViewState() == RaceViewState.FINISHED ? analyseRaceStyle : watchNowStyle;
|
||||
String text = data.getViewState() == RaceViewState.FINISHED ? I18N.analyseRace() : I18N_UBI.watchNow();
|
||||
String raceViewerURL = presenter.getRaceViewerURL(data.getRegattaName(), data.getTrackedRaceName());
|
||||
String raceViewerURL = presenter.getRaceViewerURL(data.getLeaderboardName(), data.getRegattaAndRaceIdentifier());
|
||||
sb.append(TEMPLATE.raceViewerLinkButton(styleNames, text, raceViewerURL));
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -75,8 +75,8 @@ public class UpdatesBoxItem extends Widget {
|
||||
placeNavigation = presenter.getRegattaLeaderboardNavigation(((LeaderboardNewsEntryDTO) entry).getLeaderboardName());
|
||||
} else if(entry instanceof AbstractRaceNewsEntryDTO) {
|
||||
AbstractRaceNewsEntryDTO raceEntry = (AbstractRaceNewsEntryDTO) entry;
|
||||
if(raceEntry.getTrackedRaceName() != null) {
|
||||
directLink = presenter.getRaceViewerURL(raceEntry.getRegattaName(), raceEntry.getTrackedRaceName());
|
||||
if(raceEntry.getRegattaAndRaceIdentfier() != null) {
|
||||
directLink = presenter.getRaceViewerURL(raceEntry.getLeaderboardName(), raceEntry.getRegattaAndRaceIdentfier());
|
||||
}
|
||||
}
|
||||
if(placeNavigation != null) {
|
||||
|
||||
+3
-2
@@ -1,5 +1,6 @@
|
||||
package com.sap.sailing.gwt.ui.shared.dispatch.event;
|
||||
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.gwt.ui.shared.race.FlagStateDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.race.RaceMetadataDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.race.RaceProgressDTO;
|
||||
@@ -15,8 +16,8 @@ public class LiveRaceDTO extends RaceMetadataDTO<SimpleWindDTO> {
|
||||
private LiveRaceDTO() {
|
||||
}
|
||||
|
||||
public LiveRaceDTO(String regattaName, String raceName) {
|
||||
super(regattaName, raceName);
|
||||
public LiveRaceDTO(String leaderboardName, RegattaAndRaceIdentifier regattaAndRaceIdentifier, String raceName) {
|
||||
super(leaderboardName, regattaAndRaceIdentifier, raceName);
|
||||
}
|
||||
|
||||
public FlagStateDTO getFlagState() {
|
||||
|
||||
+6
-3
@@ -100,6 +100,10 @@ public class RaceContext {
|
||||
return !LeaderboardNameConstants.DEFAULT_FLEET_NAME.equals(fleet.getName());
|
||||
}
|
||||
|
||||
public String getLeaderboardName() {
|
||||
return leaderboard.getName();
|
||||
}
|
||||
|
||||
public String getRegattaName() {
|
||||
if (leaderboard instanceof RegattaLeaderboard) {
|
||||
Regatta regatta = ((RegattaLeaderboard) leaderboard).getRegatta();
|
||||
@@ -333,7 +337,7 @@ public class RaceContext {
|
||||
// and special flags states indicating how the postponed/canceled races will be continued
|
||||
if (isLiveOrOfPublicInterest()) {
|
||||
// the start time is always given for live races
|
||||
LiveRaceDTO liveRaceDTO = new LiveRaceDTO(getRegattaName(), raceColumn.getName());
|
||||
LiveRaceDTO liveRaceDTO = new LiveRaceDTO(getLeaderboardName(), trackedRace != null ? trackedRace.getRaceIdentifier(): null, raceColumn.getName());
|
||||
fillRaceData(liveRaceDTO);
|
||||
liveRaceDTO.setFlagState(getFlagStateOrNull());
|
||||
liveRaceDTO.setProgress(getProgressOrNull());
|
||||
@@ -348,7 +352,7 @@ public class RaceContext {
|
||||
// and special flags states indicating how the postponed/canceled races will be continued
|
||||
if (getLiveRaceViewState() == RaceViewState.FINISHED) {
|
||||
// the start time is always given for live races
|
||||
RaceListRaceDTO liveRaceDTO = new RaceListRaceDTO(getRegattaName(), raceColumn.getName());
|
||||
RaceListRaceDTO liveRaceDTO = new RaceListRaceDTO(getLeaderboardName(), trackedRace != null ? trackedRace.getRaceIdentifier(): null, raceColumn.getName());
|
||||
fillRaceData(liveRaceDTO);
|
||||
liveRaceDTO.setDuration(getDurationOrNull());
|
||||
liveRaceDTO.setWinner(getWinnerOrNull());
|
||||
@@ -436,7 +440,6 @@ public class RaceContext {
|
||||
private void fillRaceData(RaceMetadataDTO<?> dto) {
|
||||
dto.setViewState(getLiveRaceViewState());
|
||||
dto.setRegattaDisplayName(getRegattaDisplayName());
|
||||
dto.setTrackedRaceName(trackedRace != null ? trackedRace.getRaceIdentifier().getRaceName() : null);
|
||||
dto.setTrackingState(getRaceTrackingState());
|
||||
dto.setFleet(getFleetMetadataOrNull());
|
||||
dto.setStart(getStartTimeAsDate());
|
||||
|
||||
+3
-2
@@ -1,5 +1,6 @@
|
||||
package com.sap.sailing.gwt.ui.shared.dispatch.event;
|
||||
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.gwt.ui.shared.race.RaceMetadataDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.race.wind.WindStatisticsDTO;
|
||||
import com.sap.sse.common.Duration;
|
||||
@@ -16,8 +17,8 @@ public class RaceListRaceDTO extends RaceMetadataDTO<WindStatisticsDTO> {
|
||||
private RaceListRaceDTO() {
|
||||
}
|
||||
|
||||
public RaceListRaceDTO(String regattaName, String raceName) {
|
||||
super(regattaName, raceName);
|
||||
public RaceListRaceDTO(String leaderboardName, RegattaAndRaceIdentifier regattaAndRaceIdentifier, String raceName) {
|
||||
super(leaderboardName, regattaAndRaceIdentifier, raceName);
|
||||
}
|
||||
|
||||
public Duration getDuration() {
|
||||
|
||||
+9
-17
@@ -3,21 +3,21 @@ package com.sap.sailing.gwt.ui.shared.dispatch.news;
|
||||
import java.util.Date;
|
||||
|
||||
import com.google.gwt.core.shared.GwtIncompatible;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
|
||||
public abstract class AbstractRaceNewsEntryDTO extends NewsEntryDTO {
|
||||
|
||||
private String regattaName;
|
||||
private String trackedRaceName;
|
||||
private String leaderboardName;
|
||||
private RegattaAndRaceIdentifier regattaAndRaceIdentfier;
|
||||
private String boatClass;
|
||||
|
||||
protected AbstractRaceNewsEntryDTO() {
|
||||
}
|
||||
|
||||
@GwtIncompatible
|
||||
public AbstractRaceNewsEntryDTO(String regattaName, String trackedRaceName, String raceTitle, String boatClass, Date timestamp) {
|
||||
public AbstractRaceNewsEntryDTO(String leaderboardName, RegattaAndRaceIdentifier regattaAndRaceIdentifier, String raceTitle, String boatClass, Date timestamp) {
|
||||
super(raceTitle, timestamp, null);
|
||||
this.regattaName = regattaName;
|
||||
this.trackedRaceName = trackedRaceName;
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.boatClass = boatClass;
|
||||
}
|
||||
|
||||
@@ -26,19 +26,11 @@ public abstract class AbstractRaceNewsEntryDTO extends NewsEntryDTO {
|
||||
return boatClass;
|
||||
}
|
||||
|
||||
public String getRegattaName() {
|
||||
return regattaName;
|
||||
public String getLeaderboardName() {
|
||||
return leaderboardName;
|
||||
}
|
||||
|
||||
public void setRegattaName(String regattaName) {
|
||||
this.regattaName = regattaName;
|
||||
}
|
||||
|
||||
public String getTrackedRaceName() {
|
||||
return trackedRaceName;
|
||||
}
|
||||
|
||||
public void setTrackedRaceName(String trackedRaceName) {
|
||||
this.trackedRaceName = trackedRaceName;
|
||||
public RegattaAndRaceIdentifier getRegattaAndRaceIdentfier() {
|
||||
return regattaAndRaceIdentfier;
|
||||
}
|
||||
}
|
||||
+3
-2
@@ -2,6 +2,7 @@ package com.sap.sailing.gwt.ui.shared.dispatch.news;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
|
||||
public class RaceCompetitorNewsEntryDTO extends AbstractRaceNewsEntryDTO {
|
||||
@@ -17,8 +18,8 @@ public class RaceCompetitorNewsEntryDTO extends AbstractRaceNewsEntryDTO {
|
||||
private RaceCompetitorNewsEntryDTO() {
|
||||
}
|
||||
|
||||
public RaceCompetitorNewsEntryDTO(String regattaName, String trackedRaceName, String raceTitle, String boatClass, Date timestamp, String competitorName, Type type) {
|
||||
super(regattaName, trackedRaceName, raceTitle, boatClass, timestamp);
|
||||
public RaceCompetitorNewsEntryDTO(String leaderboardName, RegattaAndRaceIdentifier regattaAndRaceIdentifier, String raceTitle, String boatClass, Date timestamp, String competitorName, Type type) {
|
||||
super(leaderboardName, regattaAndRaceIdentifier, raceTitle, boatClass, timestamp);
|
||||
this.competitorName = competitorName;
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
+15
-11
@@ -2,6 +2,7 @@ package com.sap.sailing.gwt.ui.shared.race;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.DTO;
|
||||
import com.sap.sailing.gwt.ui.shared.race.wind.AbstractWindDTO;
|
||||
@@ -56,10 +57,11 @@ public abstract class RaceMetadataDTO<WIND extends AbstractWindDTO> implements D
|
||||
TRACKED_VALID_DATA // tracking is connected and all required data for displaying the race viewer is available
|
||||
}
|
||||
|
||||
private String leaderboardName;
|
||||
private RegattaAndRaceIdentifier regattaAndRaceIdentifier;
|
||||
private String regattaName;
|
||||
private String regattaDisplayName;
|
||||
private String raceName;
|
||||
private String trackedRaceName;
|
||||
private FleetMetadataDTO fleet;
|
||||
private Date start;
|
||||
private String courseArea;
|
||||
@@ -72,8 +74,10 @@ public abstract class RaceMetadataDTO<WIND extends AbstractWindDTO> implements D
|
||||
protected RaceMetadataDTO() {
|
||||
}
|
||||
|
||||
public RaceMetadataDTO(String regattaName, String raceName) {
|
||||
this.regattaName = regattaName;
|
||||
public RaceMetadataDTO(String leaderboardName, RegattaAndRaceIdentifier regattaAndRaceIdentifier, String raceName) {
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.regattaAndRaceIdentifier = regattaAndRaceIdentifier;
|
||||
this.regattaName = leaderboardName;
|
||||
this.raceName = raceName;
|
||||
}
|
||||
|
||||
@@ -81,6 +85,10 @@ public abstract class RaceMetadataDTO<WIND extends AbstractWindDTO> implements D
|
||||
return regattaName;
|
||||
}
|
||||
|
||||
public String getLeaderboardName() {
|
||||
return leaderboardName;
|
||||
}
|
||||
|
||||
public String getRaceName() {
|
||||
return raceName;
|
||||
}
|
||||
@@ -141,14 +149,6 @@ public abstract class RaceMetadataDTO<WIND extends AbstractWindDTO> implements D
|
||||
this.trackingState = trackingState;
|
||||
}
|
||||
|
||||
public String getTrackedRaceName() {
|
||||
return trackedRaceName;
|
||||
}
|
||||
|
||||
public void setTrackedRaceName(String trackedRaceName) {
|
||||
this.trackedRaceName = trackedRaceName;
|
||||
}
|
||||
|
||||
public WIND getWind() {
|
||||
return wind;
|
||||
}
|
||||
@@ -165,6 +165,10 @@ public abstract class RaceMetadataDTO<WIND extends AbstractWindDTO> implements D
|
||||
this.regattaDisplayName = regattaDisplayName;
|
||||
}
|
||||
|
||||
public RegattaAndRaceIdentifier getRegattaAndRaceIdentifier() {
|
||||
return regattaAndRaceIdentifier;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(RaceMetadataDTO<WIND> o) {
|
||||
Date thisStart = getStart();
|
||||
|
||||
Reference in new issue
Block a user