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();