diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/state/impl/analyzers/FinishedTimeFinder.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/state/impl/analyzers/FinishedTimeFinder.java new file mode 100644 index 00000000000..663b9dd97ab --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/state/impl/analyzers/FinishedTimeFinder.java @@ -0,0 +1,28 @@ +package com.sap.sailing.racecommittee.app.domain.state.impl.analyzers; + +import com.sap.sailing.domain.common.TimePoint; +import com.sap.sailing.domain.racelog.RaceLog; +import com.sap.sailing.domain.racelog.RaceLogEvent; +import com.sap.sailing.domain.racelog.RaceLogRaceStatus; +import com.sap.sailing.domain.racelog.RaceLogRaceStatusEvent; + +public class FinishedTimeFinder extends RaceLogAnalyzer { + + public FinishedTimeFinder(RaceLog raceLog) { + super(raceLog); + } + + public TimePoint getFinishedTime() { + TimePoint finishedTime = null; + for (RaceLogEvent event : getPassEvents()) { + if (event instanceof RaceLogRaceStatusEvent) { + RaceLogRaceStatusEvent statusEvent = (RaceLogRaceStatusEvent) event; + if (statusEvent.getNextStatus().equals(RaceLogRaceStatus.FINISHED)) { + finishedTime = statusEvent.getTimePoint(); + } + } + } + return finishedTime; + } + +}