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:
Steffen Schaefer committed 2016-06-09 08:52:37 +02:00
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) {
@@ -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();
}
@@ -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