refactored RaceTracker such that getRace[Identifier]s() is now getRace[Identifier](), alluding to the always-singular aspect of RaceTracker/RaceHandle

Change-Id: I50d202122c3021dd2f852762688d762fb3806d99
This commit is contained in:
Axel Uhl committed 2016-12-29 18:10:36 +01:00
1 parent 19d112115b
commit 704e4e2a64
13 files changed
+92 -138

No files matched your search

@@ -195,7 +195,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl
private final Set<Receiver> receivers;
private final DomainFactory domainFactory;
private final WindStore windStore;
private final Set<RaceDefinition> races;
private RaceDefinition race;
private final DynamicTrackedRegatta trackedRegatta;
private TrackedRaceStatus lastStatus;
private Map<Object, Util.Pair<Integer, Float>> lastProgressPerID;
@@ -324,7 +324,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl
this.tractracEvent = tractracRace.getEvent();
this.id = createID(paramURL, liveURI, storedURI);
isLiveTracking = liveURI != null;
this.races = new HashSet<RaceDefinition>();
this.race = null; // no race received yet
this.domainFactory = domainFactory;
this.lastProgressPerID = new HashMap<>();
if (offsetToStartTimeOfSimulatedRace != null) {
@@ -375,8 +375,8 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl
public void updateRace(IRace race) {
if (Util.equalsWithNull(race, TracTracRaceTrackerImpl.this.tractracRace)) {
int delayToLiveInMillis = race.getLiveDelay()*1000;
for (RaceDefinition raceDefinition : getRaces()) {
DynamicTrackedRace trackedRace = getTrackedRegatta().getExistingTrackedRace(raceDefinition);
if (getRace() != null) {
DynamicTrackedRace trackedRace = getTrackedRegatta().getExistingTrackedRace(getRace());
if (trackedRace != null) {
trackedRace.setDelayToLiveInMillis(delayToLiveInMillis);
}
@@ -524,8 +524,8 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl
}
@Override
public Set<RaceDefinition> getRaces() {
return races;
public RaceDefinition getRace() {
return race;
}
protected void addListenersForStoredDataAndStartController(Iterable<Receiver> listenersForStoredData) {
@@ -581,8 +581,8 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl
* @see #updateStatusOfTrackedRace(DynamicTrackedRace)
*/
private void updateStatusOfTrackedRaces() {
for (RaceDefinition race : getRaces()) {
DynamicTrackedRace trackedRace = getTrackedRegatta().getExistingTrackedRace(race);
if (getRace() != null) {
DynamicTrackedRace trackedRace = getTrackedRegatta().getExistingTrackedRace(getRace());
if (trackedRace != null) {
updateStatusOfTrackedRace(trackedRace);
}
@@ -637,7 +637,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl
}
}
}
logger.info("Stored data progress in tracker "+getID()+" for race(s) "+getRaces()+": "+progress);
logger.info("Stored data progress in tracker "+getID()+" for race(s) "+getRace()+": "+progress);
lastStatus = new TrackedRaceStatusImpl(TrackedRaceStatusEnum.LOADING, progress);
if (progress==1.0) {
new AbstractLoadingQueueDoneCallBack(receivers) {
@@ -653,27 +653,27 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl
}
@Override
public void addRaceDefinition(RaceDefinition race, DynamicTrackedRace trackedRace) {
races.add(race);
public void addRaceDefinition(final RaceDefinition race, final DynamicTrackedRace trackedRace) {
this.race = race;
updateStatusOfTrackedRace(trackedRace);
}
@Override
public void gotLiveDataEvent(ILiveDataEvent liveDataEvent) {
logger.info("Status change in tracker "+getID()+" for race(s) "+getRaces()+": "+liveDataEvent);
logger.info("Status change in tracker "+getID()+" for race(s) "+getRace()+": "+liveDataEvent);
}
@Override
public void gotStoredDataEvent(IStoredDataEvent storedDataEvent) {
logger.info("Status change in tracker "+getID()+" for race(s) "+getRaces()+": "+storedDataEvent);
logger.info("Status change in tracker "+getID()+" for race(s) "+getRace()+": "+storedDataEvent);
switch (storedDataEvent.getType()) {
case Begin:
logger.info("Stored data begin in tracker "+getID()+" for race(s) "+getRaces());
logger.info("Stored data begin in tracker "+getID()+" for race(s) "+getRace());
lastStatus = new TrackedRaceStatusImpl(TrackedRaceStatusEnum.LOADING, 0);
updateStatusOfTrackedRaces();
break;
case End:
logger.info("Stored data end in tracker "+getID()+" for race(s) "+getRaces());
logger.info("Stored data end in tracker "+getID()+" for race(s) "+getRace());
if (isLiveTracking) {
lastStatus = new TrackedRaceStatusImpl(TrackedRaceStatusEnum.TRACKING, 1);
updateStatusOfTrackedRaces();
@@ -683,14 +683,14 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl
storedDataProgress(storedDataEvent.getProgress());
break;
case Error:
logger.warning("Error with stored data in tracker "+getID()+" for race(s) "+getRaces()+": "+storedDataEvent.getError());
logger.warning("Error with stored data in tracker "+getID()+" for race(s) "+getRace()+": "+storedDataEvent.getError());
break;
}
}
@Override
public void stopped(Object o) {
logger.info("stopped TracTrac tracking in tracker " + getID() + " for " + getRaces() + " while in status "
logger.info("stopped TracTrac tracking in tracker " + getID() + " for " + getRace() + " while in status "
+ lastStatus);
new AbstractLoadingQueueDoneCallBack(receivers) {
@Override
@@ -699,13 +699,13 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl
updateStatusOfTrackedRaces();
if (!stopped) {
try {
for (RaceDefinition race : getRaces()) {
if (getRace() != null) {
// See also bug 1517; with TracAPI we assume that when stopped(IEvent) is called by the
// TracAPI then
// all subscriptions have received all their data and it's therefore safe to stop all
// subscriptions
// at this point without missing any data.
trackedRegattaRegistry.stopTracking(regatta, race);
trackedRegattaRegistry.stopTracking(regatta, getRace());
}
} catch (InterruptedException | IOException e) {
logger.log(Level.INFO, "Interrupted while trying to stop tracker " + this, e);