mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-11 14:50:56 +00:00
first functions of the new UI for managing events, regattas, races, etc
Includes a renaming of listEvents() in RacingEventService to getRegattas()
This commit is contained in:
1 parent
1ca9245fe6
commit
79c0d2c85f
12 files changed
+195
-23
No files matched your search
@@ -15,16 +15,17 @@ import java.util.ConcurrentModificationException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.sap.sailing.domain.base.Event;
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.RaceColumn;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.base.RaceDefinition;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.common.RaceFetcher;
|
||||
import com.sap.sailing.domain.common.RaceIdentifier;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.common.RegattaFetcher;
|
||||
import com.sap.sailing.domain.common.RegattaIdentifier;
|
||||
import com.sap.sailing.domain.common.RegattaName;
|
||||
import com.sap.sailing.domain.common.RaceFetcher;
|
||||
import com.sap.sailing.domain.common.RaceIdentifier;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.common.impl.Util.Pair;
|
||||
import com.sap.sailing.domain.common.impl.Util.Triple;
|
||||
@@ -35,9 +36,9 @@ import com.sap.sailing.domain.tracking.RaceListener;
|
||||
import com.sap.sailing.domain.tracking.RaceTracker;
|
||||
import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters;
|
||||
import com.sap.sailing.domain.tracking.RacesHandle;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.domain.tracking.TrackedRegatta;
|
||||
import com.sap.sailing.domain.tracking.TrackedRegattaRegistry;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.domain.tracking.WindStore;
|
||||
import com.sap.sailing.domain.tracking.impl.EmptyWindStore;
|
||||
import com.sap.sailing.domain.tractracadapter.DomainFactory;
|
||||
@@ -64,12 +65,14 @@ import com.sap.sailing.expeditionconnector.ExpeditionListener;
|
||||
*
|
||||
*/
|
||||
public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetcher, RaceFetcher {
|
||||
Iterable<Event> getAllEvents();
|
||||
|
||||
/**
|
||||
* @return a thread-safe copy of the regattas currently known by the service; it's safe for callers to iterate over
|
||||
* the iterable returned, and no risk of a {@link ConcurrentModificationException} exists
|
||||
*/
|
||||
Iterable<Regatta> getAllRegattas();
|
||||
|
||||
|
||||
Regatta getRegattaByName(String name);
|
||||
|
||||
@Override
|
||||
|
||||
+16
-3
@@ -29,6 +29,7 @@ import java.util.logging.Logger;
|
||||
import com.sap.sailing.domain.base.Buoy;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.ControlPoint;
|
||||
import com.sap.sailing.domain.base.Event;
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.RaceColumn;
|
||||
import com.sap.sailing.domain.base.RaceDefinition;
|
||||
@@ -118,10 +119,16 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen
|
||||
private final com.sap.sailing.domain.swisstimingadapter.DomainFactory swissTimingDomainFactory;
|
||||
|
||||
private final ExpeditionWindTrackerFactory windTrackerFactory;
|
||||
|
||||
|
||||
/**
|
||||
* Holds the {@link Event} objects for those event registered with this service. Note that there may be {@link Event}
|
||||
* objects that exist outside this service for events not (yet) registered here.
|
||||
*/
|
||||
protected final Map<String, Event> eventsByName;
|
||||
|
||||
/**
|
||||
* Holds the {@link Regatta} objects for those races registered with this service. Note that there may be {@link Regatta}
|
||||
* objects that exist outside this service for races not (yet) registered here.
|
||||
* objects that exist outside this service for regattas not (yet) registered here.
|
||||
*/
|
||||
protected final Map<String, Regatta> regattasByName;
|
||||
|
||||
@@ -173,6 +180,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen
|
||||
swissTimingAdapterPersistence = SwissTimingAdapterPersistence.INSTANCE;
|
||||
windTrackerFactory = ExpeditionWindTrackerFactory.getInstance();
|
||||
regattasByName = new HashMap<String, Regatta>();
|
||||
eventsByName = new HashMap<String, Event>();
|
||||
regattaTrackingCache = new HashMap<Regatta, DynamicTrackedRegatta>();
|
||||
raceTrackersByRegatta = new HashMap<Regatta, Set<RaceTracker>>();
|
||||
raceTrackersByID = new HashMap<Object, RaceTracker>();
|
||||
@@ -389,7 +397,12 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen
|
||||
public SwissTimingFactory getSwissTimingFactory() {
|
||||
return swissTimingFactory;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public synchronized Iterable<Event> getAllEvents() {
|
||||
return Collections.unmodifiableCollection(new ArrayList<Event>(eventsByName.values()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized Iterable<Regatta> getAllRegattas() {
|
||||
return Collections.unmodifiableCollection(new ArrayList<Regatta>(regattasByName.values()));
|
||||
|
||||
Reference in new issue
Block a user