From 1d6739b230f476049504d158ff1686708e9e57f8 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 11 Sep 2013 15:37:26 +0200 Subject: [PATCH] made windStore in Simulator final to ensure proper initialization --- .../domain/tractracadapter/impl/Simulator.java | 13 ++++++++----- .../impl/TracTracRaceTrackerImpl.java | 2 +- .../impl/DynamicTrackedRaceLogListener.java | 6 +++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/Simulator.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/Simulator.java index cc2022e1d01..a654f2a7153 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/Simulator.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/Simulator.java @@ -29,17 +29,21 @@ public class Simulator { private static final Logger logger = Logger.getLogger(Simulator.class.getName()); private DynamicTrackedRace trackedRace; - private WindStore windStore; + private final WindStore windStore; private long advanceInMillis = -1; private Timer timer = new Timer("Timer for TracTrac Simulator"); private boolean stopped; + public Simulator(WindStore windStore) { + super(); + assert windStore != null; + this.windStore = windStore; + } + /** - * Creates a wind store which replays the wind store events against a tracked race, correcting the wind fixes with - * the simulation delay. The wind store returned is an {@link EmptyWindStore}. + * The wind store returned is an {@link EmptyWindStore}. */ public WindStore simulatingWindStore(WindStore windStore) { - this.windStore = windStore; return EmptyWindStore.INSTANCE; } @@ -63,7 +67,6 @@ public class Simulator { */ private void startWindPlayer() { assert this.trackedRace != null; - assert this.windStore != null; for (final Map.Entry windSourceAndTrack : windStore.loadWindTracks( trackedRace.getTrackedRegatta(), trackedRace, /* millisecondsOverWhichToAverageWind doesn't matter because we only use raw fixes */ 10000).entrySet()) { 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 6d6d5280834..2906ebfb629 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 @@ -192,7 +192,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements this.domainFactory = domainFactory; final Simulator simulator; if (simulateWithStartTimeNow) { - simulator = new Simulator(); + simulator = new Simulator(windStore); } else { simulator = null; } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceLogListener.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceLogListener.java index 739860a20e6..ae90f10abd2 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceLogListener.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceLogListener.java @@ -31,7 +31,7 @@ import com.sap.sailing.domain.tracking.Wind; public class DynamicTrackedRaceLogListener implements RaceLogEventVisitor { - public static final Logger log = Logger.getLogger(DynamicTrackedRaceLogListener.class.getName()); + private static final Logger logger = Logger.getLogger(DynamicTrackedRaceLogListener.class.getName()); private DynamicTrackedRace trackedRace; @@ -112,7 +112,7 @@ public class DynamicTrackedRaceLogListener implements RaceLogEventVisitor { // ... onCourseDesignChangedByRaceCommittee() might be called more than once. trackedRace.onCourseDesignChangedByRaceCommittee(courseDesign); } else { - log.info("Could not find any course design update on race log of " + trackedRace.getRace().getName() + "! Not sending out any events."); + logger.info("Could not find any course design update on race log of " + trackedRace.getRace().getName() + "! Not sending out any events."); } } @@ -125,7 +125,7 @@ public class DynamicTrackedRaceLogListener implements RaceLogEventVisitor { /* invoke listeners with received start time, this will also trigger tractrac update */ trackedRace.onStartTimeChangedByRaceCommittee(startTime); } else { - log.info("Could not find any valid start time on race log of " + trackedRace.getRace().getName() + "! Not sending out any events."); + logger.info("Could not find any valid start time on race log of " + trackedRace.getRace().getName() + "! Not sending out any events."); } }