# working towards reworking the analyzers.

This commit is contained in:
Lukas Niemeier committed 2013-06-12 15:57:51 +02:00
1 parent 8f643709f4
commit 10789d9c4c
8 files changed
+157 -51

No files matched your search

@@ -47,4 +47,8 @@ public interface RaceLog extends Track<RaceLogEvent>, WithID {
* Checks if the race log is empty.
*/
boolean isEmpty();
Iterable<RaceLogEvent> getRawFixesDescending();
Iterable<RaceLogEvent> getFixesDescending();
}
@@ -14,20 +14,20 @@ public class AbortingFlagFinder extends RaceLogAnalyzer {
public RaceLogFlagEvent getAbortingFlagEvent() {
RaceLogFlagEvent newFlagEvent = null;
this.raceLog.lockForRead();
try {
newFlagEvent = searchForAbortingFlagEvent();
} finally {
this.raceLog.unlockAfterRead();
}
return newFlagEvent;
}
private RaceLogFlagEvent searchForAbortingFlagEvent() {
RaceLogFlagEvent newFlagEvent = null;
if (raceLog.getCurrentPassId() > 0) {
int relevantPassId = raceLog.getCurrentPassId() - 1;
for (RaceLogEvent event : getAllEvents()) {
@@ -41,10 +41,10 @@ public class AbortingFlagFinder extends RaceLogAnalyzer {
}
}
}
return newFlagEvent;
}
private boolean isAbortingFlag(RaceLogFlagEvent flagEvent) {
return (flagEvent.getUpperFlag().equals(Flags.AP) && flagEvent.isDisplayed())
|| (flagEvent.getUpperFlag().equals(Flags.NOVEMBER) && flagEvent.isDisplayed())
@@ -21,15 +21,13 @@ public class ProtestStartTimeFinder extends RaceLogAnalyzer {
}
private TimePoint searchForStartTime() {
TimePoint result = null;
for (RaceLogEvent event : getPassEvents()) {
if (event instanceof RaceLogProtestStartTimeEvent) {
result = ((RaceLogProtestStartTimeEvent) event).getProtestStartTime();
TimePoint result = ((RaceLogProtestStartTimeEvent) event).getProtestStartTime();
return result;
}
}
return result;
return null;
}
}
@@ -18,4 +18,12 @@ public abstract class RaceLogAnalyzer {
protected Iterable<RaceLogEvent> getAllEvents() {
return raceLog.getRawFixes();
}
protected Iterable<RaceLogEvent> getPassEventsDescending() {
return raceLog.getFixesDescending();
}
protected Iterable<RaceLogEvent> getAllEventsDescending() {
return raceLog.getRawFixesDescending();
}
}
@@ -141,4 +141,14 @@ public class RaceLogImpl extends TrackImpl<RaceLogEvent> implements RaceLog {
listeners = new HashSet<RaceLogEventVisitor>();
}
@Override
public Iterable<RaceLogEvent> getRawFixesDescending() {
return getRawFixes().descendingSet();
}
@Override
public Iterable<RaceLogEvent> getFixesDescending() {
return getFixes().descendingSet();
}
}