reverted mainly to Marc's version, plus some formatting and comments

This commit is contained in:
Axel Uhl committed 2020-01-27 11:00:32 +01:00
1 parent b21b29b5e9
commit de2fa4c460
5 files changed
+37 -20

No files matched your search

@@ -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();
@@ -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;
}
}
@@ -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);
}
}
@@ -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;
@@ -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;