mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-06 19:12:23 +00:00
Merge branch 'master' into bug5147
This commit is contained in:
commit
2e669c4ea8
205 files changed
+3717
-985
No files matched your search
-46
@@ -1,46 +0,0 @@
|
||||
package com.sap.sailing.server.interfaces;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.common.RaceIdentifier;
|
||||
import com.sap.sailing.domain.common.TrackedRaceStatusEnum;
|
||||
import com.sap.sailing.domain.markpassinghash.MarkPassingRaceFingerprint;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
|
||||
import com.sap.sailing.domain.tracking.MarkPassing;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
|
||||
/**
|
||||
* A registry to provide access to the {@link MarkPassingRaceFingerprint}s at the different levels of the domain model.
|
||||
* The following use cases exist:
|
||||
* <ul>
|
||||
* <li>Check for a {@link RaceIdentifier} whether mark passings have been stored persistently for the race identified by
|
||||
* that identifier; the result is a {@link MarkPassingRaceFingerprint} which can may or may not be
|
||||
* {@link MarkPassingRaceFingerprint#matches(com.sap.sailing.domain.tracking.TrackedRace) matched} by a
|
||||
* {@link TrackedRace}</li>
|
||||
* <li>If a matching fingerprint is stored in this registry for a race then {@link #loadMarkPassings(RaceIdentifier)
|
||||
* loading the mark passings} for that race and {@link DynamicTrackedRace#updateMarkPassings(Competitor, Iterable)
|
||||
* updating it to the tracked race} is the logical next step.</li>
|
||||
* <li>When a tracked race has reached a "stable" state, e.g., because it's {@link TrackedRace#getEndOfTracking()
|
||||
* end-of-tracking} time point has passed or its {@link TrackedRace#getStatus() status} has changed to
|
||||
* {@link TrackedRaceStatusEnum#FINISHED} then the latest mark passing calculation results can be
|
||||
* {@link #storeMarkPassings(RaceIdentifier, MarkPassingRaceFingerprint, Map) stored} together with the fingerprint
|
||||
* computed from the tracked race.</li>
|
||||
* </ul>
|
||||
*
|
||||
* @author Fabian Kallenbach (i550803)
|
||||
*/
|
||||
public interface MarkPassingRaceFingerprintRegistry {
|
||||
void storeMarkPassings(RaceIdentifier raceIdentifier, MarkPassingRaceFingerprint fingerprint, Map<Competitor, Map<Waypoint, MarkPassing>> markPassings);
|
||||
|
||||
MarkPassingRaceFingerprint getMarkPassingRaceFingerprint(RaceIdentifier raceIdentifier);
|
||||
|
||||
/**
|
||||
* <b>Precondition</b>: {@code fingerprint}.{@link MarkPassingRaceFingerprint#matches(com.sap.sailing.domain.tracking.TrackedRace) matches}
|
||||
* {@code (}{@link #getMarkPassingRaceFingerprint(RaceIdentifier) getMarkPassingRaceFingerprint(raceIdentifier)}{@code )}<p>
|
||||
*
|
||||
* If a mark passing race fingerprint is known for {@code raceIdentifier} in this registry and the
|
||||
*/
|
||||
Map<Competitor, Map<Waypoint, MarkPassing>> loadMarkPassings(RaceIdentifier raceIdentifier);
|
||||
}
|
||||
+3
-2
@@ -80,6 +80,7 @@ import com.sap.sailing.domain.leaderboard.RegattaLeaderboardWithEliminations;
|
||||
import com.sap.sailing.domain.leaderboard.RegattaLeaderboardWithOtherTieBreakingLeaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.ScoringScheme;
|
||||
import com.sap.sailing.domain.leaderboard.impl.DelegatingRegattaLeaderboardWithCompetitorElimination;
|
||||
import com.sap.sailing.domain.markpassinghash.MarkPassingRaceFingerprintRegistry;
|
||||
import com.sap.sailing.domain.persistence.DomainObjectFactory;
|
||||
import com.sap.sailing.domain.persistence.MongoObjectFactory;
|
||||
import com.sap.sailing.domain.polars.PolarDataService;
|
||||
@@ -148,8 +149,8 @@ import com.sap.sse.shared.media.VideoDescriptor;
|
||||
* @author Axel Uhl (d043530)
|
||||
*
|
||||
*/
|
||||
public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetcher, RegattaRegistry, RaceFetcher,
|
||||
LeaderboardRegistry, EventResolver, LeaderboardGroupResolver, TrackerManager,
|
||||
public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetcher, RegattaRegistry, MarkPassingRaceFingerprintRegistry,
|
||||
RaceFetcher, LeaderboardRegistry, EventResolver, LeaderboardGroupResolver, TrackerManager,
|
||||
Searchable<LeaderboardSearchResult, KeywordQueryWithOptionalEventQualification>,
|
||||
ReplicableWithObjectInputStream<RacingEventService, RacingEventServiceOperation<?>>, RaceLogAndTrackedRaceResolver,
|
||||
SensorFixStoreSupplier, WindFinderReviewedSpotsCollectionIdProvider {
|
||||
|
||||
Reference in new issue
Block a user