mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-08 21:30:57 +00:00
# refactoring and tests for AbortingFlagFinder
This commit is contained in:
1 parent
8f31a5a2c5
commit
9d6c6c33fc
2 files changed
+133
-13
No files matched your search
+11
-13
@@ -13,26 +13,24 @@ public class AbortingFlagFinder extends RaceLogAnalyzer<RaceLogFlagEvent> {
|
||||
|
||||
@Override
|
||||
protected RaceLogFlagEvent performAnalyzation() {
|
||||
RaceLogFlagEvent newFlagEvent = null;
|
||||
if (raceLog.getCurrentPassId() <= RaceLog.DefaultPassId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (raceLog.getCurrentPassId() > RaceLog.DefaultPassId) {
|
||||
int relevantPassId = raceLog.getCurrentPassId() - 1;
|
||||
for (RaceLogEvent event : getAllEvents()) {
|
||||
if (event.getPassId() == relevantPassId) {
|
||||
if (event instanceof RaceLogFlagEvent) {
|
||||
RaceLogFlagEvent flagEvent = (RaceLogFlagEvent) event;
|
||||
if (isAbortingFlag(flagEvent)) {
|
||||
newFlagEvent = flagEvent;
|
||||
}
|
||||
}
|
||||
int lastButOnePass = raceLog.getCurrentPassId() - 1;
|
||||
for (RaceLogEvent event : getAllEventsDescending()) {
|
||||
if (event.getPassId() == lastButOnePass && event instanceof RaceLogFlagEvent) {
|
||||
RaceLogFlagEvent flagEvent = (RaceLogFlagEvent) event;
|
||||
if (isDisplayedAbortingFlag(flagEvent)) {
|
||||
return flagEvent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return newFlagEvent;
|
||||
return null;
|
||||
}
|
||||
|
||||
private static boolean isAbortingFlag(RaceLogFlagEvent flagEvent) {
|
||||
private static boolean isDisplayedAbortingFlag(RaceLogFlagEvent flagEvent) {
|
||||
return (flagEvent.getUpperFlag().equals(Flags.AP) && flagEvent.isDisplayed())
|
||||
|| (flagEvent.getUpperFlag().equals(Flags.NOVEMBER) && flagEvent.isDisplayed())
|
||||
|| (flagEvent.getUpperFlag().equals(Flags.FIRSTSUBSTITUTE) && flagEvent.isDisplayed());
|
||||
|
||||
Reference in new issue
Block a user