02b55b07e9e9a5c74aa8efa798a1c7bc6970c6b0
java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogRaceTracker.java
| ... | ... | @@ -110,7 +110,9 @@ public class RaceLogRaceTracker extends AbstractRaceTrackerBaseImpl<RaceLogConne |
| 110 | 110 | |
| 111 | 111 | public RaceLogRaceTracker(DynamicTrackedRegatta regatta, RaceLogConnectivityParams params, WindStore windStore, |
| 112 | 112 | RaceLogAndTrackedRaceResolver raceLogResolver, RaceLogConnectivityParams connectivityParams, |
| 113 | - TrackedRegattaRegistry trackedRegattaRegistry, RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) { |
|
| 113 | + TrackedRegattaRegistry trackedRegattaRegistry, RaceTrackingHandler raceTrackingHandler, |
|
| 114 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, |
|
| 115 | + ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) { |
|
| 114 | 116 | super(params); |
| 115 | 117 | this.trackedRegattaRegistry = trackedRegattaRegistry; |
| 116 | 118 | this.params = params; |
| ... | ... | @@ -358,7 +360,7 @@ public class RaceLogRaceTracker extends AbstractRaceTrackerBaseImpl<RaceLogConne |
| 358 | 360 | boatClass.getApproximateManeuverDurationInMilliseconds(), null, /*useMarkPassingCalculator*/ true, raceLogResolver, |
| 359 | 361 | /* Not needed because the RaceTracker is not active on a replica */ Optional.empty(), |
| 360 | 362 | new TrackingConnectorInfoImpl(RaceLogTrackingAdapter.NAME, RaceLogTrackingAdapter.DEFAULT_URL, /* no webUrl */ null), |
| 361 | - markPassingRaceFingerprintRegistry, maneuverRaceFingerprintRegistry ); |
|
| 363 | + markPassingRaceFingerprintRegistry, maneuverRaceFingerprintRegistry); |
|
| 362 | 364 | notifyRaceCreationListeners(); |
| 363 | 365 | logger.info(String.format("Started tracking race-log race (%s)", raceLog)); |
| 364 | 366 | // this wakes up all waiting race handles |
java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java
| ... | ... | @@ -8,6 +8,7 @@ import java.text.ParseException; |
| 8 | 8 | |
| 9 | 9 | import com.sap.sailing.domain.base.BoatClass; |
| 10 | 10 | import com.sap.sailing.domain.base.Regatta; |
| 11 | +import com.sap.sailing.domain.maneuverhash.ManeuverRaceFingerprintRegistry; |
|
| 11 | 12 | import com.sap.sailing.domain.markpassinghash.MarkPassingRaceFingerprintRegistry; |
| 12 | 13 | import com.sap.sailing.domain.racelog.RaceLogAndTrackedRaceResolver; |
| 13 | 14 | import com.sap.sailing.domain.racelog.RaceLogStore; |
| ... | ... | @@ -63,12 +64,12 @@ public interface SwissTimingFactory { |
| 63 | 64 | |
| 64 | 65 | SwissTimingRaceTracker createRaceTracker(RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, WindStore windStore, |
| 65 | 66 | DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogAndTrackedRaceResolver raceLogResolver, SwissTimingTrackingConnectivityParameters connectivityParams, |
| 66 | - RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry) |
|
| 67 | + RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) |
|
| 67 | 68 | throws InterruptedException, UnknownHostException, IOException, ParseException, URISyntaxException; |
| 68 | 69 | |
| 69 | 70 | RaceTracker createRaceTracker(Regatta regatta, WindStore windStore, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry, |
| 70 | 71 | RaceLogAndTrackedRaceResolver raceLogResolver, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, SwissTimingTrackingConnectivityParameters connectivityParams, |
| 71 | - RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry) |
|
| 72 | + RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) |
|
| 72 | 73 | throws UnknownHostException, InterruptedException, IOException, ParseException, URISyntaxException; |
| 73 | 74 | |
| 74 | 75 | Race createRace(String raceId, String raceName, String description, BoatClass boatClass); |
java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java
| ... | ... | @@ -11,6 +11,7 @@ import java.util.logging.Logger; |
| 11 | 11 | |
| 12 | 12 | import com.sap.sailing.domain.base.BoatClass; |
| 13 | 13 | import com.sap.sailing.domain.base.Regatta; |
| 14 | +import com.sap.sailing.domain.maneuverhash.ManeuverRaceFingerprintRegistry; |
|
| 14 | 15 | import com.sap.sailing.domain.markpassinghash.MarkPassingRaceFingerprintRegistry; |
| 15 | 16 | import com.sap.sailing.domain.racelog.RaceLogAndTrackedRaceResolver; |
| 16 | 17 | import com.sap.sailing.domain.racelog.RaceLogStore; |
| ... | ... | @@ -100,20 +101,24 @@ public class SwissTimingFactoryImpl implements SwissTimingFactory { |
| 100 | 101 | public SwissTimingRaceTracker createRaceTracker(RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, |
| 101 | 102 | WindStore windStore, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry, |
| 102 | 103 | RaceLogAndTrackedRaceResolver raceLogResolver, SwissTimingTrackingConnectivityParameters connectivityParams, |
| 103 | - RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry) |
|
| 104 | + RaceTrackingHandler raceTrackingHandler, |
|
| 105 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) |
|
| 104 | 106 | throws InterruptedException, UnknownHostException, IOException, ParseException, URISyntaxException { |
| 105 | 107 | return new SwissTimingRaceTrackerImpl(raceLogStore, regattaLogStore, windStore, domainFactory, this, |
| 106 | - trackedRegattaRegistry, raceLogResolver, connectivityParams, raceTrackingHandler, markPassingRaceFingerprintRegistry); |
|
| 108 | + trackedRegattaRegistry, raceLogResolver, connectivityParams, raceTrackingHandler, |
|
| 109 | + markPassingRaceFingerprintRegistry, maneuverRaceFingerprintRegistry); |
|
| 107 | 110 | } |
| 108 | 111 | |
| 109 | 112 | @Override |
| 110 | 113 | public RaceTracker createRaceTracker(Regatta regatta, WindStore windStore, DomainFactory domainFactory, |
| 111 | - TrackedRegattaRegistry trackedRegattaRegistry, RaceLogAndTrackedRaceResolver raceLogResolver, RaceLogStore raceLogStore, |
|
| 112 | - RegattaLogStore regattaLogStore, SwissTimingTrackingConnectivityParameters connectivityParams, |
|
| 113 | - RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry) |
|
| 114 | + TrackedRegattaRegistry trackedRegattaRegistry, RaceLogAndTrackedRaceResolver raceLogResolver, |
|
| 115 | + RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, |
|
| 116 | + SwissTimingTrackingConnectivityParameters connectivityParams, RaceTrackingHandler raceTrackingHandler, |
|
| 117 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) |
|
| 114 | 118 | throws UnknownHostException, InterruptedException, IOException, ParseException, URISyntaxException { |
| 115 | 119 | return new SwissTimingRaceTrackerImpl(regatta, windStore, domainFactory, this, trackedRegattaRegistry, |
| 116 | - raceLogStore, regattaLogStore, raceLogResolver, connectivityParams, raceTrackingHandler, markPassingRaceFingerprintRegistry); |
|
| 120 | + raceLogStore, regattaLogStore, raceLogResolver, connectivityParams, raceTrackingHandler, |
|
| 121 | + markPassingRaceFingerprintRegistry, maneuverRaceFingerprintRegistry); |
|
| 117 | 122 | } |
| 118 | 123 | |
| 119 | 124 | @Override |
java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java
| ... | ... | @@ -37,6 +37,7 @@ import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl; |
| 37 | 37 | import com.sap.sailing.domain.common.impl.WindImpl; |
| 38 | 38 | import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID; |
| 39 | 39 | import com.sap.sailing.domain.common.tracking.GPSFixMoving; |
| 40 | +import com.sap.sailing.domain.maneuverhash.ManeuverRaceFingerprintRegistry; |
|
| 40 | 41 | import com.sap.sailing.domain.markpassinghash.MarkPassingRaceFingerprintRegistry; |
| 41 | 42 | import com.sap.sailing.domain.racelog.RaceLogAndTrackedRaceResolver; |
| 42 | 43 | import com.sap.sailing.domain.racelog.RaceLogStore; |
| ... | ... | @@ -122,6 +123,8 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl<SwissTim |
| 122 | 123 | private final RaceLogAndTrackedRaceResolver raceLogResolver; |
| 123 | 124 | |
| 124 | 125 | private final MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry; |
| 126 | + |
|
| 127 | + private final ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry; |
|
| 125 | 128 | |
| 126 | 129 | /** |
| 127 | 130 | * If set to a non-{@code null}, non-{@link String#isEmpty() empty} value, updates about start time changes, course |
| ... | ... | @@ -140,17 +143,18 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl<SwissTim |
| 140 | 143 | WindStore windStore, DomainFactory domainFactory, SwissTimingFactory factory, |
| 141 | 144 | TrackedRegattaRegistry trackedRegattaRegistry, RaceLogAndTrackedRaceResolver raceLogResolver, |
| 142 | 145 | SwissTimingTrackingConnectivityParameters connectivityParams, RaceTrackingHandler raceTrackingHandler, |
| 143 | - MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry) |
|
| 146 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) |
|
| 144 | 147 | throws InterruptedException, UnknownHostException, IOException, ParseException, URISyntaxException { |
| 145 | 148 | this(/* regatta */ null, windStore, domainFactory, factory, trackedRegattaRegistry, raceLogStore, |
| 146 | - regattaLogStore, raceLogResolver, connectivityParams, raceTrackingHandler, markPassingRaceFingerprintRegistry); |
|
| 149 | + regattaLogStore, raceLogResolver, connectivityParams, raceTrackingHandler, markPassingRaceFingerprintRegistry, |
|
| 150 | + maneuverRaceFingerprintRegistry); |
|
| 147 | 151 | } |
| 148 | 152 | |
| 149 | 153 | protected SwissTimingRaceTrackerImpl(Regatta regatta, WindStore windStore, DomainFactory domainFactory, |
| 150 | 154 | SwissTimingFactory factory, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore, |
| 151 | 155 | RegattaLogStore regattaLogStore, RaceLogAndTrackedRaceResolver raceLogResolver, |
| 152 | 156 | SwissTimingTrackingConnectivityParameters connectivityParams, RaceTrackingHandler raceTrackingHandler, |
| 153 | - MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry) |
|
| 157 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) |
|
| 154 | 158 | throws InterruptedException, UnknownHostException, IOException, ParseException, URISyntaxException { |
| 155 | 159 | super(connectivityParams); |
| 156 | 160 | this.raceLogResolver = raceLogResolver; |
| ... | ... | @@ -158,6 +162,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl<SwissTim |
| 158 | 162 | this.tmdMessageQueue = new TMDMessageQueue(this); |
| 159 | 163 | this.trackedRegattaRegistry = trackedRegattaRegistry; |
| 160 | 164 | this.markPassingRaceFingerprintRegistry = markPassingRaceFingerprintRegistry; |
| 165 | + this.maneuverRaceFingerprintRegistry = maneuverRaceFingerprintRegistry; |
|
| 161 | 166 | final Regatta effectiveRegatta; |
| 162 | 167 | // Try to find a pre-associated event based on the Race ID |
| 163 | 168 | if (regatta == null) { |
| ... | ... | @@ -543,7 +548,9 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl<SwissTim |
| 543 | 548 | } |
| 544 | 549 | }, useInternalMarkPassingAlgorithm, raceLogResolver, |
| 545 | 550 | /* Not needed because the RaceTracker is not active on a replica */ Optional.empty(), |
| 546 | - new TrackingConnectorInfoImpl(SwissTimingAdapter.NAME, SwissTimingAdapter.DEFAULT_URL,/*no api connection to query the webUrl*/ null), markPassingRaceFingerprintRegistry,/*maneuverRaceFingerprintRegistry*/ null); |
|
| 551 | + new TrackingConnectorInfoImpl(SwissTimingAdapter.NAME, SwissTimingAdapter.DEFAULT_URL, |
|
| 552 | + /*no api connection to query the webUrl*/ null), markPassingRaceFingerprintRegistry, |
|
| 553 | + maneuverRaceFingerprintRegistry); |
|
| 547 | 554 | addUpdateHandlers(); |
| 548 | 555 | notifyRaceCreationListeners(); |
| 549 | 556 | logger.info("Created SwissTiming RaceDefinition and TrackedRace for "+race.getName()); |
java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java
| ... | ... | @@ -74,18 +74,25 @@ public class SwissTimingTrackingConnectivityParameters extends AbstractRaceTrack |
| 74 | 74 | |
| 75 | 75 | @Override |
| 76 | 76 | public RaceTracker createRaceTracker(TrackedRegattaRegistry trackedRegattaRegistry, WindStore windStore, |
| 77 | - RaceLogAndTrackedRaceResolver raceLogResolver, LeaderboardGroupResolver leaderboardGroupResolver, long timeoutInMilliseconds, |
|
| 78 | - RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) throws Exception { |
|
| 79 | - return swissTimingFactory.createRaceTracker(raceLogStore, regattaLogStore, windStore, domainFactory, trackedRegattaRegistry, raceLogResolver, |
|
| 80 | - this, raceTrackingHandler, markPassingRaceFingerprintRegistry); |
|
| 77 | + RaceLogAndTrackedRaceResolver raceLogResolver, LeaderboardGroupResolver leaderboardGroupResolver, |
|
| 78 | + long timeoutInMilliseconds, RaceTrackingHandler raceTrackingHandler, |
|
| 79 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, |
|
| 80 | + ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) throws Exception { |
|
| 81 | + return swissTimingFactory.createRaceTracker(raceLogStore, regattaLogStore, windStore, domainFactory, |
|
| 82 | + trackedRegattaRegistry, raceLogResolver, this, raceTrackingHandler, markPassingRaceFingerprintRegistry, |
|
| 83 | + maneuverRaceFingerprintRegistry); |
|
| 81 | 84 | } |
| 82 | 85 | |
| 83 | 86 | @Override |
| 84 | 87 | public RaceTracker createRaceTracker(Regatta regatta, TrackedRegattaRegistry trackedRegattaRegistry, |
| 85 | - WindStore windStore, RaceLogAndTrackedRaceResolver raceLogResolver, LeaderboardGroupResolver leaderboardGroupResolver, long timeoutInMilliseconds, |
|
| 86 | - RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) throws Exception { |
|
| 87 | - return swissTimingFactory.createRaceTracker(regatta, windStore, domainFactory, trackedRegattaRegistry, raceLogResolver, raceLogStore, |
|
| 88 | - regattaLogStore, this, raceTrackingHandler, markPassingRaceFingerprintRegistry); |
|
| 88 | + WindStore windStore, RaceLogAndTrackedRaceResolver raceLogResolver, |
|
| 89 | + LeaderboardGroupResolver leaderboardGroupResolver, long timeoutInMilliseconds, |
|
| 90 | + RaceTrackingHandler raceTrackingHandler, |
|
| 91 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, |
|
| 92 | + ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) throws Exception { |
|
| 93 | + return swissTimingFactory.createRaceTracker(regatta, windStore, domainFactory, trackedRegattaRegistry, |
|
| 94 | + raceLogResolver, raceLogStore, regattaLogStore, this, raceTrackingHandler, |
|
| 95 | + markPassingRaceFingerprintRegistry, maneuverRaceFingerprintRegistry); |
|
| 89 | 96 | } |
| 90 | 97 | |
| 91 | 98 | @Override |
java/com.sap.sailing.domain.swisstimingreplayadapter/src/com/sap/sailing/domain/swisstimingreplayadapter/impl/SwissTimingReplayConnectivityParameters.java
| ... | ... | @@ -142,7 +142,9 @@ public class SwissTimingReplayConnectivityParameters extends AbstractRaceTrackin |
| 142 | 142 | @Override |
| 143 | 143 | public RaceTracker createRaceTracker(TrackedRegattaRegistry trackedRegattaRegistry, final WindStore windStore, |
| 144 | 144 | RaceLogAndTrackedRaceResolver raceLogResolver, LeaderboardGroupResolver leaderboardGroupResolver, |
| 145 | - long timeoutInMilliseconds, RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) throws Exception { |
|
| 145 | + long timeoutInMilliseconds, RaceTrackingHandler raceTrackingHandler, |
|
| 146 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, |
|
| 147 | + ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) throws Exception { |
|
| 146 | 148 | SwissTimingReplayToDomainAdapter listener = new SwissTimingReplayToDomainAdapter(/* regatta */ null, raceName, |
| 147 | 149 | raceID, domainFactory.getBaseDomainFactory().getOrCreateBoatClass(boatClassName), domainFactory, |
| 148 | 150 | trackedRegattaRegistry, useInternalMarkPassingAlgorithm, raceLogResolver, raceLogStore, |
| ... | ... | @@ -154,8 +156,11 @@ public class SwissTimingReplayConnectivityParameters extends AbstractRaceTrackin |
| 154 | 156 | |
| 155 | 157 | @Override |
| 156 | 158 | public RaceTracker createRaceTracker(Regatta regatta, TrackedRegattaRegistry trackedRegattaRegistry, |
| 157 | - WindStore windStore, RaceLogAndTrackedRaceResolver raceLogResolver, LeaderboardGroupResolver leaderboardGroupResolver, |
|
| 158 | - long timeoutInMilliseconds, RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) throws Exception { |
|
| 159 | + WindStore windStore, RaceLogAndTrackedRaceResolver raceLogResolver, |
|
| 160 | + LeaderboardGroupResolver leaderboardGroupResolver, long timeoutInMilliseconds, |
|
| 161 | + RaceTrackingHandler raceTrackingHandler, |
|
| 162 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, |
|
| 163 | + ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) throws Exception { |
|
| 159 | 164 | SwissTimingReplayToDomainAdapter listener = new SwissTimingReplayToDomainAdapter(regatta, raceName, |
| 160 | 165 | raceID, domainFactory.getBaseDomainFactory().getOrCreateBoatClass(boatClassName), |
| 161 | 166 | domainFactory, trackedRegattaRegistry, useInternalMarkPassingAlgorithm, raceLogResolver, |
java/com.sap.sailing.domain.swisstimingreplayadapter/src/com/sap/sailing/domain/swisstimingreplayadapter/impl/SwissTimingReplayToDomainAdapter.java
| ... | ... | @@ -187,13 +187,14 @@ public class SwissTimingReplayToDomainAdapter extends SwissTimingReplayAdapter i |
| 187 | 187 | * be obtained from {@link #getTracker()}. This tracker's {@link RaceTracker.RaceCreationListener}s will |
| 188 | 188 | * be {@link SwissTimingReplayRaceTracker#notifyRaceCreationListeners() notified} when this adapter has |
| 189 | 189 | * created the race. |
| 190 | - * @param maneuverRaceFingerprintRegistry |
|
| 191 | 190 | */ |
| 192 | 191 | public SwissTimingReplayToDomainAdapter(Regatta regatta, String raceName, String raceIdForRaceDefinition, |
| 193 | - BoatClass boatClass, DomainFactory domainFactory, |
|
| 194 | - TrackedRegattaRegistry trackedRegattaRegistry, boolean useInternalMarkPassingAlgorithm, RaceLogAndTrackedRaceResolver raceLogResolver, |
|
| 192 | + BoatClass boatClass, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry, |
|
| 193 | + boolean useInternalMarkPassingAlgorithm, RaceLogAndTrackedRaceResolver raceLogResolver, |
|
| 195 | 194 | RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, TrackerConstructor trackerConstructor, |
| 196 | - RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) { |
|
| 195 | + RaceTrackingHandler raceTrackingHandler, |
|
| 196 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, |
|
| 197 | + ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) { |
|
| 197 | 198 | this.tracker = trackerConstructor == null ? null : trackerConstructor.createTracker(this); |
| 198 | 199 | this.raceLogResolver = raceLogResolver; |
| 199 | 200 | this.markPassingRaceFingerprintRegistry = markPassingRaceFingerprintRegistry; |
| ... | ... | @@ -424,7 +425,8 @@ public class SwissTimingReplayToDomainAdapter extends SwissTimingReplayAdapter i |
| 424 | 425 | /* time over which to average speed: */ race.getBoatClass().getApproximateManeuverDurationInMilliseconds(), |
| 425 | 426 | /* raceDefinitionSetToUpdate */ null, useInternalMarkPassingAlgorithm, raceLogResolver, |
| 426 | 427 | /* Not needed because the RaceTracker is not active on a replica */ Optional.empty(), |
| 427 | - new TrackingConnectorInfoImpl(SwissTimingAdapter.NAME, SwissTimingAdapter.DEFAULT_URL,/*no api connection to query the webUrl*/ null), markPassingRaceFingerprintRegistry, /*maneuverRaceFingerprintRegistry*/ null); |
|
| 428 | + new TrackingConnectorInfoImpl(SwissTimingAdapter.NAME, SwissTimingAdapter.DEFAULT_URL,/*no api connection to query the webUrl*/ null), markPassingRaceFingerprintRegistry, |
|
| 429 | + /*maneuverRaceFingerprintRegistry*/ null); |
|
| 428 | 430 | trackedRace.onStatusChanged(this, new TrackedRaceStatusImpl(TrackedRaceStatusEnum.LOADING, 0)); |
| 429 | 431 | TimePoint bestStartTimeKnownSoFar = bestStartTimePerRaceID.get(currentRaceID); |
| 430 | 432 | if (bestStartTimeKnownSoFar != null) { |
java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackedRaceStartTimeUpdateForDependentStartTimeTest.java
| ... | ... | @@ -57,7 +57,6 @@ public class TrackedRaceStartTimeUpdateForDependentStartTimeTest extends TrackBa |
| 57 | 57 | @Override |
| 58 | 58 | public List<Triple<Leaderboard, RaceColumn, Fleet>> getColumnsWithRaceLogForTrackedRace( |
| 59 | 59 | RegattaAndRaceIdentifier trackedRaceIdentifier) { |
| 60 | - // TODO Auto-generated method stub |
|
| 61 | 60 | return null; |
| 62 | 61 | } |
| 63 | 62 | }; |
java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java
| ... | ... | @@ -785,8 +785,11 @@ public class DomainFactoryImpl implements DomainFactory { |
| 785 | 785 | Iterable<Sideline> sidelines, WindStore windStore, long delayToLiveInMillis, |
| 786 | 786 | long millisecondsOverWhichToAverageWind, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, |
| 787 | 787 | boolean useMarkPassingCalculator, RaceLogAndTrackedRaceResolver raceLogResolver, |
| 788 | - RaceTrackingHandler raceTrackingHandler, TrackingConnectorInfo trackingConnectorInfo, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) { |
|
| 789 | - return raceTrackingHandler.createTrackedRace(trackedRegatta, race, sidelines, |
|
| 788 | + RaceTrackingHandler raceTrackingHandler, TrackingConnectorInfo trackingConnectorInfo, |
|
| 789 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, |
|
| 790 | + ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) { |
|
| 791 | + return raceTrackingHandler |
|
| 792 | + .createTrackedRace(trackedRegatta, race, sidelines, |
|
| 790 | 793 | windStore, delayToLiveInMillis, millisecondsOverWhichToAverageWind, |
| 791 | 794 | /* time over which to average speed: */ race.getBoatClass().getApproximateManeuverDurationInMilliseconds(), |
| 792 | 795 | raceDefinitionSetToUpdate, useMarkPassingCalculator, raceLogResolver, Optional.empty(), |
java/com.sap.sailing.domain.yellowbrickadapter/src/com/sap/sailing/domain/yellowbrickadapter/YellowBrickRaceTrackingConnectivityParams.java
| ... | ... | @@ -52,7 +52,7 @@ public class YellowBrickRaceTrackingConnectivityParams extends AbstractRaceTrack |
| 52 | 52 | ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) throws Exception { |
| 53 | 53 | return new YellowBrickRaceTrackerImpl(this, /* regatta */ null, trackedRegattaRegistry, windStore, |
| 54 | 54 | raceLogResolver, leaderboardGroupResolver, timeoutInMilliseconds, raceTrackingHandler, raceLogStore, |
| 55 | - regattaLogStore, baseDomainFactory, yellowBrickTrackingAdapter); |
|
| 55 | + regattaLogStore, baseDomainFactory, yellowBrickTrackingAdapter, markPassingRaceFingerprintRegistry, maneuverRaceFingerprintRegistry); |
|
| 56 | 56 | } |
| 57 | 57 | |
| 58 | 58 | @Override |
| ... | ... | @@ -65,7 +65,7 @@ public class YellowBrickRaceTrackingConnectivityParams extends AbstractRaceTrack |
| 65 | 65 | return new YellowBrickRaceTrackerImpl(this, regatta, trackedRegattaRegistry, |
| 66 | 66 | windStore, raceLogResolver, |
| 67 | 67 | leaderboardGroupResolver, timeoutInMilliseconds, raceTrackingHandler, raceLogStore, regattaLogStore, |
| 68 | - baseDomainFactory, yellowBrickTrackingAdapter); |
|
| 68 | + baseDomainFactory, yellowBrickTrackingAdapter, markPassingRaceFingerprintRegistry, maneuverRaceFingerprintRegistry); |
|
| 69 | 69 | } |
| 70 | 70 | |
| 71 | 71 | @Override |
java/com.sap.sailing.domain.yellowbrickadapter/src/com/sap/sailing/domain/yellowbrickadapter/impl/YellowBrickRaceTrackerImpl.java
| ... | ... | @@ -44,6 +44,8 @@ import com.sap.sailing.domain.common.TrackedRaceStatusEnum; |
| 44 | 44 | import com.sap.sailing.domain.common.tracking.GPSFixMoving; |
| 45 | 45 | import com.sap.sailing.domain.common.tracking.impl.GPSFixMovingImpl; |
| 46 | 46 | import com.sap.sailing.domain.leaderboard.LeaderboardGroupResolver; |
| 47 | +import com.sap.sailing.domain.maneuverhash.ManeuverRaceFingerprintRegistry; |
|
| 48 | +import com.sap.sailing.domain.markpassinghash.MarkPassingRaceFingerprintRegistry; |
|
| 47 | 49 | import com.sap.sailing.domain.racelog.RaceLogAndTrackedRaceResolver; |
| 48 | 50 | import com.sap.sailing.domain.racelog.RaceLogStore; |
| 49 | 51 | import com.sap.sailing.domain.regattalog.RegattaLogStore; |
| ... | ... | @@ -125,7 +127,9 @@ implements TrackingDataLoader { |
| 125 | 127 | RaceLogAndTrackedRaceResolver raceLogResolver, LeaderboardGroupResolver leaderboardGroupResolver, |
| 126 | 128 | long timeoutInMilliseconds, RaceTrackingHandler raceTrackingHandler, RaceLogStore raceLogStore, |
| 127 | 129 | RegattaLogStore regattaLogStore, DomainFactory baseDomainFactory, |
| 128 | - YellowBrickTrackingAdapter yellowBrickTrackingAdapter) throws IOException, ParseException { |
|
| 130 | + YellowBrickTrackingAdapter yellowBrickTrackingAdapter, |
|
| 131 | + MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, |
|
| 132 | + ManeuverRaceFingerprintRegistry maneuverRaceFingerprintRegistry) throws IOException, ParseException { |
|
| 129 | 133 | super(connectivityParams); |
| 130 | 134 | visitors = new HashMap<>(); |
| 131 | 135 | this.timePointOfLastFixPerDeviceSerialNumber = new HashMap<>(); |
| ... | ... | @@ -148,7 +152,8 @@ implements TrackingDataLoader { |
| 148 | 152 | } |
| 149 | 153 | }, /* useInternalMarkPassingAlgorithm */ true, raceLogResolver, |
| 150 | 154 | /* Not needed because the RaceTracker is not active on a replica */ Optional.empty(), |
| 151 | - new TrackingConnectorInfoImpl(YellowBrickTrackingAdapter.NAME, "https://www.ybtracking.com/", /* TODO any default YB tracker URL? */ null), /* markPassingRaceFingerprintRegistry */ null, /*maneuverRaceFingerprintRegistry*/ null); |
|
| 155 | + new TrackingConnectorInfoImpl(YellowBrickTrackingAdapter.NAME, "https://www.ybtracking.com/", /* TODO any default YB tracker URL? */ null), |
|
| 156 | + markPassingRaceFingerprintRegistry, maneuverRaceFingerprintRegistry); |
|
| 152 | 157 | addRaceLogListenerForCourseUpdates(); |
| 153 | 158 | loadStoredData(); |
| 154 | 159 | schedulePeriodicPollingTask(); |