mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-14 14:30:10 +00:00
reverted mainly to Marc's version, plus some formatting and comments
This commit is contained in:
1 parent
b21b29b5e9
commit
de2fa4c460
5 files changed
+37
-20
No files matched your search
+4
-1
@@ -21,10 +21,13 @@ public interface HasTrackedRaceContext {
|
||||
public HasLeaderboardContext getLeaderboardContext();
|
||||
|
||||
/**
|
||||
* Never {@code null}
|
||||
* May be {@code null}
|
||||
*/
|
||||
public TrackedRace getTrackedRace();
|
||||
|
||||
/**
|
||||
* May be {@code null}
|
||||
*/
|
||||
@Connector(messageKey="Regatta", ordinal=0)
|
||||
public Regatta getRegatta();
|
||||
|
||||
|
||||
+7
-6
@@ -23,14 +23,15 @@ public class RaceOfCompetitorRetrievalProcessor extends AbstractRetrievalProcess
|
||||
@Override
|
||||
protected Iterable<HasRaceOfCompetitorContext> retrieveData(HasTrackedRaceContext element) {
|
||||
Collection<HasRaceOfCompetitorContext> raceOfCompetitorsWithContext = new ArrayList<>();
|
||||
for (Competitor competitor : element.getTrackedRace().getRace().getCompetitors()) {
|
||||
if (isAborted()) {
|
||||
break;
|
||||
if (element.getTrackedRace() != null) {
|
||||
for (Competitor competitor : element.getTrackedRace().getRace().getCompetitors()) {
|
||||
if (isAborted()) {
|
||||
break;
|
||||
}
|
||||
HasRaceOfCompetitorContext raceOfCompetitorWithContext = new RaceOfCompetitorWithContext(element, competitor);
|
||||
raceOfCompetitorsWithContext.add(raceOfCompetitorWithContext);
|
||||
}
|
||||
HasRaceOfCompetitorContext raceOfCompetitorWithContext = new RaceOfCompetitorWithContext(element, competitor);
|
||||
raceOfCompetitorsWithContext.add(raceOfCompetitorWithContext);
|
||||
}
|
||||
return raceOfCompetitorsWithContext;
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -42,7 +42,7 @@ public class TrackedRaceRetrievalProcessor extends AbstractRetrievalProcessor<Ha
|
||||
}
|
||||
else {
|
||||
//no tracked race found
|
||||
HasTrackedRaceContext trackedRaceWithContext = new TrackedRaceWithContext(element, null, raceColumn, fleet, null);
|
||||
HasTrackedRaceContext trackedRaceWithContext = new TrackedRaceWithContext(element, /* regatta */ null, raceColumn, fleet, /* trackedRace */ null);
|
||||
trackedRacesWithContext.add(trackedRaceWithContext);
|
||||
}
|
||||
}
|
||||
|
||||
+25
-11
@@ -120,8 +120,14 @@ public class TrackedLegOfCompetitorWithContext implements HasTrackedLegOfCompeti
|
||||
|
||||
@Override
|
||||
public Distance getDistanceTraveled() {
|
||||
TimePoint timePoint = getTrackedLegContext().getTrackedRaceContext().getTrackedRace().getEndOfTracking();
|
||||
return getTrackedLegOfCompetitor().getDistanceTraveled(timePoint);
|
||||
final Distance result;
|
||||
if (getTrackedLegContext().getTrackedRaceContext().getTrackedRace() != null) {
|
||||
TimePoint timePoint = getTrackedLegContext().getTrackedRaceContext().getTrackedRace().getEndOfTracking();
|
||||
result = getTrackedLegOfCompetitor().getDistanceTraveled(timePoint);
|
||||
} else {
|
||||
result = null;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -148,13 +154,19 @@ public class TrackedLegOfCompetitorWithContext implements HasTrackedLegOfCompeti
|
||||
}
|
||||
|
||||
private Integer getRankAtStart() {
|
||||
if (!isRankAtStartInitialized) {
|
||||
TrackedRace trackedRace = getTrackedLegContext().getTrackedRaceContext().getTrackedRace();
|
||||
int rank = trackedRace.getRank(getCompetitor(), getTrackedLegOfCompetitor().getStartTime());
|
||||
rankAtStart = rank == 0 ? null : rank;
|
||||
isRankAtStartInitialized = true;
|
||||
final Integer result;
|
||||
if (getTrackedLegContext().getTrackedRaceContext().getTrackedRace() != null) {
|
||||
if (!isRankAtStartInitialized) {
|
||||
TrackedRace trackedRace = getTrackedLegContext().getTrackedRaceContext().getTrackedRace();
|
||||
int rank = trackedRace.getRank(getCompetitor(), getTrackedLegOfCompetitor().getStartTime());
|
||||
rankAtStart = rank == 0 ? null : rank;
|
||||
isRankAtStartInitialized = true;
|
||||
}
|
||||
result = rankAtStart;
|
||||
} else {
|
||||
result = null;
|
||||
}
|
||||
return rankAtStart;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -262,9 +274,11 @@ public class TrackedLegOfCompetitorWithContext implements HasTrackedLegOfCompeti
|
||||
private int getNumberOf(ManeuverType maneuverType, TimePoint start, TimePoint end) {
|
||||
TrackedRace trackedRace = getTrackedRace();
|
||||
int number = 0;
|
||||
for (Maneuver maneuver : trackedRace.getManeuvers(getCompetitor(), start, end, false)) {
|
||||
if (maneuver.getType() == maneuverType) {
|
||||
number++;
|
||||
if (trackedRace != null) {
|
||||
for (Maneuver maneuver : trackedRace.getManeuvers(getCompetitor(), start, end, false)) {
|
||||
if (maneuver.getType() == maneuverType) {
|
||||
number++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return number;
|
||||
|
||||
-1
@@ -40,7 +40,6 @@ public class TrackedRaceWithContext implements HasTrackedRaceContext {
|
||||
private boolean yearHasBeenInitialized;
|
||||
|
||||
public TrackedRaceWithContext(HasLeaderboardContext leaderboardContext, Regatta regatta, RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) {
|
||||
assert trackedRace != null;
|
||||
this.leaderboardContext = leaderboardContext;
|
||||
this.regatta = regatta;
|
||||
this.raceColumn = raceColumn;
|
||||
|
||||
Reference in new issue
Block a user