# refactoring and tests for AbortingFlagFinder

This commit is contained in:
Lukas Niemeier committed 2013-06-13 15:17:34 +02:00
1 parent 8f31a5a2c5
commit 9d6c6c33fc
2 files changed
+133 -13

No files matched your search

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