diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/orc/ORCScratchBoatEvent.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/orc/ORCScratchBoatEvent.java index f69c437291b..fb34347ea20 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/orc/ORCScratchBoatEvent.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/orc/ORCScratchBoatEvent.java @@ -1,8 +1,10 @@ package com.sap.sailing.domain.abstractlog.orc; +import java.io.Serializable; + +import com.sap.sailing.domain.abstractlog.Revokable; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -//TODO Implementation and decision whether the scratch boat should be set for a whole regatta or per race -public interface ORCScratchBoatEvent extends RaceLogEvent { - +public interface ORCScratchBoatEvent extends RaceLogEvent, Revokable { + Serializable getCompetitorId(); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/orc/impl/ORCLegDataAnalyzer.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/orc/RaceLogORCLegDataAnalyzer.java similarity index 87% rename from java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/orc/impl/ORCLegDataAnalyzer.java rename to java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/orc/RaceLogORCLegDataAnalyzer.java index df14a22b9f7..a5c2fef21ea 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/orc/impl/ORCLegDataAnalyzer.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/orc/RaceLogORCLegDataAnalyzer.java @@ -1,9 +1,8 @@ -package com.sap.sailing.domain.abstractlog.orc.impl; +package com.sap.sailing.domain.abstractlog.orc; import java.util.HashMap; import java.util.Map; -import com.sap.sailing.domain.abstractlog.orc.RaceLogORCLegDataEvent; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogAnalyzer; @@ -21,9 +20,9 @@ import com.sap.sse.common.Distance; * @author Axel Uhl (D043530) * */ -public class ORCLegDataAnalyzer extends RaceLogAnalyzer> { +public class RaceLogORCLegDataAnalyzer extends RaceLogAnalyzer> { - public ORCLegDataAnalyzer(RaceLog raceLog) { + public RaceLogORCLegDataAnalyzer(RaceLog raceLog) { super(raceLog); } @@ -46,5 +45,4 @@ public class ORCLegDataAnalyzer extends RaceLogAnalyzer newCertificates = new HashMap<>(); for (final RegattaLog regattaLog : getTrackedRace().getAttachedRegattaLogs()) { @@ -123,6 +131,14 @@ public class ORCPerformanceCurveRankingMetric extends AbstractRankingMetric { } certificates = newCertificates; } + + private void updateCourseFromRaceLogs() { + final Map legsWithDefinitions = new HashMap<>(); + for (final RaceLog raceLog : getTrackedRace().getAttachedRaceLogs()) { + legsWithDefinitions.putAll(new RaceLogORCLegDataAnalyzer(raceLog).analyze()); + } + // TODO continue here, taking only those definitions up to the true number of legs in the race's course and fill the blanks with tracked leg adapters + } @Override public Comparator getRaceRankingComparator(TimePoint timePoint, WindLegTypeAndLegBearingCache cache) {