mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-29 15:27:14 +00:00
Adjusted the event overview stage DTO model to prepare it for further
development of the UI
This commit is contained in:
1 parent
6704f45d89
commit
ed12bc669c
6 files changed
+56
-13
No files matched your search
+3
-1
@@ -7,6 +7,7 @@ import com.sap.sailing.gwt.home.client.place.event.EventView;
|
||||
import com.sap.sailing.gwt.home.client.place.event.partials.countdown.Countdown;
|
||||
import com.sap.sailing.gwt.home.client.place.event.partials.livestream.Livestream;
|
||||
import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.reload.RefreshableWidget;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.EventOverviewStageContentDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.EventOverviewStageDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.EventOverviewTickerStageDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.EventOverviewVideoStageDTO;
|
||||
@@ -25,7 +26,8 @@ public class EventOverviewStage extends Composite implements RefreshableWidget<E
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setData(EventOverviewStageDTO data, long nextUpdate, int updateNo) {
|
||||
public void setData(EventOverviewStageDTO stageData, long nextUpdate, int updateNo) {
|
||||
EventOverviewStageContentDTO data = stageData.getStageContent();
|
||||
if(data instanceof EventOverviewVideoStageDTO) {
|
||||
if(!(lastContent instanceof Livestream)) {
|
||||
lastContent = new Livestream();
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package com.sap.sailing.gwt.ui.shared.dispatch.event;
|
||||
|
||||
import com.google.gwt.user.client.rpc.IsSerializable;
|
||||
|
||||
public interface EventOverviewStageContentDTO extends IsSerializable {
|
||||
|
||||
}
|
||||
+23
-1
@@ -2,6 +2,28 @@ package com.sap.sailing.gwt.ui.shared.dispatch.event;
|
||||
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.DTO;
|
||||
|
||||
public interface EventOverviewStageDTO extends DTO {
|
||||
public class EventOverviewStageDTO implements DTO {
|
||||
|
||||
private String eventMessage;
|
||||
private EventOverviewStageContentDTO stageContent;
|
||||
|
||||
// TODO news
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private EventOverviewStageDTO() {
|
||||
}
|
||||
|
||||
public EventOverviewStageDTO(String eventMessage, EventOverviewStageContentDTO stageContent) {
|
||||
super();
|
||||
this.eventMessage = eventMessage;
|
||||
this.stageContent = stageContent;
|
||||
}
|
||||
|
||||
public String getEventMessage() {
|
||||
return eventMessage;
|
||||
}
|
||||
|
||||
public EventOverviewStageContentDTO getStageContent() {
|
||||
return stageContent;
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -2,7 +2,7 @@ package com.sap.sailing.gwt.ui.shared.dispatch.event;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class EventOverviewTickerStageDTO implements EventOverviewStageDTO {
|
||||
public class EventOverviewTickerStageDTO implements EventOverviewStageContentDTO {
|
||||
|
||||
private Date startTime;
|
||||
private String tickerInfo;
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
package com.sap.sailing.gwt.ui.shared.dispatch.event;
|
||||
|
||||
public class EventOverviewVideoStageDTO implements EventOverviewStageDTO {
|
||||
public class EventOverviewVideoStageDTO implements EventOverviewStageContentDTO {
|
||||
|
||||
}
|
||||
+21
-9
@@ -27,17 +27,29 @@ public class GetEventOverviewStageAction implements Action<ResultWithTTL<EventOv
|
||||
public GetEventOverviewStageAction(UUID eventId) {
|
||||
this.eventId = eventId;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@GwtIncompatible
|
||||
public ResultWithTTL<EventOverviewStageDTO> execute(DispatchContext context) {
|
||||
Event event = context.getRacingEventService().getEvent(eventId);
|
||||
MillisecondsTimePoint now = MillisecondsTimePoint.now();
|
||||
|
||||
Event event = context.getRacingEventService().getEvent(eventId);
|
||||
EventState state = HomeServiceUtil.calculateEventState(event);
|
||||
int ttl = 1000 * 60 * 5;
|
||||
if(state == EventState.RUNNING) {
|
||||
ttl = 1000 * 60 * 2;
|
||||
}
|
||||
if(state == EventState.UPCOMING || state == EventState.PLANNED) {
|
||||
return new ResultWithTTL<EventOverviewStageDTO>(5000, new EventOverviewTickerStageDTO(event.getStartDate()
|
||||
.asDate(), event.getName()));
|
||||
ttl = Math.max(ttl, (int) now.until(event.getStartDate()).asMillis());
|
||||
}
|
||||
return new ResultWithTTL<>(ttl, new EventOverviewStageDTO(null, getStageContent(event, state, now)));
|
||||
}
|
||||
|
||||
@GwtIncompatible
|
||||
public EventOverviewStageContentDTO getStageContent(Event event, EventState state, MillisecondsTimePoint now) {
|
||||
|
||||
if(state == EventState.UPCOMING || state == EventState.PLANNED) {
|
||||
return new EventOverviewTickerStageDTO(event.getStartDate()
|
||||
.asDate(), event.getName());
|
||||
}
|
||||
|
||||
if(state == EventState.RUNNING) {
|
||||
@@ -59,9 +71,9 @@ public class GetEventOverviewStageAction implements Action<ResultWithTTL<EventOv
|
||||
}
|
||||
}
|
||||
if(!HomeServiceUtil.isSingleRegatta(event) && nextRegatta != null) {
|
||||
return new ResultWithTTL<EventOverviewStageDTO>(5000, new EventOverviewRegattaTickerStageDTO(
|
||||
return new EventOverviewRegattaTickerStageDTO(
|
||||
new RegattaName(nextRegatta.getName()), nextRegatta.getName(), nextRegatta.getStartDate()
|
||||
.asDate()));
|
||||
.asDate());
|
||||
} else {
|
||||
// TODO find next race or live race
|
||||
// for (LeaderboardGroup lg : event.getLeaderboardGroups()) {
|
||||
@@ -76,14 +88,14 @@ public class GetEventOverviewStageAction implements Action<ResultWithTTL<EventOv
|
||||
// TODO Proper Implementation (Type race)
|
||||
EventOverviewTickerStageDTO ticker = new EventOverviewRaceTickerStageDTO(new RegattaNameAndRaceName(
|
||||
"Regatta XY", "Race 1"), "Race 1 - Gold Fleet", new Date(new Date().getTime() + 5000));
|
||||
return new ResultWithTTL<EventOverviewStageDTO>(5000, ticker);
|
||||
return ticker;
|
||||
}
|
||||
// TODO clever fallback for live event/regatta?
|
||||
// }
|
||||
}
|
||||
// finished
|
||||
// if(TODO highlights video) {
|
||||
return new ResultWithTTL<EventOverviewStageDTO>(5000, new EventOverviewVideoStageDTO());
|
||||
return new EventOverviewVideoStageDTO();
|
||||
// } else {
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user