Adjustments of how to construct the race viewer link

This commit is contained in:
Steffen Schaefer committed 2015-05-20 18:12:08 +02:00
1 parent 84a586e26b
commit a37910eaab
8 files changed
+36 -47

No files matched your search

@@ -120,32 +120,34 @@ public abstract class AbstractEventActivity<PLACE extends AbstractEventPlace> ex
return new EventContext(ctx).withRegattaId(regattaId);
}
@Override
public String getRaceViewerURL(StrippedLeaderboardDTO leaderboard, RaceDTO race) {
RegattaAndRaceIdentifier raceIdentifier = race.getRaceIdentifier();
return getRaceViewerURL(leaderboard.name, raceIdentifier);
}
public String getRaceViewerURL(RegattaAndRaceIdentifier raceIdentifier) {
@Override
public String getRaceViewerURL(String regattaName, String trackedRaceName) {
return EntryPointLinkFactory
.createRaceBoardLink(createRaceBoardLinkParameters(raceIdentifier.getRegattaName(), raceIdentifier));
.createRaceBoardLink(createRaceBoardLinkParameters(regattaName, regattaName, trackedRaceName));
}
public String getRaceViewerURL(String leaderboardName, RegattaAndRaceIdentifier raceIdentifier) {
return EntryPointLinkFactory
.createRaceBoardLink(createRaceBoardLinkParameters(leaderboardName, raceIdentifier));
.createRaceBoardLink(createRaceBoardLinkParameters(leaderboardName, raceIdentifier.getRegattaName(), raceIdentifier.getRaceName()));
}
private Map<String, String> createRaceBoardLinkParameters(String leaderboardName,
RegattaAndRaceIdentifier raceIdentifier) {
String regattaName, String trackedRaceName) {
Map<String, String> linkParams = new HashMap<String, String>();
linkParams.put("eventId", ctx.getEventId());
linkParams.put("leaderboardName", leaderboardName);
linkParams.put("raceName", raceIdentifier.getRaceName());
linkParams.put("raceName", trackedRaceName);
// TODO this must only be forwarded if there is a logged-on user
// linkParams.put(RaceBoardViewConfiguration.PARAM_CAN_REPLAY_DURING_LIVE_RACES, "true");
linkParams.put(RaceBoardViewConfiguration.PARAM_VIEW_SHOW_MAPCONTROLS, "true");
linkParams.put(RaceBoardViewConfiguration.PARAM_VIEW_SHOW_NAVIGATION_PANEL, "true");
linkParams.put("regattaName", raceIdentifier.getRegattaName());
linkParams.put("regattaName", regattaName);
return linkParams;
}
@@ -53,7 +53,7 @@ public interface EventView<PLACE extends AbstractEventPlace, PRES extends EventV
String getRaceViewerURL(StrippedLeaderboardDTO leaderboard, RaceDTO race);
String getRaceViewerURL(RegattaAndRaceIdentifier raceIdentifier);
String getRaceViewerURL(String regattaName, String trackedRaceName);
PlaceNavigation<RegattaRacesPlace> getRegattaRacesNavigation(String regattaName);
PlaceNavigation<AbstractEventRegattaPlace> getRegattaNavigation(String regattaName);
@@ -94,7 +94,9 @@ public class Countdown extends Composite {
}
private void linkToRaceViewer(EventOverviewRaceTickerStageDTO data) {
String url = presenter.getRaceViewerURL(data.getRegattaAndRaceIdentifier());
// TODO implement correctly
// String url = presenter.getRaceViewerURL(data.getRegattaAndRaceIdentifier());
String url = "";
this.update(MAIN_CSS.buttonprimary(), MAIN_CSS.buttonred(), I18N_UBI.watchNow(), null, url);
}
@@ -366,7 +366,7 @@ public abstract class AbstractRaceList<T extends RaceMetadataDTO> extends Compos
} 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.getID());
String raceViewerURL = presenter.getRaceViewerURL(data.getRegattaName(), data.getTrackedRaceName());
sb.append(TEMPLATE.raceViewerLinkButton(styleNames, text, raceViewerURL));
}
}
@@ -1,6 +1,5 @@
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;
@@ -8,8 +7,6 @@ import com.sap.sailing.gwt.ui.shared.race.SimpleWindDTO;
public class LiveRaceDTO extends RaceMetadataDTO {
private String regattaName;
private FlagStateDTO flagState;
private SimpleWindDTO wind;
@@ -20,16 +17,8 @@ public class LiveRaceDTO extends RaceMetadataDTO {
private LiveRaceDTO() {
}
public LiveRaceDTO(RegattaAndRaceIdentifier id) {
super(id);
}
public String getRegattaName() {
return regattaName;
}
public void setRegattaName(String regattaName) {
this.regattaName = regattaName;
public LiveRaceDTO(String regattaName, String raceName) {
super(regattaName, raceName);
}
public SimpleWindDTO getWind() {
@@ -18,8 +18,6 @@ import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.Regatta;
import com.sap.sailing.domain.common.LeaderboardNameConstants;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.domain.common.RegattaNameAndRaceName;
import com.sap.sailing.domain.common.TimingConstants;
import com.sap.sailing.domain.common.Wind;
import com.sap.sailing.domain.common.WindSourceType;
@@ -86,10 +84,6 @@ public class RaceContext {
return leeaderboard.getName();
}
private RegattaAndRaceIdentifier getIdentifier() {
return new RegattaNameAndRaceName(getRegattaName(), raceColumn.getName());
}
private FleetMetadataDTO getFleetMetadataOrNull() {
if (!isShowFleetData()) {
return null;
@@ -235,12 +229,11 @@ public class RaceContext {
// and special flags states indicating how the postponed/canceled races will be continued
if(isLiveOrOfPublicInterest(startTime, finishTime)) {
// the start time is always given for live races
LiveRaceDTO liveRaceDTO = new LiveRaceDTO(getIdentifier());
LiveRaceDTO liveRaceDTO = new LiveRaceDTO(getRegattaName(), raceColumn.getName());
liveRaceDTO.setViewState(getRaceViewState(startTime, finishTime));
liveRaceDTO.setTrackedRaceName(trackedRace != null ? trackedRace.getRaceIdentifier().getRaceName() : null);
liveRaceDTO.setTrackingState(getRaceTrackingState());
liveRaceDTO.setRegattaName(getRegattaDisplayName());
liveRaceDTO.setFleet(getFleetMetadataOrNull());
liveRaceDTO.setRaceName(raceColumn.getName());
liveRaceDTO.setStart(startTime.asDate());
liveRaceDTO.setBoatClass(getBoatClassName());
liveRaceDTO.setCourseArea(getCourseAreaOrNull());
@@ -319,4 +312,4 @@ public class RaceContext {
}
return result;
}
}
}
@@ -1,6 +1,5 @@
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.WindStatisticsDTO;
@@ -15,8 +14,8 @@ public class RaceListRaceDTO extends RaceMetadataDTO {
private RaceListRaceDTO() {
}
public RaceListRaceDTO(RegattaAndRaceIdentifier id) {
super(id);
public RaceListRaceDTO(String regattaName, String raceName) {
super(regattaName, raceName);
}
public WindStatisticsDTO getWind() {
@@ -3,7 +3,6 @@ package com.sap.sailing.gwt.ui.shared.race;
import java.util.Date;
import com.google.gwt.user.client.rpc.IsSerializable;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.gwt.ui.client.StringMessages;
public class RaceMetadataDTO implements IsSerializable {
@@ -55,9 +54,9 @@ public class RaceMetadataDTO implements IsSerializable {
TRACKED_VALID_DATA // tracking is connected and all required data for displaying the race viewer is available
}
private RegattaAndRaceIdentifier id;
private String regattaName;
private String raceName;
private String trackedRaceName;
private FleetMetadataDTO fleet;
private Date start;
private String courseArea;
@@ -69,22 +68,19 @@ public class RaceMetadataDTO implements IsSerializable {
protected RaceMetadataDTO() {
}
public RaceMetadataDTO(RegattaAndRaceIdentifier id) {
this.id = id;
public RaceMetadataDTO(String regattaName, String raceName) {
this.regattaName = regattaName;
this.raceName = raceName;
}
public RegattaAndRaceIdentifier getID() {
return id;
public String getRegattaName() {
return regattaName;
}
public String getRaceName() {
return raceName;
}
public void setRaceName(String raceName) {
this.raceName = raceName;
}
public FleetMetadataDTO getFleet() {
return fleet;
}
@@ -140,4 +136,12 @@ public class RaceMetadataDTO implements IsSerializable {
public void setTrackingState(RaceTrackingState trackingState) {
this.trackingState = trackingState;
}
public String getTrackedRaceName() {
return trackedRaceName;
}
public void setTrackedRaceName(String trackedRaceName) {
this.trackedRaceName = trackedRaceName;
}
}