mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-02 18:33:54 +00:00
started to introduce TrackedEventRegistry in SwissTiming stuff
This commit is contained in:
1 parent
ef4547357f
commit
127c95a252
5 files changed
+14
-6
No files matched your search
+2
-1
@@ -5,6 +5,7 @@ import java.net.UnknownHostException;
|
||||
|
||||
import com.sap.sailing.domain.base.TimePoint;
|
||||
import com.sap.sailing.domain.swisstimingadapter.impl.SwissTimingFactoryImpl;
|
||||
import com.sap.sailing.domain.tracking.TrackedEventRegistry;
|
||||
import com.sap.sailing.domain.tracking.WindStore;
|
||||
|
||||
public interface SwissTimingFactory {
|
||||
@@ -39,7 +40,7 @@ public interface SwissTimingFactory {
|
||||
|
||||
SwissTimingConfiguration createSwissTimingConfiguration(String name, String hostname, int port);
|
||||
|
||||
SwissTimingRaceTracker createRaceTracker(String raceID, String hostname, int port, WindStore windStore, RaceSpecificMessageLoader messageLoader) throws InterruptedException, UnknownHostException, IOException;
|
||||
SwissTimingRaceTracker createRaceTracker(String raceID, String hostname, int port, WindStore windStore, RaceSpecificMessageLoader messageLoader, TrackedEventRegistry trackedEventRegistry) throws InterruptedException, UnknownHostException, IOException;
|
||||
|
||||
Race createRace(String raceId, String description, TimePoint startTime);
|
||||
|
||||
|
||||
+4
-2
@@ -16,6 +16,7 @@ import com.sap.sailing.domain.swisstimingadapter.SwissTimingConfiguration;
|
||||
import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory;
|
||||
import com.sap.sailing.domain.swisstimingadapter.SwissTimingMessageParser;
|
||||
import com.sap.sailing.domain.swisstimingadapter.SwissTimingRaceTracker;
|
||||
import com.sap.sailing.domain.tracking.TrackedEventRegistry;
|
||||
import com.sap.sailing.domain.tracking.WindStore;
|
||||
import com.sap.sailing.util.Util.Triple;
|
||||
|
||||
@@ -53,8 +54,9 @@ public class SwissTimingFactoryImpl implements SwissTimingFactory {
|
||||
|
||||
@Override
|
||||
public SwissTimingRaceTracker createRaceTracker(String raceID, String hostname, int port, WindStore windStore,
|
||||
RaceSpecificMessageLoader messageLoader) throws InterruptedException, UnknownHostException, IOException {
|
||||
return new SwissTimingRaceTrackerImpl(raceID, hostname, port, this, messageLoader);
|
||||
RaceSpecificMessageLoader messageLoader, TrackedEventRegistry trackedEventRegistry)
|
||||
throws InterruptedException, UnknownHostException, IOException {
|
||||
return new SwissTimingRaceTrackerImpl(raceID, hostname, port, this, messageLoader, trackedEventRegistry);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+7
-2
@@ -26,20 +26,25 @@ import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory;
|
||||
import com.sap.sailing.domain.swisstimingadapter.SwissTimingRaceTracker;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
|
||||
import com.sap.sailing.domain.tracking.RaceHandle;
|
||||
import com.sap.sailing.domain.tracking.TrackedEventRegistry;
|
||||
import com.sap.sailing.domain.tracking.WindStore;
|
||||
import com.sap.sailing.util.Util.Triple;
|
||||
|
||||
public class SwissTimingRaceTrackerImpl implements SwissTimingRaceTracker, SailMasterListener {
|
||||
private final SailMasterConnector connector;
|
||||
private RaceDefinition race;
|
||||
private final String raceID;
|
||||
private final RaceSpecificMessageLoader messageLoader;
|
||||
private final TrackedEventRegistry trackedEventRegistry;
|
||||
|
||||
private RaceDefinition race;
|
||||
private Course course;
|
||||
private StartList startList;
|
||||
|
||||
protected SwissTimingRaceTrackerImpl(String raceID, String hostname, int port, SwissTimingFactory factory,
|
||||
RaceSpecificMessageLoader messageLoader) throws InterruptedException, UnknownHostException, IOException {
|
||||
RaceSpecificMessageLoader messageLoader, TrackedEventRegistry trackedEventRegistry)
|
||||
throws InterruptedException, UnknownHostException, IOException {
|
||||
this.connector = factory.getOrCreateSailMasterConnector(hostname, port, messageLoader);
|
||||
this.trackedEventRegistry = trackedEventRegistry;
|
||||
this.raceID = raceID;
|
||||
this.messageLoader = messageLoader;
|
||||
connector.addSailMasterListener(raceID, this);
|
||||
|
||||
Regular → Executable
File mode changed.
@@ -233,7 +233,7 @@ public class RacingEventServiceImpl implements RacingEventService {
|
||||
Triple<String, String, Integer> key = new Triple<String, String, Integer>(raceID, hostname, port);
|
||||
RaceTracker tracker = raceTrackersByID.get(key);
|
||||
if (tracker == null) {
|
||||
tracker = getSwissTimingFactory().createRaceTracker(raceID, hostname, port, windStore, swissTimingAdapterPersistence);
|
||||
tracker = getSwissTimingFactory().createRaceTracker(raceID, hostname, port, windStore, swissTimingAdapterPersistence, this);
|
||||
raceTrackersByID.put(tracker.getID(), tracker);
|
||||
Set<RaceTracker> trackers = raceTrackersByEvent.get(tracker.getEvent());
|
||||
if (trackers == null) {
|
||||
|
||||
Reference in new issue
Block a user