mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-16 17:21:00 +00:00
Merge remote-tracking branch 'origin/master' into foiling
Conflicts: java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/RegattaLogDeviceMappings.java
This commit is contained in:
commit
de5e5a34a3
9 files changed
+23
-24
No files matched your search
+2
-2
@@ -266,8 +266,8 @@ public abstract class RegattaLogDeviceMappings<ItemT extends WithID> {
|
||||
Map<ItemT, List<DeviceMappingWithRegattaLogEvent<ItemT>>> newMappings) {
|
||||
Set<ItemT> itemsToProcess = new HashSet<ItemT>(previousMappings.keySet());
|
||||
itemsToProcess.addAll(newMappings.keySet());
|
||||
for(ItemT item : itemsToProcess) {
|
||||
if(!newMappings.containsKey(item)) {
|
||||
for (ItemT item : itemsToProcess) {
|
||||
if (!newMappings.containsKey(item)) {
|
||||
previousMappings.get(item).forEach(this::mappingRemovedInternal);
|
||||
} else {
|
||||
final List<DeviceMappingWithRegattaLogEvent<ItemT>> oldMappings = previousMappings.containsKey(item)
|
||||
|
||||
+1
-1
@@ -291,7 +291,7 @@ public class MarkPassingCalculator {
|
||||
try {
|
||||
executor.invokeAll(tasks);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
logger.log(Level.INFO, "mark passing calculation interrupted", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-4
@@ -23,7 +23,7 @@ public abstract class TrackedRaceWithWindEssentials implements TrackedRace {
|
||||
private static final Logger logger = Logger.getLogger(TrackedRaceWithWindEssentials.class.getName());
|
||||
|
||||
/**
|
||||
* Serializing an instance of this class has to serialized the various data structures holding the tracked race's
|
||||
* Serializing an instance of this class has to serialize the various data structures holding the tracked race's
|
||||
* state. When a race is currently on, these structures change very frequently, and
|
||||
* {@link ConcurrentModificationException}s during serialization will be the norm rather than the exception. To
|
||||
* avoid this, all modifications to any data structure that is not in itself synchronized obtains this lock's
|
||||
@@ -146,7 +146,4 @@ public abstract class TrackedRaceWithWindEssentials implements TrackedRace {
|
||||
protected NamedReentrantReadWriteLock getSerializationLock() {
|
||||
return serializationLock;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
+6
-4
@@ -762,10 +762,12 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
|
||||
* </ol>
|
||||
*/
|
||||
public void updateStartAndEndOfTracking(boolean waitForGPSFixesToLoad) {
|
||||
final TimePoint oldStartOfTracking;
|
||||
final TimePoint oldEndOfTracking;
|
||||
synchronized (updateStartAndEndOfTrackingMonitor) {
|
||||
final Pair<TimePointSpecificationFoundInLog, TimePointSpecificationFoundInLog> trackingTimesFromRaceLog = this.getTrackingTimesFromRaceLogs();
|
||||
TimePoint oldStartOfTracking = getStartOfTracking();
|
||||
TimePoint oldEndOfTracking = getEndOfTracking();
|
||||
oldStartOfTracking = getStartOfTracking();
|
||||
oldEndOfTracking = getEndOfTracking();
|
||||
boolean startOfTrackingFound = false;
|
||||
boolean endOfTrackingFound = false;
|
||||
// check race log
|
||||
@@ -801,9 +803,9 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
|
||||
endOfTrackingFound = true;
|
||||
}
|
||||
}
|
||||
startOfTrackingChanged(oldStartOfTracking, waitForGPSFixesToLoad);
|
||||
endOfTrackingChanged(oldEndOfTracking, waitForGPSFixesToLoad);
|
||||
}
|
||||
startOfTrackingChanged(oldStartOfTracking, waitForGPSFixesToLoad);
|
||||
endOfTrackingChanged(oldEndOfTracking, waitForGPSFixesToLoad);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
@@ -96,4 +96,9 @@ public class ExpeditionWindTrackerFactory implements WindTrackerFactory {
|
||||
windReceivers.remove(windTracker.getReceiver().getPort());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ExpeditionWindTrackerFactory [defaultPort=" + defaultPort + "]";
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1139,7 +1139,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
* can be obtained within this timeout, wind for the race will be tracked; otherwise, the method returns without
|
||||
* taking any effect.
|
||||
*/
|
||||
private void startTrackingWind(RaceHandle raceHandle, boolean correctByDeclination, long timeoutInMilliseconds) throws Exception {
|
||||
private void startTrackingWind(RaceHandle raceHandle, boolean correctByDeclination, long timeoutInMilliseconds) {
|
||||
Regatta regatta = raceHandle.getRegatta();
|
||||
if (regatta != null) {
|
||||
RaceDefinition race = raceHandle.getRace(timeoutInMilliseconds);
|
||||
|
||||
@@ -189,7 +189,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch
|
||||
* @throws SocketException
|
||||
* thrown, e.g., in case there is already another listener on the port requested
|
||||
*/
|
||||
void startTrackingWind(Regatta regatta, RaceDefinition race, boolean correctByDeclination) throws Exception;
|
||||
void startTrackingWind(Regatta regatta, RaceDefinition race, boolean correctByDeclination);
|
||||
|
||||
void stopTrackingWind(Regatta regatta, RaceDefinition race) throws SocketException, IOException;
|
||||
|
||||
|
||||
+6
-2
@@ -2291,9 +2291,13 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startTrackingWind(Regatta regatta, RaceDefinition race, boolean correctByDeclination) throws Exception {
|
||||
public void startTrackingWind(Regatta regatta, RaceDefinition race, boolean correctByDeclination) {
|
||||
for (WindTrackerFactory windTrackerFactory : getWindTrackerFactories()) {
|
||||
windTrackerFactory.createWindTracker(getOrCreateTrackedRegatta(regatta), race, correctByDeclination);
|
||||
try {
|
||||
windTrackerFactory.createWindTracker(getOrCreateTrackedRegatta(regatta), race, correctByDeclination);
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.SEVERE, "Error trying to track wind using wind tracker factory "+windTrackerFactory, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user