mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-08 05:11:04 +00:00
starting to copy state into LegEntryDAO
This commit is contained in:
1 parent
91cb628134
commit
caac6acf35
2 files changed
+20
-4
No files matched your search
+19
-3
@@ -25,6 +25,7 @@ import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.base.Buoy;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Event;
|
||||
import com.sap.sailing.domain.base.Leg;
|
||||
import com.sap.sailing.domain.base.Position;
|
||||
import com.sap.sailing.domain.base.RaceDefinition;
|
||||
import com.sap.sailing.domain.base.Speed;
|
||||
@@ -63,6 +64,7 @@ import com.sap.sailing.gwt.ui.shared.GPSFixDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardEntryDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LegEntryDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.MarkDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.Pair;
|
||||
import com.sap.sailing.gwt.ui.shared.PositionDAO;
|
||||
@@ -122,7 +124,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
result.competitors.add(competitorDAO);
|
||||
for (RaceInLeaderboard raceColumn : leaderboard.getRaceColumns()) {
|
||||
Entry entry = leaderboard.getEntry(competitor, raceColumn, timePoint);
|
||||
LeaderboardEntryDAO entryDAO = getLeaderboardEntryDAO(entry);
|
||||
LeaderboardEntryDAO entryDAO = getLeaderboardEntryDAO(entry, raceColumn.getTrackedRace(), competitor, timePoint);
|
||||
row.fieldsByRaceName.put(raceColumn.getName(), entryDAO);
|
||||
result.rows.put(competitorDAO, row);
|
||||
}
|
||||
@@ -139,7 +141,9 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
if (competitor != null) {
|
||||
RaceInLeaderboard raceColumn = leaderboard.getRaceColumnByName(raceName);
|
||||
if (raceColumn != null) {
|
||||
return getLeaderboardEntryDAO(leaderboard.getEntry(competitor, raceColumn, new MillisecondsTimePoint(date)));
|
||||
MillisecondsTimePoint timePoint = new MillisecondsTimePoint(date);
|
||||
return getLeaderboardEntryDAO(leaderboard.getEntry(competitor, raceColumn, timePoint),
|
||||
raceColumn.getTrackedRace(), competitor, timePoint);
|
||||
} else {
|
||||
throw new IllegalArgumentException("Didn't find race "+raceName+" in leaderboard "+leaderboardName);
|
||||
}
|
||||
@@ -151,15 +155,27 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
}
|
||||
}
|
||||
|
||||
private LeaderboardEntryDAO getLeaderboardEntryDAO(Entry entry) throws NoWindException {
|
||||
private LeaderboardEntryDAO getLeaderboardEntryDAO(Entry entry, TrackedRace trackedRace, Competitor competitor, TimePoint timePoint) throws NoWindException {
|
||||
LeaderboardEntryDAO entryDAO = new LeaderboardEntryDAO();
|
||||
entryDAO.netPoints = entry.getNetPoints();
|
||||
entryDAO.totalPoints = entry.getTotalPoints();
|
||||
entryDAO.reasonForMaxPoints = entry.getMaxPointsReason().name();
|
||||
entryDAO.discarded = entry.isDiscarded();
|
||||
for (Leg leg : trackedRace.getRace().getCourse().getLegs()) {
|
||||
TrackedLegOfCompetitor trackedLeg = trackedRace.getTrackedLeg(competitor, leg);
|
||||
LegEntryDAO legEntry = createLegEntry(trackedLeg, timePoint);
|
||||
entryDAO.legDetails.add(legEntry);
|
||||
}
|
||||
return entryDAO;
|
||||
}
|
||||
|
||||
private LegEntryDAO createLegEntry(TrackedLegOfCompetitor trackedLeg, TimePoint timePoint) {
|
||||
LegEntryDAO result = new LegEntryDAO();
|
||||
result.averageSpeedOverGroundInKnots = trackedLeg.getAverageSpeedOverGround(timePoint).getKnots();
|
||||
// TODO continue here, copying trackedLeg entries to result...
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<EventDAO> listEvents() throws IllegalArgumentException {
|
||||
List<EventDAO> result = new ArrayList<EventDAO>();
|
||||
for (Event event : getService().getAllEvents()) {
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
|
||||
*/
|
||||
public class LegEntryDAO implements IsSerializable {
|
||||
public double distanceTraveledInMeters;
|
||||
public double averageSpeedInKnots;
|
||||
public double averageSpeedOverGroundInKnots;
|
||||
public int rank;
|
||||
public double gapToLeaderInSeconds;
|
||||
public double estimatedTimeToNextWaypointInSeconds;
|
||||
|
||||
Reference in new issue
Block a user