Races lists - Temporary adjustements to RaceView DTOs

This commit is contained in:
Benjamin Barth committed 2015-07-06 09:23:24 +02:00
1 parent 757113094b
commit 03b686e27d
3 files changed
+39 -26

No files matched your search

@@ -1,6 +1,8 @@
package com.sap.sailing.gwt.ui.shared.dispatch.event;
import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.google.gwt.core.shared.GwtIncompatible;
import com.sap.sailing.gwt.ui.shared.dispatch.Action;
@@ -9,8 +11,10 @@ import com.sap.sailing.gwt.ui.shared.dispatch.ResultWithTTL;
public class GetRaceListViewAction implements Action<ResultWithTTL<RaceListViewDTO>> {
private static final Logger logger = Logger.getLogger(GetRaceListViewAction.class.getName());
private UUID eventId;
public GetRaceListViewAction() {
}
@@ -21,20 +25,13 @@ public class GetRaceListViewAction implements Action<ResultWithTTL<RaceListViewD
@Override
@GwtIncompatible
public ResultWithTTL<RaceListViewDTO> execute(DispatchContext context) {
final RaceListViewDTO result = new RaceListViewDTO();
result.setLiveRaces(new GetLiveRacesForEventAction(eventId).execute(context).getDto());
long start = System.currentTimeMillis();
RaceListDataCalculator raceListDataCalculator = new RaceListDataCalculator();
RacesActionUtil.forRacesOfEvent(context, eventId, raceListDataCalculator);
ResultWithTTL<RaceListViewDTO> result = raceListDataCalculator.getResult();
// RacesActionUtil.forRacesOfEvent(context, eventId, new RaceCallback() {
// @Override
// public void doForRace(RaceContext rc) {
// // TODO better condition after Frank implemented race state stuff
// if(!rc.isRaceDefinitionAvailable() || !rc.isRaceLogAvailable() || !rc.isLive() || !rc.isStartTimeAvailable()) {
// return;
// }
//
// result.addRace(rc.getLiveRaceDTO());
// }
// });
return new ResultWithTTL<>(5000, result);
long duration = System.currentTimeMillis() - start;
logger.log(Level.INFO, "Calculating race list for event "+ eventId + " took: "+ duration + "ms");
return result;
}
}
@@ -0,0 +1,21 @@
package com.sap.sailing.gwt.ui.shared.dispatch.event;
import com.google.gwt.core.shared.GwtIncompatible;
import com.sap.sailing.gwt.ui.shared.dispatch.ResultWithTTL;
import com.sap.sailing.gwt.ui.shared.dispatch.event.RacesActionUtil.RaceCallback;
@GwtIncompatible
public class RaceListDataCalculator implements RaceCallback {
private final RaceListViewDTO result = new RaceListViewDTO();
@Override
public void doForRace(RaceContext context) {
context.addLiveRace(result.getLiveRaces());
}
public ResultWithTTL<RaceListViewDTO> getResult() {
return new ResultWithTTL<>(5000, result);
}
}
@@ -11,7 +11,7 @@ import com.sap.sailing.gwt.ui.shared.race.RaceMetadataDTO;
public class RaceListViewDTO implements DTO {
private LiveRacesDTO liveRaces;
private LiveRacesDTO liveRaces = new LiveRacesDTO();
private ArrayList<RaceListRaceDTO> allRaces = new ArrayList<>();
@@ -19,21 +19,16 @@ public class RaceListViewDTO implements DTO {
// TODO implement based on race.getStart();
}
public void setLiveRaces(LiveRacesDTO liveRaces) {
this.liveRaces = new LiveRacesDTO();
for (int i = 0; i < liveRaces.getRaces().size(); i++) {
LiveRaceDTO liveRace = liveRaces.getRaces().get(i);
if (i < 3) this.liveRaces.addRace(liveRace);
allRaces.add(convert(liveRace));
}
}
public LiveRacesDTO getLiveRaces() {
return liveRaces;
}
public List<RaceListRaceDTO> getAllRaces() {
return allRaces;
ArrayList<RaceListRaceDTO> list = new ArrayList<RaceListRaceDTO>(liveRaces.getRaces().size());
for (LiveRaceDTO liveRace : liveRaces.getRaces()) {
list.add(convert(liveRace));
}
return list;
}
public Collection<RaceListSeriesDTO> getRacesForCompetitionFormat() {