Merge branch 'master' into dev

This commit is contained in:
Axel Uhl
2013-01-27 00:40:31 +01:00
3 changed files with 24 additions and 25 deletions
@@ -40,6 +40,7 @@ import com.sap.sailing.domain.tracking.DynamicTrackedRegatta;
import com.sap.sailing.domain.tracking.GPSFix;
import com.sap.sailing.domain.tracking.RacesHandle;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sailing.domain.tracking.TrackedRaceStatus;
import com.sap.sailing.domain.tracking.TrackedRegatta;
import com.sap.sailing.domain.tracking.TrackedRegattaRegistry;
import com.sap.sailing.domain.tracking.WindStore;
@@ -78,6 +79,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements
private final WindStore windStore;
private final Set<RaceDefinition> races;
private final DynamicTrackedRegatta trackedRegatta;
private TrackedRaceStatus lastStatus;
/**
* paramURL, liveURI and storedURI for TracTrac connection
@@ -408,45 +410,42 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements
@Override
public void stopped() {
logger.info("stopped TracTrac tracking for "+getRaces());
lastStatus = new TrackedRaceStatusImpl(TrackedRaceStatusEnum.FINISHED, 1.0);
updateStatusOfTrackedRaces();
}
private void updateStatusOfTrackedRaces() {
for (RaceDefinition race : getRaces()) {
DynamicTrackedRace trackedRace = getTrackedRegatta().getExistingTrackedRace(race);
if (trackedRace != null) {
trackedRace.setStatus(new TrackedRaceStatusImpl(TrackedRaceStatusEnum.FINISHED, 1.0));
}
updateStatusOfTrackedRace(race);
}
}
private void updateStatusOfTrackedRace(RaceDefinition race) {
DynamicTrackedRace trackedRace = getTrackedRegatta().getExistingTrackedRace(race);
if (trackedRace != null) {
trackedRace.setStatus(lastStatus);
}
}
@Override
public void storedDataBegin() {
logger.info("Stored data begin for race(s) "+getRaces());
for (RaceDefinition race : getRaces()) {
DynamicTrackedRace trackedRace = getTrackedRegatta().getExistingTrackedRace(race);
if (trackedRace != null) {
trackedRace.setStatus(new TrackedRaceStatusImpl(TrackedRaceStatusEnum.LOADING, 0));
}
}
lastStatus = new TrackedRaceStatusImpl(TrackedRaceStatusEnum.LOADING, 0);
updateStatusOfTrackedRaces();
}
@Override
public void storedDataEnd() {
logger.info("Stored data end for race(s) "+getRaces());
for (RaceDefinition race : getRaces()) {
DynamicTrackedRace trackedRace = getTrackedRegatta().getExistingTrackedRace(race);
if (trackedRace != null) {
trackedRace.setStatus(new TrackedRaceStatusImpl(TrackedRaceStatusEnum.TRACKING, 1));
}
}
lastStatus = new TrackedRaceStatusImpl(TrackedRaceStatusEnum.TRACKING, 1);
updateStatusOfTrackedRaces();
}
@Override
public void storedDataProgress(float progress) {
logger.info("Stored data progress for race(s) "+getRaces()+": "+progress);
for (RaceDefinition race : getRaces()) {
DynamicTrackedRace trackedRace = getTrackedRegatta().getExistingTrackedRace(race);
if (trackedRace != null) {
trackedRace.setStatus(new TrackedRaceStatusImpl(TrackedRaceStatusEnum.LOADING, progress));
}
}
lastStatus = new TrackedRaceStatusImpl(TrackedRaceStatusEnum.LOADING, progress);
updateStatusOfTrackedRaces();
}
@Override
@@ -462,6 +461,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements
@Override
public void addRaceDefinition(RaceDefinition race) {
races.add(race);
updateStatusOfTrackedRace(race);
}
}
@@ -28,9 +28,7 @@ public class DynamicTrackedRegattaImpl extends TrackedRegattaImpl implements Dyn
public DynamicTrackedRace createTrackedRace(RaceDefinition raceDefinition, WindStore windStore,
long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed,
DynamicRaceDefinitionSet raceDefinitionSetToUpdate) {
DynamicTrackedRace result = (DynamicTrackedRace) super.createTrackedRace(raceDefinition, windStore, delayToLiveInMillis, millisecondsOverWhichToAverageWind,
return (DynamicTrackedRace) super.createTrackedRace(raceDefinition, windStore, delayToLiveInMillis, millisecondsOverWhichToAverageWind,
millisecondsOverWhichToAverageSpeed, raceDefinitionSetToUpdate);
addTrackedRace(result);
return result;
}
}
@@ -173,6 +173,7 @@ public class TrackedRegattaImpl implements TrackedRegatta {
logger.log(Level.INFO, "Creating DynamicTrackedRaceImpl for RaceDefinition " + raceDefinition.getName());
DynamicTrackedRaceImpl result = new DynamicTrackedRaceImpl(this, raceDefinition,
windStore, delayToLiveInMillis, millisecondsOverWhichToAverageWind, millisecondsOverWhichToAverageSpeed);
addTrackedRace(result);
if (raceDefinitionSetToUpdate != null) {
raceDefinitionSetToUpdate.addRaceDefinition(raceDefinition);
}