mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-22 20:13:52 +00:00
Merge branch 'master' into foiling
Conflicts: java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogRaceTracker.java java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractCompetitorRaceChart.java java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/MultiCompetitorRaceChart.java java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/MultiCompetitorRaceChartSettings.java java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java
This commit is contained in:
commit
4597ee9882
189 files changed
+5447
-3538
No files matched your search
@@ -6,7 +6,6 @@ import java.net.MalformedURLException;
|
||||
import java.net.SocketException;
|
||||
import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.util.Collection;
|
||||
import java.util.ConcurrentModificationException;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
@@ -418,7 +417,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch
|
||||
* Calling mediaTrackAdded for every entry in the specified collection.
|
||||
* @param mediaTracks
|
||||
*/
|
||||
void mediaTracksAdded(Collection<MediaTrack> mediaTracks);
|
||||
void mediaTracksAdded(Iterable<MediaTrack> mediaTracks);
|
||||
|
||||
void mediaTrackTitleChanged(MediaTrack mediaTrack);
|
||||
|
||||
@@ -440,13 +439,13 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch
|
||||
* @param override If true, track properties (title, url, start time, duration, not mime type!) will be
|
||||
* overwritten with the values from the track to be imported.
|
||||
*/
|
||||
void mediaTracksImported(Collection<MediaTrack> mediaTracksToImport, boolean override);
|
||||
void mediaTracksImported(Iterable<MediaTrack> mediaTracksToImport, boolean override);
|
||||
|
||||
Collection<MediaTrack> getMediaTracksForRace(RegattaAndRaceIdentifier regattaAndRaceIdentifier);
|
||||
Iterable<MediaTrack> getMediaTracksForRace(RegattaAndRaceIdentifier regattaAndRaceIdentifier);
|
||||
|
||||
Collection<MediaTrack> getMediaTracksInTimeRange(RegattaAndRaceIdentifier regattaAndRaceIdentifier);
|
||||
Iterable<MediaTrack> getMediaTracksInTimeRange(RegattaAndRaceIdentifier regattaAndRaceIdentifier);
|
||||
|
||||
Collection<MediaTrack> getAllMediaTracks();
|
||||
Iterable<MediaTrack> getAllMediaTracks();
|
||||
|
||||
void reloadRaceLog(String leaderboardName, String raceColumnName, String fleetName);
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ class MediaLibrary {
|
||||
addMediaTracks(Collections.singleton(mediaTrack));
|
||||
}
|
||||
|
||||
void addMediaTracks(Collection<MediaTrack> mediaTracks) {
|
||||
void addMediaTracks(Iterable<MediaTrack> mediaTracks) {
|
||||
LockUtil.lockForWrite(lock);
|
||||
try {
|
||||
for (MediaTrack mediaTrack : mediaTracks) {
|
||||
@@ -226,16 +226,15 @@ class MediaLibrary {
|
||||
* To be called only under write lock!
|
||||
*/
|
||||
private void updateMapByRace_Add(MediaTrack mediaTrack) {
|
||||
assert lock.isWriteLocked();
|
||||
if (mediaTrack.assignedRaces != null) {
|
||||
for (RegattaAndRaceIdentifier assignedRace : mediaTrack.assignedRaces) {
|
||||
if (mediaTracksByRace.containsKey(assignedRace)) {
|
||||
mediaTracksByRace.get(assignedRace).add(mediaTrack);
|
||||
} else {
|
||||
Set<MediaTrack> mediaTracks = new HashSet<MediaTrack>();
|
||||
mediaTracks.add(mediaTrack);
|
||||
Set<MediaTrack> mediaTracks = mediaTracksByRace.get(assignedRace);
|
||||
if (mediaTracks == null) {
|
||||
mediaTracks = new HashSet<MediaTrack>();
|
||||
mediaTracksByRace.put(assignedRace, mediaTracks);
|
||||
}
|
||||
|
||||
mediaTracks.add(mediaTrack);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -244,7 +243,7 @@ class MediaLibrary {
|
||||
* To be called only under write lock!
|
||||
*/
|
||||
private void updateMapByRace_Remove(MediaTrack mediaTrack) {
|
||||
|
||||
assert lock.isWriteLocked();
|
||||
for (RegattaAndRaceIdentifier assignedRace : mediaTrack.assignedRaces) {
|
||||
Set<MediaTrack> mediaTracks = mediaTracksByRace.get(assignedRace);
|
||||
if (mediaTracks != null) {
|
||||
|
||||
+5
-5
@@ -2825,7 +2825,7 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mediaTracksAdded(Collection<MediaTrack> mediaTracks) {
|
||||
public void mediaTracksAdded(Iterable<MediaTrack> mediaTracks) {
|
||||
mediaLibrary.addMediaTracks(mediaTracks);
|
||||
}
|
||||
|
||||
@@ -2873,7 +2873,7 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mediaTracksImported(Collection<MediaTrack> mediaTracksToImport, boolean override) {
|
||||
public void mediaTracksImported(Iterable<MediaTrack> mediaTracksToImport, boolean override) {
|
||||
for (MediaTrack trackToImport : mediaTracksToImport) {
|
||||
MediaTrack existingTrack = mediaLibrary.lookupMediaTrack(trackToImport);
|
||||
if (existingTrack == null) {
|
||||
@@ -2907,12 +2907,12 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<MediaTrack> getMediaTracksForRace(RegattaAndRaceIdentifier regattaAndRaceIdentifier) {
|
||||
public Iterable<MediaTrack> getMediaTracksForRace(RegattaAndRaceIdentifier regattaAndRaceIdentifier) {
|
||||
return mediaLibrary.findMediaTracksForRace(regattaAndRaceIdentifier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<MediaTrack> getMediaTracksInTimeRange(RegattaAndRaceIdentifier regattaAndRaceIdentifier) {
|
||||
public Iterable<MediaTrack> getMediaTracksInTimeRange(RegattaAndRaceIdentifier regattaAndRaceIdentifier) {
|
||||
TrackedRace trackedRace = getExistingTrackedRace(regattaAndRaceIdentifier);
|
||||
if (trackedRace != null) {
|
||||
if (trackedRace.isLive(MillisecondsTimePoint.now())) {
|
||||
@@ -2930,7 +2930,7 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<MediaTrack> getAllMediaTracks() {
|
||||
public Iterable<MediaTrack> getAllMediaTracks() {
|
||||
return mediaLibrary.allTracks();
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -13,6 +13,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.logging.Level;
|
||||
@@ -50,9 +51,9 @@ public class RemoteSailingServerSet {
|
||||
* Holds the remote server references managed by this set. Keys are the
|
||||
* {@link RemoteSailingServerReference#getName() names} of the server references.
|
||||
*/
|
||||
private final ConcurrentHashMap<String, RemoteSailingServerReference> remoteSailingServers;
|
||||
private final ConcurrentMap<String, RemoteSailingServerReference> remoteSailingServers;
|
||||
|
||||
private final ConcurrentHashMap<RemoteSailingServerReference, Util.Pair<Iterable<EventBase>, Exception>> cachedEventsForRemoteSailingServers;
|
||||
private final ConcurrentMap<RemoteSailingServerReference, Util.Pair<Iterable<EventBase>, Exception>> cachedEventsForRemoteSailingServers;
|
||||
|
||||
/**
|
||||
* @param scheduler
|
||||
|
||||
Reference in new issue
Block a user