From 9416f5deed3e6524d12a5b62de60179327df4fc5 Mon Sep 17 00:00:00 2001 From: Papick Garcia Taboada Date: Thu, 9 Jun 2016 18:35:16 +0200 Subject: [PATCH] Removed unneeded GPSFixStore usage --- .../RaceLogTrackingAdapter.java | 1 - .../impl/RaceLogConnectivityParams.java | 9 +++--- .../impl/RaceLogRaceTracker.java | 12 ++------ .../impl/RaceLogTrackingAdapterImpl.java | 5 ++-- .../SwissTimingFactory.java | 5 ++-- .../impl/SwissTimingFactoryImpl.java | 10 +++---- .../impl/SwissTimingRaceTrackerImpl.java | 18 ++++-------- ...sTimingTrackingConnectivityParameters.java | 10 +++---- .../SwissTimingReplayToDomainAdapter.java | 4 +-- .../test/MultipleClassesInRegattaTest.java | 12 ++++---- ...nicodeCharactersInCompetitorNamesTest.java | 6 ++-- .../domain/test/mock/MockedTrackedRace.java | 6 +--- .../domain/tractracadapter/DomainFactory.java | 5 ++-- .../impl/DomainFactoryImpl.java | 17 ++++++----- .../impl/RaceCourseReceiver.java | 3 +- ...aceTrackingConnectivityParametersImpl.java | 9 +++--- .../impl/TracTracRaceTrackerImpl.java | 24 +++++++--------- .../masterdataimport/TopLevelMasterData.java | 22 +++++++++------ .../sailing/domain/tracking/RaceTracker.java | 3 -- .../RaceTrackingConnectivityParameters.java | 7 +++-- .../sailing/domain/tracking/TrackedRace.java | 1 - .../domain/tracking/TrackedRegatta.java | 3 +- .../impl/DynamicTrackedRegattaImpl.java | 6 ++-- .../tracking/impl/TrackedRegattaImpl.java | 3 +- .../gwt/ui/test/MockedTrackedRace.java | 3 +- .../gwt/ui/server/SailingServiceImpl.java | 9 ++++-- ...estStoringAndRetrievingWindTracksTest.java | 4 +-- .../test/jaxrs/GPSFixesResourceTest.java | 2 +- .../LeaderboardsResourcePingMarkTest.java | 3 +- .../gateway/jaxrs/api/GPSFixesResource.java | 5 ++-- .../gateway/jaxrs/spi/MasterDataResource.java | 3 +- .../impl/TrackFilesImportServlet.java | 5 ++-- ...tialLoadReplicationObjectIdentityTest.java | 2 +- ...ithGPSFixStoreContentsReplicationTest.java | 1 - .../impl/MediaMasterDataExportTest.java | 7 +++-- .../server/test/MasterDataImportTest.java | 6 ++-- .../sailing/server/test/RaceTrackerMock.java | 9 ------ .../server/test/RaceTrackerStartStopTest.java | 13 ++++++--- .../sailing/server/RacingEventService.java | 5 +--- .../server/impl/RacingEventServiceImpl.java | 28 ++++--------------- .../CreateTrackedRace.java | 3 +- .../ImportMasterDataOperation.java | 7 ++--- 42 files changed, 130 insertions(+), 186 deletions(-) diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/RaceLogTrackingAdapter.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/RaceLogTrackingAdapter.java index 7b4e28b634f..d728bf31f88 100755 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/RaceLogTrackingAdapter.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/RaceLogTrackingAdapter.java @@ -21,7 +21,6 @@ import com.sap.sailing.domain.common.racelog.tracking.RaceLogTrackingState; import com.sap.sailing.domain.common.tracking.GPSFix; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.racelogtracking.impl.RaceLogRaceTracker; import com.sap.sailing.domain.tracking.RaceHandle; import com.sap.sailing.domain.tracking.TrackedRace; diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogConnectivityParams.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogConnectivityParams.java index acb440a692a..95e833a6835 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogConnectivityParams.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogConnectivityParams.java @@ -19,7 +19,6 @@ import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.common.racelog.tracking.DoesNotHaveRegattaLogException; import com.sap.sailing.domain.common.racelog.tracking.RaceNotCreatedException; import com.sap.sailing.domain.leaderboard.Leaderboard; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.regattalike.HasRegattaLike; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.RaceTracker; @@ -54,13 +53,13 @@ public class RaceLogConnectivityParams implements RaceTrackingConnectivityParame @Override public RaceTracker createRaceTracker(TrackedRegattaRegistry trackedRegattaRegistry, WindStore windStore, - GPSFixStore gpsFixStore, RaceLogResolver raceLogResolver) { - return createRaceTracker(regatta, trackedRegattaRegistry, windStore, gpsFixStore, raceLogResolver); + RaceLogResolver raceLogResolver) { + return createRaceTracker(regatta, trackedRegattaRegistry, windStore, raceLogResolver); } @Override public RaceTracker createRaceTracker(Regatta regatta, TrackedRegattaRegistry trackedRegattaRegistry, - WindStore windStore, GPSFixStore gpsFixStore, RaceLogResolver raceLogResolver) { + WindStore windStore, RaceLogResolver raceLogResolver) { if (regatta == null) { BoatClass boatClass = new RaceInformationFinder(getRaceLog()).analyze().getBoatClass(); regatta = service.getOrCreateDefaultRegatta( @@ -71,7 +70,7 @@ public class RaceLogConnectivityParams implements RaceTrackingConnectivityParame throw new RaceNotCreatedException("No regatta for race-log tracked race"); } DynamicTrackedRegatta trackedRegatta = trackedRegattaRegistry.getOrCreateTrackedRegatta(regatta); - return new RaceLogRaceTracker(trackedRegatta, this, windStore, gpsFixStore, raceLogResolver); + return new RaceLogRaceTracker(trackedRegatta, this, windStore, raceLogResolver); } @Override diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogRaceTracker.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogRaceTracker.java index 01a49e14fad..aa558d3fb73 100755 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogRaceTracker.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogRaceTracker.java @@ -56,7 +56,6 @@ import com.sap.sailing.domain.common.abstractlog.TimePointSpecificationFoundInLo import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sailing.domain.common.racelog.tracking.RaceLogTrackingState; import com.sap.sailing.domain.common.racelog.tracking.RaceNotCreatedException; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.regattalike.IsRegattaLike; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; @@ -91,17 +90,15 @@ public class RaceLogRaceTracker implements RaceTracker { private final RaceLogConnectivityParams params; private final WindStore windStore; - private final GPSFixStore gpsFixStore; private final DynamicTrackedRegatta regatta; private final RaceLogResolver raceLogResolver; private DynamicTrackedRace trackedRace; public RaceLogRaceTracker(DynamicTrackedRegatta regatta, RaceLogConnectivityParams params, WindStore windStore, - GPSFixStore gpsFixStore, RaceLogResolver raceLogResolver) { + RaceLogResolver raceLogResolver) { this.params = params; this.windStore = windStore; - this.gpsFixStore = gpsFixStore; this.regatta = regatta; this.raceLogResolver = raceLogResolver; @@ -215,11 +212,6 @@ public class RaceLogRaceTracker implements RaceTracker { return windStore; } - @Override - public GPSFixStore getGPSFixStore() { - return gpsFixStore; - } - @Override public Object getID() { return params.getRaceLog().getId(); @@ -306,7 +298,7 @@ public class RaceLogRaceTracker implements RaceTracker { // set race definition, so race is linked to leaderboard automatically regatta.getRegatta().addRace(raceDef); raceColumn.setRaceIdentifier(fleet, regatta.getRegatta().getRaceIdentifier(raceDef)); - trackedRace = regatta.createTrackedRace(raceDef, sidelines, windStore, gpsFixStore, + trackedRace = regatta.createTrackedRace(raceDef, sidelines, windStore, params.getDelayToLiveInMillis(), WindTrack.DEFAULT_MILLISECONDS_OVER_WHICH_TO_AVERAGE_WIND, boatClass.getApproximateManeuverDurationInMilliseconds(), null, /*useMarkPassingCalculator*/ true, raceLogResolver); logger.info(String.format("Started tracking race-log race (%s)", raceLog)); diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogTrackingAdapterImpl.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogTrackingAdapterImpl.java index 7df05a55997..54d890f06fa 100755 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogTrackingAdapterImpl.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogTrackingAdapterImpl.java @@ -56,7 +56,6 @@ import com.sap.sailing.domain.common.racelog.tracking.NotDenotableForRaceLogTrac import com.sap.sailing.domain.common.racelog.tracking.NotDenotedForRaceLogTrackingException; import com.sap.sailing.domain.common.racelog.tracking.RaceLogRaceTrackerExistsException; import com.sap.sailing.domain.common.racelog.tracking.RaceLogTrackingState; -import com.sap.sailing.domain.common.racelog.tracking.TransformationException; import com.sap.sailing.domain.common.tracking.GPSFix; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; @@ -250,8 +249,8 @@ public class RaceLogTrackingAdapterImpl implements RaceLogTrackingAdapter { now, service.getServerAuthor(), UUID.randomUUID(), mark, device, timePoint, timePoint); log.add(mapping); try { - service.getGPSFixStore().storeFix(device, gpsFix); - } catch (TransformationException | NoCorrespondingServiceRegisteredException e) { + service.getSensorFixStore().storeFix(device, gpsFix); + } catch (NoCorrespondingServiceRegisteredException e) { logger.log(Level.WARNING, "Could not ping mark " + mark); } } diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java index 5c1740c625e..8f3780103c4 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java @@ -8,7 +8,6 @@ import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.regattalog.RegattaLogStore; import com.sap.sailing.domain.swisstimingadapter.impl.SwissTimingFactoryImpl; import com.sap.sailing.domain.tracking.RaceTracker; @@ -53,14 +52,14 @@ public interface SwissTimingFactory { SwissTimingRaceTracker createRaceTracker(String raceID, String raceName, String raceDescription, BoatClass boatClass, String hostname, int port, StartList startList, long delayToLiveInMillis, - RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, WindStore windStore, GPSFixStore gpsFixStore, + RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, WindStore windStore, boolean useInternalMarkPassingAlgorithm, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws InterruptedException, UnknownHostException, IOException, ParseException; RaceTracker createRaceTracker(Regatta regatta, String raceID, String raceName, String raceDescription, BoatClass boatClass, String hostname, int port, StartList startList, long delayToLiveInMillis, - WindStore windStore, GPSFixStore gpsFixStore, boolean useInternalMarkPassingAlgorithm, + WindStore windStore, boolean useInternalMarkPassingAlgorithm, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws UnknownHostException, InterruptedException, IOException, ParseException; diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java index 5782c0b7b11..b0473ba08e5 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java @@ -11,7 +11,6 @@ import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.regattalog.RegattaLogStore; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; import com.sap.sailing.domain.swisstimingadapter.Race; @@ -91,23 +90,24 @@ public class SwissTimingFactoryImpl implements SwissTimingFactory { @Override public SwissTimingRaceTracker createRaceTracker(String raceID, String raceName, String raceDescription, BoatClass boatClass, String hostname, int port, StartList startList, long delayToLiveInMillis, - RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, WindStore windStore, GPSFixStore gpsFixStore, + RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, WindStore windStore, boolean useInternalMarkPassingAlgorithm, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws InterruptedException, UnknownHostException, IOException, ParseException { return new SwissTimingRaceTrackerImpl(raceID, raceName, raceDescription, boatClass, hostname, port, startList, - raceLogStore, regattaLogStore, windStore, gpsFixStore, domainFactory, this, + raceLogStore, regattaLogStore, windStore, domainFactory, this, trackedRegattaRegistry, raceLogResolver, delayToLiveInMillis, useInternalMarkPassingAlgorithm); } @Override public RaceTracker createRaceTracker(Regatta regatta, String raceID, String raceName, String raceDescription, BoatClass boatClass, String hostname, int port, StartList startList, long delayToLiveInMillis, - WindStore windStore, GPSFixStore gpsFixStore, boolean useInternalMarkPassingAlgorithm, + WindStore windStore, boolean useInternalMarkPassingAlgorithm, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws UnknownHostException, InterruptedException, IOException, ParseException { return new SwissTimingRaceTrackerImpl(regatta, raceID, raceName, raceDescription, boatClass, hostname, port, - startList, windStore, gpsFixStore, domainFactory, this, trackedRegattaRegistry, raceLogResolver, delayToLiveInMillis, useInternalMarkPassingAlgorithm); + startList, windStore, domainFactory, this, trackedRegattaRegistry, raceLogResolver, delayToLiveInMillis, + useInternalMarkPassingAlgorithm); } @Override diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java index 0bd1cd9b5e9..e1ff91415e6 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java @@ -36,7 +36,6 @@ import com.sap.sailing.domain.common.impl.WindImpl; import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID; import com.sap.sailing.domain.common.tracking.GPSFixMoving; import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.regattalog.RegattaLogStore; import com.sap.sailing.domain.swisstimingadapter.Course; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; @@ -83,7 +82,6 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl private final com.sap.sse.common.Util.Triple id; private final Regatta regatta; private final WindStore windStore; - private final GPSFixStore gpsFixStore; private final boolean startListFromManage2Sail; private final boolean useInternalMarkPassingAlgorithm; @@ -113,18 +111,19 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl protected SwissTimingRaceTrackerImpl(String raceID, String raceName, String raceDescription, BoatClass boatClass, String hostname, int port, StartList startList, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, - WindStore windStore, GPSFixStore gpsFixStore, DomainFactory domainFactory, SwissTimingFactory factory, + WindStore windStore, DomainFactory domainFactory, SwissTimingFactory factory, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver, long delayToLiveInMillis, boolean useInternalMarkPassingAlgorithm) throws InterruptedException, UnknownHostException, IOException, ParseException { this(domainFactory.getOrCreateDefaultRegatta(raceLogStore, regattaLogStore, raceID, boatClass, trackedRegattaRegistry), raceID, raceName, - raceDescription, boatClass, hostname, port, startList, windStore, gpsFixStore, domainFactory, factory, trackedRegattaRegistry, + raceDescription, boatClass, hostname, port, startList, windStore, domainFactory, factory, + trackedRegattaRegistry, raceLogResolver, delayToLiveInMillis, useInternalMarkPassingAlgorithm); } protected SwissTimingRaceTrackerImpl(Regatta regatta, String raceID, String raceName, String raceDescription, BoatClass boatClass, String hostname, int port, StartList startList, WindStore windStore, - GPSFixStore gpsFixStore, DomainFactory domainFactory, SwissTimingFactory factory, + DomainFactory domainFactory, SwissTimingFactory factory, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver, long delayToLiveInMillis, boolean useInternalMarkPassingAlgorithm) throws InterruptedException, UnknownHostException, IOException, ParseException { @@ -141,7 +140,6 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl this.raceDescription = raceDescription; this.boatClass = boatClass; this.windStore = windStore; - this.gpsFixStore = gpsFixStore; this.id = createID(raceID, hostname, port); connector.addSailMasterListener(this); trackedRegatta = trackedRegattaRegistry.getOrCreateTrackedRegatta(regatta); @@ -242,11 +240,6 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl return windStore; } - @Override - public GPSFixStore getGPSFixStore() { - return gpsFixStore; - } - @Override public Regatta getRegatta() { return regatta; @@ -476,7 +469,8 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl competitorsByBoatId.put(c.getBoatID(), existingCompetitor); } } - trackedRace = getTrackedRegatta().createTrackedRace(race, Collections. emptyList(), windStore, gpsFixStore, delayToLiveInMillis, + trackedRace = getTrackedRegatta().createTrackedRace(race, Collections. emptyList(), windStore, + delayToLiveInMillis, WindTrack.DEFAULT_MILLISECONDS_OVER_WHICH_TO_AVERAGE_WIND, /* time over which to average speed */ race.getBoatClass().getApproximateManeuverDurationInMilliseconds(), new DynamicRaceDefinitionSet() { diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java index 1a558463001..ee8935c98fa 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java @@ -5,7 +5,6 @@ import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.regattalog.RegattaLogStore; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; import com.sap.sailing.domain.swisstimingadapter.StartList; @@ -52,17 +51,18 @@ public class SwissTimingTrackingConnectivityParameters implements RaceTrackingCo @Override public RaceTracker createRaceTracker(TrackedRegattaRegistry trackedRegattaRegistry, WindStore windStore, - GPSFixStore gpsFixStore, RaceLogResolver raceLogResolver) throws Exception { + RaceLogResolver raceLogResolver) throws Exception { return swissTimingFactory.createRaceTracker(raceID, raceName, raceDescription, boatClass, hostname, port, - startList, delayToLiveInMillis, raceLogStore, regattaLogStore, windStore, gpsFixStore, useInternalMarkPassingAlgorithm, + startList, delayToLiveInMillis, raceLogStore, regattaLogStore, windStore, + useInternalMarkPassingAlgorithm, domainFactory, trackedRegattaRegistry, raceLogResolver); } @Override public RaceTracker createRaceTracker(Regatta regatta, TrackedRegattaRegistry trackedRegattaRegistry, - WindStore windStore, GPSFixStore gpsFixStore, RaceLogResolver raceLogResolver) throws Exception { + WindStore windStore, RaceLogResolver raceLogResolver) throws Exception { return swissTimingFactory.createRaceTracker(regatta, raceID, raceName, raceDescription, boatClass, hostname, - port, startList, delayToLiveInMillis, windStore, gpsFixStore, useInternalMarkPassingAlgorithm, + port, startList, delayToLiveInMillis, windStore, useInternalMarkPassingAlgorithm, domainFactory, trackedRegattaRegistry, raceLogResolver); } diff --git a/java/com.sap.sailing.domain.swisstimingreplayadapter/src/com/sap/sailing/domain/swisstimingreplayadapter/impl/SwissTimingReplayToDomainAdapter.java b/java/com.sap.sailing.domain.swisstimingreplayadapter/src/com/sap/sailing/domain/swisstimingreplayadapter/impl/SwissTimingReplayToDomainAdapter.java index 4c4b53a1ae7..da048fee42f 100755 --- a/java/com.sap.sailing.domain.swisstimingreplayadapter/src/com/sap/sailing/domain/swisstimingreplayadapter/impl/SwissTimingReplayToDomainAdapter.java +++ b/java/com.sap.sailing.domain.swisstimingreplayadapter/src/com/sap/sailing/domain/swisstimingreplayadapter/impl/SwissTimingReplayToDomainAdapter.java @@ -38,7 +38,6 @@ import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID; import com.sap.sailing.domain.common.tracking.GPSFixMoving; import com.sap.sailing.domain.common.tracking.impl.GPSFixMovingImpl; import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; -import com.sap.sailing.domain.racelog.tracking.EmptyGPSFixStore; import com.sap.sailing.domain.regattalog.impl.EmptyRegattaLogStore; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; import com.sap.sailing.domain.swisstimingreplayadapter.CompetitorStatus; @@ -319,7 +318,8 @@ public class SwissTimingReplayToDomainAdapter extends SwissTimingReplayAdapter i currentRaceID, competitorsPerRaceID.get(currentRaceID), currentCourseDefinition); racePerRaceID.put(currentRaceID, race); DynamicTrackedRace trackedRace = trackedRegattaRegistry.getOrCreateTrackedRegatta(myRegatta). - createTrackedRace(race, Collections. emptyList(), EmptyWindStore.INSTANCE, EmptyGPSFixStore.INSTANCE,TrackedRace.DEFAULT_LIVE_DELAY_IN_MILLISECONDS, + createTrackedRace(race, Collections. emptyList(), EmptyWindStore.INSTANCE, + TrackedRace.DEFAULT_LIVE_DELAY_IN_MILLISECONDS, WindTrack.DEFAULT_MILLISECONDS_OVER_WHICH_TO_AVERAGE_WIND, /* time over which to average speed: */ race.getBoatClass().getApproximateManeuverDurationInMilliseconds(), /* raceDefinitionSetToUpdate */ null, useInternalMarkPassingAlgorithm, raceLogResolver); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MultipleClassesInRegattaTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MultipleClassesInRegattaTest.java index 4b91a74d1aa..02f80b054c4 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MultipleClassesInRegattaTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MultipleClassesInRegattaTest.java @@ -2,6 +2,7 @@ package com.sap.sailing.domain.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotSame; +import static org.mockito.Mockito.mock; import java.io.FileNotFoundException; import java.io.IOException; @@ -10,15 +11,12 @@ import java.net.URI; import java.net.URISyntaxException; import java.net.URL; -import static org.mockito.Mockito.mock; - import org.junit.After; import org.junit.Before; import org.junit.Test; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; -import com.sap.sailing.domain.racelog.tracking.EmptyGPSFixStore; import com.sap.sailing.domain.regattalog.impl.EmptyRegattaLogStore; import com.sap.sailing.domain.tracking.impl.EmptyWindStore; import com.sap.sailing.domain.tractracadapter.DomainFactory; @@ -62,7 +60,7 @@ public class MultipleClassesInRegattaTest { new URI(liveURI), new URI(storedURI), new URI(courseDesignUpdateURI), /* startOfTracking */null, /* endOfTracking */null, /* delayToLiveInMillis */0l, /* offsetToStartTimeOfSimulatedRace */ null, /* ignoreTracTracMarkPassings*/ false, EmptyRaceLogStore.INSTANCE, EmptyRegattaLogStore.INSTANCE, EmptyWindStore.INSTANCE, - EmptyGPSFixStore.INSTANCE, tracTracUsername, tracTracPassword, + tracTracUsername, tracTracPassword, TracTracConnectionConstants.ONLINE_STATUS, TracTracConnectionConstants.ONLINE_VISIBILITY, new DummyTrackedRegattaRegistry(), mock(RaceLogResolver.class)); kiwotest2 = domainFactory @@ -73,7 +71,7 @@ public class MultipleClassesInRegattaTest { new URI(liveURI), new URI(storedURI), new URI(courseDesignUpdateURI), /* startOfTracking */null, /* endOfTracking */null, /* delayToLiveInMillis */0l, /* offsetToStartTimeOfSimulatedRace */ null, /* ignoreTracTracMarkPassings*/ false, EmptyRaceLogStore.INSTANCE, EmptyRegattaLogStore.INSTANCE, EmptyWindStore.INSTANCE, - EmptyGPSFixStore.INSTANCE, tracTracUsername, tracTracPassword, + tracTracUsername, tracTracPassword, TracTracConnectionConstants.ONLINE_STATUS, TracTracConnectionConstants.ONLINE_VISIBILITY, new DummyTrackedRegattaRegistry(), mock(RaceLogResolver.class)); kiwotest3 = domainFactory @@ -84,7 +82,7 @@ public class MultipleClassesInRegattaTest { new URI(liveURI), new URI(storedURI), new URI(courseDesignUpdateURI), /* startOfTracking */null, /* endOfTracking */null, /* delayToLiveInMillis */0l, /* offsetToStartTimeOfSimulatedRace */ null, /* ignoreTracTracMarkPassings*/ false, EmptyRaceLogStore.INSTANCE, EmptyRegattaLogStore.INSTANCE, EmptyWindStore.INSTANCE, - EmptyGPSFixStore.INSTANCE, tracTracUsername, tracTracPassword, + tracTracUsername, tracTracPassword, TracTracConnectionConstants.ONLINE_STATUS, TracTracConnectionConstants.ONLINE_VISIBILITY, new DummyTrackedRegattaRegistry(), mock(RaceLogResolver.class)); weym470may112014_2 = domainFactory @@ -95,7 +93,7 @@ public class MultipleClassesInRegattaTest { new URI(liveURI), new URI(storedURI), new URI(courseDesignUpdateURI), /* startOfTracking */null, /* endOfTracking */null, /* delayToLiveInMillis */0l, /* offsetToStartTimeOfSimulatedRace */ null, /* ignoreTracTracMarkPassings*/ false, EmptyRaceLogStore.INSTANCE, EmptyRegattaLogStore.INSTANCE, EmptyWindStore.INSTANCE, - EmptyGPSFixStore.INSTANCE, tracTracUsername, tracTracPassword, + tracTracUsername, tracTracPassword, TracTracConnectionConstants.ONLINE_STATUS, TracTracConnectionConstants.ONLINE_VISIBILITY, new DummyTrackedRegattaRegistry(), mock(RaceLogResolver.class)); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java index 3b907f3cf30..e1803615e5e 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java @@ -1,7 +1,8 @@ package com.sap.sailing.domain.test; -import java.io.BufferedReader; import static org.mockito.Mockito.mock; + +import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; @@ -19,7 +20,6 @@ import org.junit.rules.Timeout; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; -import com.sap.sailing.domain.racelog.tracking.EmptyGPSFixStore; import com.sap.sailing.domain.regattalog.impl.EmptyRegattaLogStore; import com.sap.sailing.domain.tracking.impl.EmptyWindStore; import com.sap.sailing.domain.tractracadapter.DomainFactory; @@ -69,7 +69,7 @@ public class UnicodeCharactersInCompetitorNamesTest { /* startOfTracking */null, /* endOfTracking */null, /* delayToLiveInMillis */0l, /* offsetToStartTimeOfSimulatedRace */ null, /* ignoreTracTracMarkPassings*/ false, EmptyRaceLogStore.INSTANCE, EmptyRegattaLogStore.INSTANCE, - EmptyWindStore.INSTANCE, EmptyGPSFixStore.INSTANCE, "tracTest", "tracTest", "", "", + EmptyWindStore.INSTANCE, "tracTest", "tracTest", "", "", new DummyTrackedRegattaRegistry(), mock(RaceLogResolver.class)); Iterable competitors = fourtyninerYellow_2.getRacesHandle().getRace().getCompetitors(); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java index b7317caaeb8..e9c9642c095 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java @@ -46,7 +46,6 @@ import com.sap.sailing.domain.common.tracking.SensorFix; import com.sap.sailing.domain.leaderboard.ScoringScheme; import com.sap.sailing.domain.polars.NotEnoughDataHasBeenAddedException; import com.sap.sailing.domain.polars.PolarDataService; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.ranking.RankingMetric; import com.sap.sailing.domain.ranking.RankingMetric.RankingInfo; import com.sap.sailing.domain.ranking.RankingMetricConstructor; @@ -564,7 +563,7 @@ public class MockedTrackedRace implements DynamicTrackedRace { @Override public DynamicTrackedRace createTrackedRace(RaceDefinition raceDefinition, Iterable sidelines, - WindStore windStore, GPSFixStore gpsFixStore, long delayToLiveInMillis, + WindStore windStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, boolean useMarkPassingcalculator, RaceLogResolver raceLogResolver) { @@ -921,9 +920,6 @@ public class MockedTrackedRace implements DynamicTrackedRace { return null; } - public GPSFixStore getGPSFixStore() { - return null; - } @Override public Distance getAverageSignedCrossTrackError(Competitor competitor, TimePoint timePoint, diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java index 90bcdf66356..863458c7fc9 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java @@ -27,7 +27,6 @@ import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.common.PassingInstruction; import com.sap.sailing.domain.common.tracking.GPSFixMoving; import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.regattalog.RegattaLogStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; @@ -142,7 +141,7 @@ public interface DomainFactory { TracTracRaceTracker createRaceTracker(URL paramURL, URI liveURI, URI storedURI, URI courseDesignUpdateURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, Duration offsetToStartTimeOfSimulatedRace, boolean useInternalMarkPassingAlgorithm, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, - WindStore windStore, GPSFixStore gpsFixStore, String tracTracUsername, String tracTracPassword, + WindStore windStore, String tracTracUsername, String tracTracPassword, String raceStatus, String raceVisibility, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws MalformedURLException, FileNotFoundException, URISyntaxException, CreateModelException, SubscriberInitializationException; @@ -156,7 +155,7 @@ public interface DomainFactory { RaceTracker createRaceTracker(Regatta regatta, URL paramURL, URI liveURI, URI storedURI, URI courseDesignUpdateURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, Duration offsetToStartTimeOfSimulatedRace, boolean useInternalMarkPassingAlgorithm, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, - WindStore windStore, GPSFixStore gpsFixStore, String tracTracUsername, String tracTracPassword, + WindStore windStore, String tracTracUsername, String tracTracPassword, String raceStatus, String raceVisibility, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws MalformedURLException, FileNotFoundException, URISyntaxException, CreateModelException, SubscriberInitializationException; diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index 1e24f65600f..de83ff58ae5 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -53,8 +53,6 @@ import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.tracking.GPSFixMoving; import com.sap.sailing.domain.common.tracking.impl.GPSFixMovingImpl; import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.tracking.EmptyGPSFixStore; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.regattalog.RegattaLogStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; @@ -524,7 +522,7 @@ public class DomainFactoryImpl implements DomainFactory { // add to existing regatta only if boat class matches if (raceDefinition.getBoatClass() == trackedRegatta.getRegatta().getBoatClass()) { trackedRegatta.getRegatta().addRace(raceDefinition); - trackedRace = createTrackedRace(trackedRegatta, raceDefinition, sidelines, windStore, EmptyGPSFixStore.INSTANCE, + trackedRace = createTrackedRace(trackedRegatta, raceDefinition, sidelines, windStore, delayToLiveInMillis, millisecondsOverWhichToAverageWind, raceDefinitionSetToUpdate, ignoreTracTracMarkPassings, raceLogResolver); logger.info("Added race " + raceDefinition + " to regatta " + trackedRegatta.getRegatta()); @@ -562,11 +560,11 @@ public class DomainFactoryImpl implements DomainFactory { } private DynamicTrackedRace createTrackedRace(TrackedRegatta trackedRegatta, RaceDefinition race, - Iterable sidelines, WindStore windStore, GPSFixStore gpsFixStore, long delayToLiveInMillis, + Iterable sidelines, WindStore windStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, boolean useMarkPassingCalculator, RaceLogResolver raceLogResolver) { return trackedRegatta.createTrackedRace(race, sidelines, - windStore, gpsFixStore, delayToLiveInMillis, millisecondsOverWhichToAverageWind, + windStore, delayToLiveInMillis, millisecondsOverWhichToAverageWind, /* time over which to average speed: */ race.getBoatClass().getApproximateManeuverDurationInMilliseconds(), raceDefinitionSetToUpdate, useMarkPassingCalculator, raceLogResolver); } @@ -655,27 +653,28 @@ public class DomainFactoryImpl implements DomainFactory { public TracTracRaceTracker createRaceTracker(URL paramURL, URI liveURI, URI storedURI, URI courseDesignUpdateURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, Duration offsetToStartTimeOfSimulatedRace, boolean useInternalMarkPassingAlgorithm, RaceLogStore raceLogStore, - RegattaLogStore regattaLogStore, WindStore windStore, GPSFixStore gpsFixStore, String tracTracUsername, + RegattaLogStore regattaLogStore, WindStore windStore, String tracTracUsername, String tracTracPassword, String raceStatus, String raceVisibility, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws MalformedURLException, FileNotFoundException, URISyntaxException, CreateModelException, SubscriberInitializationException { return new TracTracRaceTrackerImpl(this, paramURL, liveURI, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, delayToLiveInMillis, offsetToStartTimeOfSimulatedRace, useInternalMarkPassingAlgorithm, raceLogStore, regattaLogStore, windStore, - gpsFixStore, tracTracUsername, tracTracPassword, raceStatus, raceVisibility, trackedRegattaRegistry, raceLogResolver); + tracTracUsername, tracTracPassword, raceStatus, raceVisibility, trackedRegattaRegistry, + raceLogResolver); } @Override public RaceTracker createRaceTracker(Regatta regatta, URL paramURL, URI liveURI, URI storedURI, URI courseDesignUpdateURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, Duration offsetToStartTimeOfSimulatedRace, boolean useInternalMarkPassingAlgorithm, RaceLogStore raceLogStore, - RegattaLogStore regattaLogStore, WindStore windStore, GPSFixStore gpsFixStore, String tracTracUsername, + RegattaLogStore regattaLogStore, WindStore windStore, String tracTracUsername, String tracTracPassword, String raceStatus, String raceVisibility, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws MalformedURLException, FileNotFoundException, URISyntaxException, CreateModelException, SubscriberInitializationException { return new TracTracRaceTrackerImpl(regatta, this, paramURL, liveURI, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, delayToLiveInMillis, offsetToStartTimeOfSimulatedRace, useInternalMarkPassingAlgorithm, raceLogStore, - regattaLogStore, windStore, gpsFixStore, tracTracUsername, tracTracPassword, raceStatus, + regattaLogStore, windStore, tracTracUsername, tracTracPassword, raceStatus, raceVisibility, trackedRegattaRegistry, raceLogResolver); } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java index 5f8e6cbb304..c547175725d 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java @@ -18,7 +18,6 @@ import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Sideline; import com.sap.sailing.domain.common.PassingInstruction; -import com.sap.sailing.domain.racelog.tracking.EmptyGPSFixStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; @@ -225,7 +224,7 @@ public class RaceCourseReceiver extends AbstractReceiverWithQueue sidelines) { DynamicTrackedRace trackedRace = getTrackedRegatta().createTrackedRace(race, sidelines, - windStore, EmptyGPSFixStore.INSTANCE, delayToLiveInMillis, millisecondsOverWhichToAverageWind, + windStore, delayToLiveInMillis, millisecondsOverWhichToAverageWind, /* time over which to average speed: */ race.getBoatClass().getApproximateManeuverDurationInMilliseconds(), raceDefinitionSetToUpdate, useInternalMarkPassingAlgorithm, raceLogResolver); getDomainFactory().addTracTracUpdateHandlers(tracTracUpdateURI, getTracTracEvent().getId(), tracTracUsername, tracTracPassword, race, trackedRace); diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java index 17c00105762..91d819e7da0 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java @@ -9,7 +9,6 @@ import java.net.URL; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.regattalog.RegattaLogStore; import com.sap.sailing.domain.tracking.RaceTracker; import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters; @@ -65,21 +64,21 @@ public class RaceTrackingConnectivityParametersImpl implements RaceTrackingConne @Override public RaceTracker createRaceTracker(TrackedRegattaRegistry trackedRegattaRegistry, WindStore windStore, - GPSFixStore gpsFixStore, RaceLogResolver raceLogResolver) throws MalformedURLException, FileNotFoundException, URISyntaxException, + RaceLogResolver raceLogResolver) throws MalformedURLException, FileNotFoundException, URISyntaxException, CreateModelException, SubscriberInitializationException { RaceTracker tracker = domainFactory.createRaceTracker(paramURL, liveURI, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, delayToLiveInMillis, offsetToStartTimeOfSimulatedRace, useInternalMarkPassingAlgorithm, raceLogStore, - regattaLogStore, windStore, gpsFixStore, tracTracUsername, tracTracPassword, raceStatus, + regattaLogStore, windStore, tracTracUsername, tracTracPassword, raceStatus, raceVisibility, trackedRegattaRegistry, raceLogResolver); return tracker; } @Override public RaceTracker createRaceTracker(Regatta regatta, TrackedRegattaRegistry trackedRegattaRegistry, - WindStore windStore, GPSFixStore gpsFixStore, RaceLogResolver raceLogResolver) throws Exception { + WindStore windStore, RaceLogResolver raceLogResolver) throws Exception { RaceTracker tracker = domainFactory.createRaceTracker(regatta, paramURL, liveURI, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, delayToLiveInMillis, offsetToStartTimeOfSimulatedRace, useInternalMarkPassingAlgorithm, - raceLogStore, regattaLogStore, windStore, gpsFixStore, tracTracUsername, tracTracPassword, raceStatus, + raceLogStore, regattaLogStore, windStore, tracTracUsername, tracTracPassword, raceStatus, raceVisibility, trackedRegattaRegistry, raceLogResolver); return tracker; } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java index b89d8bd243f..bbe4f550c93 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java @@ -30,7 +30,6 @@ import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.TrackedRaceStatusEnum; import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.regattalog.RegattaLogStore; import com.sap.sailing.domain.tracking.AbstractRaceTrackerImpl; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; @@ -195,7 +194,6 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl private final Set receivers; private final DomainFactory domainFactory; private final WindStore windStore; - private final GPSFixStore gpsFixStore; private final Set races; private final DynamicTrackedRegatta trackedRegatta; private TrackedRaceStatus lastStatus; @@ -257,26 +255,28 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl protected TracTracRaceTrackerImpl(DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, URI courseDesignUpdateURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, Duration offsetToStartTimeOfSimulatedRace, boolean useInternalMarkPassingAlgorithm, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, - WindStore windStore, GPSFixStore gpsFixStore, String tracTracUsername, String tracTracPassword, + WindStore windStore, String tracTracUsername, String tracTracPassword, String raceStatus, String raceVisibility, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws URISyntaxException, MalformedURLException, FileNotFoundException, CreateModelException, SubscriberInitializationException { this(ModelLocator.getEventFactory().createRace(new URI(paramURL.toString())), domainFactory, paramURL, liveURI, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, delayToLiveInMillis, - offsetToStartTimeOfSimulatedRace, useInternalMarkPassingAlgorithm, raceLogStore, regattaLogStore, windStore, gpsFixStore, tracTracUsername, + offsetToStartTimeOfSimulatedRace, useInternalMarkPassingAlgorithm, raceLogStore, regattaLogStore, + windStore, tracTracUsername, tracTracPassword, raceStatus, raceVisibility, trackedRegattaRegistry, raceLogResolver); } private TracTracRaceTrackerImpl(IRace tractracRace, DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, URI courseDesignUpdateURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, Duration offsetToStartTimeOfSimulatedRace, boolean useInternalMarkPassingAlgorithm, RaceLogStore raceLogStore, - RegattaLogStore regattaLogStore, WindStore windStore, GPSFixStore gpsFixStore, String tracTracUsername, + RegattaLogStore regattaLogStore, WindStore windStore, String tracTracUsername, String tracTracPassword, String raceStatus, String raceVisibility, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws URISyntaxException, MalformedURLException, FileNotFoundException, SubscriberInitializationException { this(tractracRace, null, domainFactory, paramURL, liveURI, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, delayToLiveInMillis, offsetToStartTimeOfSimulatedRace, useInternalMarkPassingAlgorithm, raceLogStore, regattaLogStore, windStore, - gpsFixStore, tracTracUsername, tracTracPassword, raceStatus, raceVisibility, trackedRegattaRegistry, raceLogResolver); + tracTracUsername, tracTracPassword, raceStatus, raceVisibility, trackedRegattaRegistry, + raceLogResolver); } /** @@ -288,13 +288,14 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl protected TracTracRaceTrackerImpl(Regatta regatta, DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, URI courseDesignUpdateURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, Duration offsetToStartTimeOfSimulatedRace, boolean ignoreTracTracMarkPassings, RaceLogStore raceLogStore, - RegattaLogStore regattaLogStore, WindStore windStore, GPSFixStore gpsFixStore, String tracTracUsername, + RegattaLogStore regattaLogStore, WindStore windStore, String tracTracUsername, String tracTracPassword, String raceStatus, String raceVisibility, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws URISyntaxException, MalformedURLException, FileNotFoundException, CreateModelException, SubscriberInitializationException { this(ModelLocator.getEventFactory().createRace(new URI(paramURL.toString())), regatta, domainFactory, paramURL, liveURI, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, delayToLiveInMillis, - offsetToStartTimeOfSimulatedRace, ignoreTracTracMarkPassings, raceLogStore, regattaLogStore, windStore, gpsFixStore, tracTracUsername, + offsetToStartTimeOfSimulatedRace, ignoreTracTracMarkPassings, raceLogStore, regattaLogStore, windStore, + tracTracUsername, tracTracPassword, raceStatus, raceVisibility, trackedRegattaRegistry, raceLogResolver); } @@ -312,7 +313,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl private TracTracRaceTrackerImpl(IRace tractracRace, final Regatta regatta, DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, URI tracTracUpdateURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, Duration offsetToStartTimeOfSimulatedRace, boolean useInternalMarkPassingAlgorithm, - RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, WindStore windStore, GPSFixStore gpsFixStore, + RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, WindStore windStore, String tracTracUsername, String tracTracPassword, String raceStatus, String raceVisibility, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogResolver raceLogResolver) throws URISyntaxException, MalformedURLException, FileNotFoundException, SubscriberInitializationException { @@ -323,7 +324,6 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl this.id = createID(paramURL, liveURI, storedURI); isLiveTracking = liveURI != null; this.races = new HashSet(); - this.gpsFixStore = gpsFixStore; this.domainFactory = domainFactory; this.lastProgressPerID = new HashMap<>(); if (offsetToStartTimeOfSimulatedRace != null) { @@ -717,8 +717,4 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl }; } - @Override - public GPSFixStore getGPSFixStore() { - return gpsFixStore; - } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/masterdataimport/TopLevelMasterData.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/masterdataimport/TopLevelMasterData.java index b3f2befddc4..eab2eb2a0fa 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/masterdataimport/TopLevelMasterData.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/masterdataimport/TopLevelMasterData.java @@ -34,7 +34,9 @@ import com.sap.sailing.domain.common.tracking.GPSFix; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; +import com.sap.sailing.domain.racelog.impl.GPSFixStoreImpl; import com.sap.sailing.domain.racelog.tracking.GPSFixStore; +import com.sap.sailing.domain.racelog.tracking.SensorFixStore; import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; import com.sap.sailing.domain.racelogtracking.impl.DeviceMappingImpl; import com.sap.sailing.domain.tracking.DynamicGPSFixTrack; @@ -67,10 +69,11 @@ public class TopLevelMasterData implements Serializable { public TopLevelMasterData(final Set groupsToExport, final Iterable allEvents, final Map regattaForRaceIdString, final Iterable allMediaTracks, - GPSFixStore gpsFixStore, boolean exportWind, Map deviceConfigurations) { + SensorFixStore sensorFixStore, boolean exportWind, + Map deviceConfigurations) { this.raceIdStringsForRegatta = convertToRaceIdStringsForRegattaMap(regattaForRaceIdString); this.leaderboardGroups = groupsToExport; - this.raceLogTrackingFixes = getAllRelevantRaceLogTrackingFixes(gpsFixStore); + this.raceLogTrackingFixes = getAllRelevantRaceLogTrackingFixes(sensorFixStore); if (exportWind) { this.windTrackMasterData = fillWindMap(groupsToExport); } else { @@ -82,7 +85,7 @@ public class TopLevelMasterData implements Serializable { filterMediaTracks(allMediaTracks, this.filteredMediaTracks); } - private Map> getAllRelevantRaceLogTrackingFixes(GPSFixStore gpsFixStore) { + private Map> getAllRelevantRaceLogTrackingFixes(SensorFixStore sensorFixStore) { Map> relevantFixes = new HashMap<>(); //Add fixes for regatta log mappings @@ -91,7 +94,7 @@ public class TopLevelMasterData implements Serializable { try { regattaLog.lockForRead(); for (RegattaLogEvent logEvent : regattaLog.getRawFixes()) { - addAllFixesIfMappingEvent(gpsFixStore, relevantFixes, logEvent); + addAllFixesIfMappingEvent(sensorFixStore, relevantFixes, logEvent); } } finally { regattaLog.unlockAfterRead(); @@ -106,7 +109,7 @@ public class TopLevelMasterData implements Serializable { try { raceLog.lockForRead(); for (RaceLogEvent logEvent : raceLog.getRawFixes()) { - addAllFixesIfMappingEvent(gpsFixStore, relevantFixes, logEvent); + addAllFixesIfMappingEvent(sensorFixStore, relevantFixes, logEvent); } } finally { raceLog.unlockAfterRead(); @@ -118,12 +121,13 @@ public class TopLevelMasterData implements Serializable { return relevantFixes; } - private void addAllFixesIfMappingEvent(GPSFixStore gpsFixStore, Map> relevantFixes, + private void addAllFixesIfMappingEvent(SensorFixStore sensorFixStore, + Map> relevantFixes, AbstractLogEvent logEvent) { if (logEvent instanceof RegattaLogDeviceMappingEvent) { RegattaLogDeviceMappingEvent mappingEvent = (RegattaLogDeviceMappingEvent) logEvent; try { - addAllFixesForMappingEvent(gpsFixStore, relevantFixes, mappingEvent); + addAllFixesForMappingEvent(sensorFixStore, relevantFixes, mappingEvent); } catch (NoCorrespondingServiceRegisteredException | TransformationException e) { logger.severe("Failed to add fixes to exportdata for mapping Event"); e.printStackTrace(); @@ -131,7 +135,8 @@ public class TopLevelMasterData implements Serializable { } } - private void addAllFixesForMappingEvent(GPSFixStore gpsFixStore, Map> relevantFixes, + private void addAllFixesForMappingEvent(SensorFixStore sensorFixStore, + Map> relevantFixes, RegattaLogDeviceMappingEvent mappingEvent) throws NoCorrespondingServiceRegisteredException, TransformationException { DynamicGPSFixTrack track; if (isMarkMappingEvent(mappingEvent)) { @@ -140,6 +145,7 @@ public class TopLevelMasterData implements Serializable { track = new DynamicGPSFixMovingTrackImpl(mappingEvent.getMappedTo(), 1000); } DeviceIdentifier device = mappingEvent.getDevice(); + GPSFixStore gpsFixStore = new GPSFixStoreImpl(sensorFixStore); gpsFixStore.loadTrack(track, new DeviceMappingImpl(mappingEvent.getMappedTo(), device, new TimeRangeImpl(mappingEvent.getFrom(), mappingEvent.getTo()), mappingEvent.getClass())); if (!relevantFixes.containsKey(device)) { diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTracker.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTracker.java index 1b4294b5070..21d7f637bfc 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTracker.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTracker.java @@ -8,7 +8,6 @@ import java.util.Set; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; /** * Centerpiece of a tracking adapter. A tracker is responsible for receiving tracking data for one or more @@ -69,8 +68,6 @@ public interface RaceTracker { WindStore getWindStore(); - GPSFixStore getGPSFixStore(); - /** * returns a unique key for this tracker which can, e.g., be used as a key in a {@link Map} */ diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTrackingConnectivityParameters.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTrackingConnectivityParameters.java index d08f86b7069..05376e6f043 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTrackingConnectivityParameters.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTrackingConnectivityParameters.java @@ -4,7 +4,6 @@ import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; @@ -22,7 +21,8 @@ public interface RaceTrackingConnectivityParameters { /** * Starts a {@link RaceTracker} using the connectivity parameters provided by this object. */ - RaceTracker createRaceTracker(TrackedRegattaRegistry trackedRegattaRegistry, WindStore windStore, GPSFixStore gpsFixStore, RaceLogResolver raceLogResolver) throws Exception; + RaceTracker createRaceTracker(TrackedRegattaRegistry trackedRegattaRegistry, WindStore windStore, + RaceLogResolver raceLogResolver) throws Exception; /** * Starts a {@link RaceTracker}, associating the resulting races with the {@link Regatta} passed as argument @@ -30,7 +30,8 @@ public interface RaceTrackingConnectivityParameters { * parameters. This is particularly useful if a predefined regatta with {@link Series} and {@link Fleet}s * is to be used. */ - RaceTracker createRaceTracker(Regatta regatta, TrackedRegattaRegistry trackedRegattaRegistry, WindStore windStore, GPSFixStore gpsFixStore, RaceLogResolver raceLogResolver) throws Exception; + RaceTracker createRaceTracker(Regatta regatta, TrackedRegattaRegistry trackedRegattaRegistry, WindStore windStore, + RaceLogResolver raceLogResolver) throws Exception; /** * Deliver an ID object equal to that of the {@link RaceTracker#getID()} delivered by the {@link RaceTracker} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java index 9930ccfa966..d49a56c3896 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java @@ -47,7 +47,6 @@ import com.sap.sailing.domain.common.tracking.GPSFixMoving; import com.sap.sailing.domain.common.tracking.SensorFix; import com.sap.sailing.domain.polars.NotEnoughDataHasBeenAddedException; import com.sap.sailing.domain.polars.PolarDataService; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.ranking.RankingMetric; import com.sap.sailing.domain.ranking.RankingMetric.RankingInfo; import com.sap.sailing.domain.tracking.impl.TrackedRaceImpl; diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegatta.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegatta.java index ab8d39edd27..b2581d68e86 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegatta.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegatta.java @@ -9,7 +9,6 @@ import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Sideline; import com.sap.sailing.domain.base.impl.TrackedRaces; import com.sap.sailing.domain.common.NoWindException; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sse.common.TimePoint; /** @@ -64,7 +63,7 @@ public interface TrackedRegatta extends Serializable { * @param raceLogResolver TODO */ DynamicTrackedRace createTrackedRace(RaceDefinition raceDefinition, Iterable sidelines, WindStore windStore, - GPSFixStore gpsFixStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed, + long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, boolean useInternalMarkPassingAlgorithm, RaceLogResolver raceLogResolver); /** diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRegattaImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRegattaImpl.java index a299a2b764e..44f25fd8821 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRegattaImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRegattaImpl.java @@ -4,7 +4,6 @@ import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Sideline; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; @@ -35,9 +34,10 @@ public class DynamicTrackedRegattaImpl extends TrackedRegattaImpl implements Dyn @Override public DynamicTrackedRace createTrackedRace(RaceDefinition raceDefinition, Iterable sidelines, WindStore windStore, - GPSFixStore gpsFixStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed, + long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, boolean useMarkPassingCalculator, RaceLogResolver raceLogResolver) { - return (DynamicTrackedRace) super.createTrackedRace(raceDefinition, sidelines, windStore, gpsFixStore, delayToLiveInMillis, millisecondsOverWhichToAverageWind, + return (DynamicTrackedRace) super.createTrackedRace(raceDefinition, sidelines, windStore, delayToLiveInMillis, + millisecondsOverWhichToAverageWind, millisecondsOverWhichToAverageSpeed, raceDefinitionSetToUpdate, useMarkPassingCalculator, raceLogResolver); } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRegattaImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRegattaImpl.java index 5478dea262b..27737a07430 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRegattaImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRegattaImpl.java @@ -19,7 +19,6 @@ import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Sideline; import com.sap.sailing.domain.common.NoWindException; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.RaceListener; @@ -245,7 +244,7 @@ public class TrackedRegattaImpl implements TrackedRegatta { @Override public DynamicTrackedRace createTrackedRace(RaceDefinition raceDefinition, Iterable sidelines, - WindStore windStore, GPSFixStore gpsFixStore, long delayToLiveInMillis, + WindStore windStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, boolean useInternalMarkPassingAlgorithm, RaceLogResolver raceLogResolver) { logger.log(Level.INFO, "Creating DynamicTrackedRaceImpl for RaceDefinition " + raceDefinition.getName()); diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/MockedTrackedRace.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/MockedTrackedRace.java index c2525b9a00e..d3fd99c7a67 100755 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/MockedTrackedRace.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/MockedTrackedRace.java @@ -38,7 +38,6 @@ import com.sap.sailing.domain.common.tracking.GPSFixMoving; import com.sap.sailing.domain.common.tracking.SensorFix; import com.sap.sailing.domain.polars.NotEnoughDataHasBeenAddedException; import com.sap.sailing.domain.polars.PolarDataService; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.ranking.RankingMetric; import com.sap.sailing.domain.ranking.RankingMetric.RankingInfo; import com.sap.sailing.domain.tracking.CourseDesignChangedListener; @@ -324,7 +323,7 @@ public class MockedTrackedRace implements DynamicTrackedRace { @Override public DynamicTrackedRace createTrackedRace(RaceDefinition raceDefinition, Iterable sidelines, WindStore windStore, - GPSFixStore gpsFixStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, + long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, boolean useMarkPassingCalculator, RaceLogResolver raceLogResolver) { return null; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 2fc6041590a..1f09d421121 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -247,6 +247,8 @@ import com.sap.sailing.domain.polars.NotEnoughDataHasBeenAddedException; import com.sap.sailing.domain.polars.PolarDataService; import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.racelog.RaceStateOfSameDayHelper; +import com.sap.sailing.domain.racelog.impl.GPSFixStoreImpl; +import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; import com.sap.sailing.domain.racelogtracking.DeviceIdentifierStringSerializationHandler; import com.sap.sailing.domain.racelogtracking.DeviceMapping; @@ -5650,8 +5652,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S for (String uuidAsString : uuids) { UUID uuid = UUID.fromString(uuidAsString); TrackFileImportDeviceIdentifier device = TrackFileImportDeviceIdentifierImpl.getOrCreate(uuid); - long numFixes = getService().getGPSFixStore().getNumberOfFixes(device); - TimeRange timeRange = getService().getGPSFixStore().getTimeRangeCoveredByFixes(device); + long numFixes = getService().getSensorFixStore().getNumberOfFixes(device); + TimeRange timeRange = getService().getSensorFixStore().getTimeRangeCoveredByFixes(device); Date from = timeRange == null ? null : timeRange.from().asDate(); Date to = timeRange == null ? null : timeRange.to().asDate(); result.add(new TrackFileImportDeviceIdentifierDTO(uuidAsString, device.getFileName(), device.getTrackName(), @@ -6163,7 +6165,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S final TrackingTimesFinder trackingTimesFinder = new TrackingTimesFinder(raceLog); final Pair trackingTimes = trackingTimesFinder.analyze(); try { - getService().getGPSFixStore().loadMarkTrack(writeableMarkTrack, regattaLog, mark, + GPSFixStore gfs = new GPSFixStoreImpl(getService().getSensorFixStore()); + gfs.loadMarkTrack(writeableMarkTrack, regattaLog, mark, trackingTimes.getA().getTimePoint(), trackingTimes.getB().getTimePoint()); } catch (TransformationException | NoCorrespondingServiceRegisteredException e) { logger.info("Error trying to load mark track for mark "+mark+" from "+trackingTimes.getA()+" to "+trackingTimes.getB()); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java index c9985c042e7..1b1952692bf 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java @@ -33,7 +33,6 @@ import com.sap.sailing.domain.common.impl.WindSourceImpl; import com.sap.sailing.domain.persistence.impl.DomainObjectFactoryImpl; import com.sap.sailing.domain.persistence.impl.MongoObjectFactoryImpl; import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; -import com.sap.sailing.domain.racelog.tracking.EmptyGPSFixStore; import com.sap.sailing.domain.regattalog.impl.EmptyRegattaLogStore; import com.sap.sailing.domain.test.AbstractTracTracLiveTest; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; @@ -96,7 +95,8 @@ public class TestStoringAndRetrievingWindTracksTest extends AbstractTracTracLive addReceiverToStopDuringTearDown(receiver); } RaceDefinition race = domainFactory.getAndWaitForRaceDefinition(getTracTracEvent().getRaces().iterator().next().getId()); - DynamicTrackedRace trackedRace = trackedRegatta.createTrackedRace(race, Collections. emptyList(), EmptyWindStore.INSTANCE, EmptyGPSFixStore.INSTANCE, + DynamicTrackedRace trackedRace = trackedRegatta.createTrackedRace(race, Collections. emptyList(), + EmptyWindStore.INSTANCE, /* delayToLiveInMillis */ 0l, /* millisecondsOverWhichToAverageWind */ 30000, /* millisecondsOverWhichToAverageSpeed */ 10000, new DynamicRaceDefinitionSet() { @Override public void addRaceDefinition(RaceDefinition race, DynamicTrackedRace trackedRace) { diff --git a/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/GPSFixesResourceTest.java b/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/GPSFixesResourceTest.java index e39f1d2c068..40017a17f70 100644 --- a/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/GPSFixesResourceTest.java +++ b/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/GPSFixesResourceTest.java @@ -61,6 +61,6 @@ public class GPSFixesResourceTest { assertThat("response is ok", response.getStatus(), equalTo(Response.Status.OK.getStatusCode())); DeviceIdentifier device = new SmartphoneUUIDIdentifierImpl(UUID.fromString("af855a56-9726-4a9c-a77e-da955bd289bf")); - assertThat("all fixes stored", service.getGPSFixStore().getNumberOfFixes(device), equalTo(2L)); + assertThat("all fixes stored", service.getSensorFixStore().getNumberOfFixes(device), equalTo(2L)); } } diff --git a/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/LeaderboardsResourcePingMarkTest.java b/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/LeaderboardsResourcePingMarkTest.java index d63573f35bb..ce141bf47c3 100644 --- a/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/LeaderboardsResourcePingMarkTest.java +++ b/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/LeaderboardsResourcePingMarkTest.java @@ -102,7 +102,8 @@ public class LeaderboardsResourcePingMarkTest extends AbstractJaxRsApiTest { for (DeviceMappingWithRegattaLogEvent i : mappingsForMark) { DeviceIdentifier device = i.getDevice(); // first ping produces exactly one fix: - assertThat("all fixes stored", racingEventService.getGPSFixStore().getNumberOfFixes(device), equalTo(1L)); + assertThat("all fixes stored", racingEventService.getSensorFixStore().getNumberOfFixes(device), + equalTo(1L)); } } } diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/GPSFixesResource.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/GPSFixesResource.java index d8e2d7b82c6..f8ef67471ec 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/GPSFixesResource.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/GPSFixesResource.java @@ -16,7 +16,6 @@ import org.json.simple.JSONObject; import org.json.simple.JSONValue; import org.json.simple.parser.ParseException; -import com.sap.sailing.domain.common.racelog.tracking.TransformationException; import com.sap.sailing.domain.common.tracking.GPSFixMoving; import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; import com.sap.sailing.domain.racelogtracking.impl.SmartphoneUUIDIdentifierImpl; @@ -54,10 +53,10 @@ public class GPSFixesResource extends AbstractSailingServerResource { try { for (GPSFixMoving fix : fixes) { - getService().getGPSFixStore().storeFix(device, fix); + getService().getSensorFixStore().storeFix(device, fix); } logger.log(Level.INFO, "Added " + fixes.size() + " fixes for device " + device.toString() + " to store"); - } catch (TransformationException | NoCorrespondingServiceRegisteredException e) { + } catch (NoCorrespondingServiceRegisteredException e) { logger.log(Level.WARNING, "Could not store fix for device " + device); } diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/spi/MasterDataResource.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/spi/MasterDataResource.java index 76745e0753b..793c1a068cd 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/spi/MasterDataResource.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/spi/MasterDataResource.java @@ -87,7 +87,8 @@ public class MasterDataResource extends AbstractSailingServerResource { } final TopLevelMasterData masterData = new TopLevelMasterData(groupsToExport, getService().getAllEvents(), getService().getPersistentRegattasForRaceIDs(), getService() - .getAllMediaTracks(), getService().getGPSFixStore(), exportWind, deviceConfigurations); + .getAllMediaTracks(), + getService().getSensorFixStore(), exportWind, deviceConfigurations); final StreamingOutput streamingOutput; if (compress) { streamingOutput= new CompressingStreamingOutput(masterData, competitorIds, startTime); diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/TrackFilesImportServlet.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/TrackFilesImportServlet.java index f5cf3a8f467..6ac0062645b 100755 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/TrackFilesImportServlet.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/TrackFilesImportServlet.java @@ -23,7 +23,6 @@ import org.osgi.framework.Filter; import org.osgi.framework.InvalidSyntaxException; import org.osgi.framework.ServiceReference; -import com.sap.sailing.domain.common.racelog.tracking.TransformationException; import com.sap.sailing.domain.common.tracking.GPSFix; import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifier; @@ -61,8 +60,8 @@ public class TrackFilesImportServlet extends AbstractFileUploadServlet { public void storeFix(GPSFix fix, DeviceIdentifier deviceIdentifier) { try { - getService().getGPSFixStore().storeFix(deviceIdentifier, fix); - } catch (TransformationException | NoCorrespondingServiceRegisteredException e) { + getService().getSensorFixStore().storeFix(deviceIdentifier, fix); + } catch (NoCorrespondingServiceRegisteredException e) { logger.log(Level.WARNING, "Could not store fix for " + deviceIdentifier); } } diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/InitialLoadReplicationObjectIdentityTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/InitialLoadReplicationObjectIdentityTest.java index 30ef782eedd..6a3c718686c 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/InitialLoadReplicationObjectIdentityTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/InitialLoadReplicationObjectIdentityTest.java @@ -134,7 +134,7 @@ public class InitialLoadReplicationObjectIdentityTest extends AbstractServerRepl masterRegatta.getBoatClass(), Collections.emptyList()); masterRegatta.addRace(masterRace); DynamicTrackedRace masterTrackedRace = master.createTrackedRace(new RegattaNameAndRaceName(masterRegatta.getName(), masterRace.getName()), - master.getWindStore(), master.getGPSFixStore(), /* delayToLiveInMillis */ 3000, + master.getWindStore(), /* delayToLiveInMillis */ 3000, /* millisecondsOverWhichToAverageWind */ 15000, /* millisecondsOverWhichToAverageSpeed */ 10000, /*ignoreTracTracMarkPassings*/ false); masterTrackedRace.setStartOfTrackingReceived(MillisecondsTimePoint.now()); /* Leaderboard */ diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceWithGPSFixStoreContentsReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceWithGPSFixStoreContentsReplicationTest.java index a276d024dae..3c656511430 100644 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceWithGPSFixStoreContentsReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceWithGPSFixStoreContentsReplicationTest.java @@ -37,7 +37,6 @@ import com.sap.sailing.domain.common.tracking.GPSFixMoving; import com.sap.sailing.domain.common.tracking.impl.GPSFixMovingImpl; import com.sap.sailing.domain.persistence.MongoWindStoreFactory; import com.sap.sailing.domain.persistence.PersistenceFactory; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.GPSFixTrack; diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/impl/MediaMasterDataExportTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/impl/MediaMasterDataExportTest.java index bf6f4c88ca5..199d30b0e5e 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/impl/MediaMasterDataExportTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/impl/MediaMasterDataExportTest.java @@ -46,7 +46,7 @@ import com.sap.sailing.domain.leaderboard.impl.LowPoint; import com.sap.sailing.domain.leaderboard.impl.RegattaLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.ThresholdBasedResultDiscardingRuleImpl; import com.sap.sailing.domain.masterdataimport.TopLevelMasterData; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; +import com.sap.sailing.domain.racelog.tracking.SensorFixStore; import com.sap.sailing.domain.ranking.OneDesignRankingMetric; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sse.common.Duration; @@ -164,9 +164,10 @@ public class MediaMasterDataExportTest { Set groupsToExport = Collections.singleton(leaderboardGroup); Iterable allEvents = Collections.emptyList(); Map regattaForRaceIdString = Collections.emptyMap(); - GPSFixStore gpsFixStore = mock(GPSFixStore.class); + SensorFixStore sensorFixStore = mock(SensorFixStore.class); boolean exportWind = false; - TopLevelMasterData topLevelMasterData = new TopLevelMasterData(groupsToExport , allEvents , regattaForRaceIdString, allMediaTracks , gpsFixStore , exportWind, new HashMap<>()); + TopLevelMasterData topLevelMasterData = new TopLevelMasterData(groupsToExport, allEvents, + regattaForRaceIdString, allMediaTracks, sensorFixStore, exportWind, new HashMap<>()); return topLevelMasterData; } diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java index 98139ba1913..1f35315e124 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java @@ -125,7 +125,7 @@ import com.sap.sailing.server.masterdata.DummyTrackedRace; import com.sap.sailing.server.masterdata.MasterDataImporter; import com.sap.sse.common.Color; import com.sap.sse.common.TimePoint; -import com.sap.sse.common.Util; +import com.sap.sse.common.Util; import com.sap.sse.common.impl.MillisecondsDurationImpl; import com.sap.sse.common.impl.MillisecondsTimePoint; import com.sap.sse.common.media.MimeType; @@ -287,7 +287,7 @@ public class MasterDataImportTest { regatta.getRegattaLog().add(mappingEvent); GPSFix gpsFix = new GPSFixMovingImpl(new DegreePosition(54.333, 10.133), logTimePoint2, new KnotSpeedWithBearingImpl(10, new DegreeBearingImpl(90))); - sourceService.getGPSFixStore().storeFix(deviceIdentifier, gpsFix); + sourceService.getSensorFixStore().storeFix(deviceIdentifier, gpsFix); // Set score correction double scoreCorrection = 12.0; @@ -426,7 +426,7 @@ public class MasterDataImportTest { Assert.assertEquals(competitor.getId(), registerEventOnTarget.getCompetitor().getId()); // Check for import of racelogtracking fix - Assert.assertTrue(destService.getGPSFixStore().getNumberOfFixes(deviceIdentifier) == 1); + Assert.assertTrue(destService.getSensorFixStore().getNumberOfFixes(deviceIdentifier) == 1); // Check for persisting of race log events: RacingEventService dest2 = new RacingEventServiceImplMock(); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerMock.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerMock.java index 4318eb8e276..87d3788e5d9 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerMock.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerMock.java @@ -7,7 +7,6 @@ import java.util.Set; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.RaceHandle; import com.sap.sailing.domain.tracking.RaceTracker; @@ -87,12 +86,4 @@ public class RaceTrackerMock implements RaceTracker{ // TODO Auto-generated method stub return null; } - - - - @Override - public GPSFixStore getGPSFixStore() { - throw new RuntimeException("No GPSFix store in racetracker mock"); - } - } diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java index 46b54829df6..17da672c7c9 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java @@ -35,7 +35,6 @@ import com.sap.sailing.domain.base.impl.RaceDefinitionImpl; import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.common.ScoringSchemeType; import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; -import com.sap.sailing.domain.racelog.tracking.EmptyGPSFixStore; import com.sap.sailing.domain.regattalog.impl.EmptyRegattaLogStore; import com.sap.sailing.domain.tracking.RaceTracker; import com.sap.sailing.domain.tracking.TrackedRace; @@ -79,13 +78,19 @@ public class RaceTrackerStartStopTest { raceDef2 = new RaceDefinitionImpl(RACENAME2, new CourseImpl("Course2", new ArrayList()), boatClass, new ArrayList()); raceDef3 = new RaceDefinitionImpl(RACENAME3, new CourseImpl("Course3", new ArrayList()), boatClass, new ArrayList()); regatta.addRace(raceDef1); - trackedRegatta1.createTrackedRace(raceDef1, Collections. emptyList(), /* windStore */ EmptyWindStore.INSTANCE, EmptyGPSFixStore.INSTANCE, /* delayToLiveInMillis */ 0l, /* millisecondsOverWhichToAverageWind */ 0l, + trackedRegatta1.createTrackedRace(raceDef1, Collections. emptyList(), + /* windStore */ EmptyWindStore.INSTANCE, /* delayToLiveInMillis */ 0l, + /* millisecondsOverWhichToAverageWind */ 0l, /* millisecondsOverWhichToAverageSpeed */ 0l, /* raceDefinitionSetToUpdate */ null, /*useMarkPassingCalculator*/ false, mock(RaceLogResolver.class)); regatta.addRace(raceDef2); - trackedRegatta1.createTrackedRace(raceDef2, Collections. emptyList(), /* windStore */ EmptyWindStore.INSTANCE, EmptyGPSFixStore.INSTANCE, /* delayToLiveInMillis */ 0l, /* millisecondsOverWhichToAverageWind */ 0l, + trackedRegatta1.createTrackedRace(raceDef2, Collections. emptyList(), + /* windStore */ EmptyWindStore.INSTANCE, /* delayToLiveInMillis */ 0l, + /* millisecondsOverWhichToAverageWind */ 0l, /* millisecondsOverWhichToAverageSpeed */ 0l, /* raceDefinitionSetToUpdate */ null, /*useMarkPassingCalculator*/ false, mock(RaceLogResolver.class)); regatta.addRace(raceDef3); - trackedRegatta1.createTrackedRace(raceDef3, Collections. emptyList(), /* windStore */ EmptyWindStore.INSTANCE, EmptyGPSFixStore.INSTANCE, /* delayToLiveInMillis */ 0l, /* millisecondsOverWhichToAverageWind */ 0l, + trackedRegatta1.createTrackedRace(raceDef3, Collections. emptyList(), + /* windStore */ EmptyWindStore.INSTANCE, /* delayToLiveInMillis */ 0l, + /* millisecondsOverWhichToAverageWind */ 0l, /* millisecondsOverWhichToAverageSpeed */ 0l, /* raceDefinitionSetToUpdate */ null, /*useMarkPassingCalculator*/ false, mock(RaceLogResolver.class)); Set raceDefinitionSetRace1 = new HashSet(); raceDefinitionSetRace1.add(raceDef1); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index 75f46070d01..13cfd01c5ec 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -61,7 +61,6 @@ import com.sap.sailing.domain.leaderboard.ScoringScheme; import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; import com.sap.sailing.domain.polars.PolarDataService; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.racelog.tracking.SensorFixStore; import com.sap.sailing.domain.ranking.RankingMetricConstructor; import com.sap.sailing.domain.regattalike.LeaderboardThatHasRegattaLike; @@ -304,7 +303,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch */ void updateStoredLeaderboardGroup(LeaderboardGroup leaderboardGroup); - DynamicTrackedRace createTrackedRace(RegattaAndRaceIdentifier raceIdentifier, WindStore windStore, GPSFixStore gpsFixStore, + DynamicTrackedRace createTrackedRace(RegattaAndRaceIdentifier raceIdentifier, WindStore windStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed, boolean useMarkPassingCalculator); Regatta getOrCreateDefaultRegatta(String name, String boatClassName, Serializable id); @@ -532,8 +531,6 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch PolarDataService getPolarDataService(); SimulationService getSimulationService(); - - GPSFixStore getGPSFixStore(); SensorFixStore getSensorFixStore(); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index aefc25b48df..937a88c2f9e 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -136,8 +136,6 @@ import com.sap.sailing.domain.persistence.racelog.tracking.MongoSensorFixStoreFa import com.sap.sailing.domain.polars.PolarDataService; import com.sap.sailing.domain.racelog.RaceLogIdentifier; import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.impl.GPSFixStoreImpl; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; import com.sap.sailing.domain.racelog.tracking.SensorFixStore; import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; import com.sap.sailing.domain.ranking.RankingMetric.CompetitorRankingInfo; @@ -369,7 +367,6 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes protected final DeviceConfigurationMapImpl configurationMap; private final WindStore windStore; - private final GPSFixStore gpsFixStore; private final SensorFixStore sensorFixStore; /** @@ -608,12 +605,7 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes e.printStackTrace(); throw new RuntimeException(e); } - try { - this.gpsFixStore = new GPSFixStoreImpl(this.sensorFixStore); - } catch (Exception e) { - e.printStackTrace(); - throw new RuntimeException(e); - } + this.configurationMap = new DeviceConfigurationMapImpl(); this.serviceFinderFactory = serviceFinderFactory; @@ -1371,10 +1363,10 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes Regatta regatta = regattaToAddTo == null ? null : getRegatta(regattaToAddTo); if (regatta == null) { // create tracker and use an existing or create a default regatta - tracker = params.createRaceTracker(this, windStore, gpsFixStore, /* raceLogResolver */ this); + tracker = params.createRaceTracker(this, windStore, /* raceLogResolver */ this); } else { // use the regatta selected by the RaceIdentifier regattaToAddTo - tracker = params.createRaceTracker(regatta, this, windStore, gpsFixStore, /* raceLogResolver */ this); + tracker = params.createRaceTracker(regatta, this, windStore, /* raceLogResolver */ this); assert tracker.getRegatta() == regatta; } LockUtil.lockForWrite(raceTrackersByRegattaLock); @@ -1421,11 +1413,6 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes logger.warning("Wind store mismatch. Requested wind store: " + windStore + ". Wind store in use by existing tracker: " + existingTrackersWindStore); } - GPSFixStore existingTrackersGPSFixStore = tracker.getGPSFixStore(); - if (!existingTrackersGPSFixStore.equals(gpsFixStore)) { - logger.warning("GPSFix store mismatch. Requested GPSFix store: " + gpsFixStore - + ". GPSFix store in use by existing tracker: " + existingTrackersGPSFixStore); - } } if (timeoutInMilliseconds != -1) { scheduleAbortTrackerAfterInitialTimeout(tracker, timeoutInMilliseconds); @@ -1512,11 +1499,11 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes @Override public DynamicTrackedRace createTrackedRace(RegattaAndRaceIdentifier raceIdentifier, WindStore windStore, - GPSFixStore gpsFixStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, + long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed, boolean useMarkPassingCalculator) { DynamicTrackedRegatta trackedRegatta = getOrCreateTrackedRegatta(getRegatta(raceIdentifier)); RaceDefinition race = getRace(raceIdentifier); - return trackedRegatta.createTrackedRace(race, Collections. emptyList(), windStore, gpsFixStore, + return trackedRegatta.createTrackedRace(race, Collections. emptyList(), windStore, delayToLiveInMillis, millisecondsOverWhichToAverageWind, millisecondsOverWhichToAverageSpeed, /* raceDefinitionSetToUpdate */null, useMarkPassingCalculator, /* raceLogResolver */ this); } @@ -3054,11 +3041,6 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes return result; } - @Override - public GPSFixStore getGPSFixStore() { - return gpsFixStore; - } - @Override public SensorFixStore getSensorFixStore() { return sensorFixStore; diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateTrackedRace.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateTrackedRace.java index 252678d2368..5493599a2f0 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateTrackedRace.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateTrackedRace.java @@ -4,7 +4,6 @@ import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.racelog.tracking.EmptyGPSFixStore; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegatta; @@ -64,7 +63,7 @@ public class CreateTrackedRace extends AbstractRaceOperation @Override public DynamicTrackedRace internalApplyTo(RacingEventService toState) { return toState.createTrackedRace(getRaceIdentifier(), windStore == null ? EmptyWindStore.INSTANCE : windStore, - EmptyGPSFixStore.INSTANCE, delayToLiveInMillis, millisecondsOverWhichToAverageWind, + delayToLiveInMillis, millisecondsOverWhichToAverageWind, millisecondsOverWhichToAverageSpeed, /* useMarkPassingCalculator */ false); // no separate mark passing calculations in replica; // Mark passings are computed on master and are replicated separately. diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ImportMasterDataOperation.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ImportMasterDataOperation.java index c5d84f5697d..ddb003f5829 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ImportMasterDataOperation.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ImportMasterDataOperation.java @@ -31,7 +31,6 @@ import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.Wind; import com.sap.sailing.domain.common.impl.MasterDataImportObjectCreationCountImpl; -import com.sap.sailing.domain.common.racelog.tracking.TransformationException; import com.sap.sailing.domain.common.tracking.GPSFix; import com.sap.sailing.domain.common.tracking.impl.CompactGPSFixImpl; import com.sap.sailing.domain.common.tracking.impl.CompactGPSFixMovingImpl; @@ -49,7 +48,7 @@ import com.sap.sailing.domain.persistence.MongoRaceLogStoreFactory; import com.sap.sailing.domain.persistence.MongoRegattaLogStoreFactory; import com.sap.sailing.domain.racelog.RaceLogIdentifier; import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.tracking.GPSFixStore; +import com.sap.sailing.domain.racelog.tracking.SensorFixStore; import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; import com.sap.sailing.domain.regattalike.HasRegattaLike; import com.sap.sailing.domain.regattalike.IsRegattaLike; @@ -403,7 +402,7 @@ public class ImportMasterDataOperation extends private void importRaceLogTrackingGPSFixes(RacingEventService toState) { Map> raceLogTrackingFixes = masterData.getRaceLogTrackingFixes(); if (raceLogTrackingFixes != null) { - GPSFixStore store = toState.getGPSFixStore(); + SensorFixStore store = toState.getSensorFixStore(); for (Entry> entry : raceLogTrackingFixes.entrySet()) { DeviceIdentifier device = entry.getKey(); for (GPSFix fixToAdd : entry.getValue()) { @@ -415,7 +414,7 @@ public class ImportMasterDataOperation extends fixToAdd = new GPSFixImpl(fixToAdd.getPosition(), fixToAdd.getTimePoint()); } store.storeFix(device, fixToAdd); - } catch (TransformationException | NoCorrespondingServiceRegisteredException e) { + } catch (NoCorrespondingServiceRegisteredException e) { logger.severe("Failed to store race log tracking fix while importing."); e.printStackTrace(); }