mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-02 18:33:54 +00:00
renamed more "...event..." variables and parameters to "...regatta..."
This commit is contained in:
1 parent
81e24391f7
commit
bd94677e2d
39 files changed
+204
-205
No files matched your search
+1
-1
@@ -18,7 +18,7 @@ import com.sap.sailing.domain.tracking.WindTrack;
|
||||
*
|
||||
*/
|
||||
public interface DomainObjectFactory {
|
||||
WindTrack loadWindTrack(Regatta event, RaceDefinition race, WindSource windSource, long millisecondsOverWhichToAverage);
|
||||
WindTrack loadWindTrack(Regatta regatta, RaceDefinition race, WindSource windSource, long millisecondsOverWhichToAverage);
|
||||
|
||||
Leaderboard loadLeaderboard(String name);
|
||||
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ public interface MongoObjectFactory {
|
||||
/**
|
||||
* Registers for changes of the wind coming from <code>windSource</code> on the <code>trackedRace</code>. Each
|
||||
* update received will be appended to the MongoDB and can later be retrieved. The key used to identify the race is
|
||||
* the {@link RaceDefinition#getName() race name} and the {@link Regatta#getName() event name}.
|
||||
* the {@link RaceDefinition#getName() race name} and the {@link Regatta#getName() regatta name}.
|
||||
*/
|
||||
void addWindTrackDumper(TrackedRegatta trackedRegatta, TrackedRace trackedRace, WindSource windSource);
|
||||
|
||||
|
||||
+2
-2
@@ -92,11 +92,11 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
}
|
||||
|
||||
@Override
|
||||
public WindTrack loadWindTrack(Regatta event, RaceDefinition race, WindSource windSource, long millisecondsOverWhichToAverage) {
|
||||
public WindTrack loadWindTrack(Regatta regatta, RaceDefinition race, WindSource windSource, long millisecondsOverWhichToAverage) {
|
||||
WindTrack result = new WindTrackImpl(millisecondsOverWhichToAverage, windSource.getType().getBaseConfidence(), windSource.getType().useSpeed());
|
||||
try {
|
||||
BasicDBObject query = new BasicDBObject();
|
||||
query.put(FieldNames.EVENT_NAME.name(), event.getName());
|
||||
query.put(FieldNames.EVENT_NAME.name(), regatta.getName());
|
||||
query.put(FieldNames.RACE_NAME.name(), race.getName());
|
||||
query.put(FieldNames.WIND_SOURCE_NAME.name(), windSource.name());
|
||||
DBCollection windTracks = database.getCollection(CollectionNames.WIND_TRACKS.name());
|
||||
|
||||
+2
-2
@@ -84,9 +84,9 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory {
|
||||
return result;
|
||||
}
|
||||
|
||||
public DBObject storeWindTrackEntry(Regatta event, RaceDefinition race, WindSource windSource, Wind wind) {
|
||||
public DBObject storeWindTrackEntry(Regatta regatta, RaceDefinition race, WindSource windSource, Wind wind) {
|
||||
BasicDBObject result = new BasicDBObject();
|
||||
result.put(FieldNames.EVENT_NAME.name(), event.getName());
|
||||
result.put(FieldNames.EVENT_NAME.name(), regatta.getName());
|
||||
result.put(FieldNames.RACE_NAME.name(), race.getName());
|
||||
result.put(FieldNames.WIND_SOURCE_NAME.name(), windSource.name());
|
||||
if (windSource.getId() != null) {
|
||||
|
||||
+4
-4
@@ -31,7 +31,7 @@ public class SimpleDomainFactoryTest {
|
||||
@Test
|
||||
public void testCourseConfigForBuoy() throws PatchFailedException {
|
||||
DomainFactory domainFactory = DomainFactory.INSTANCE;
|
||||
Regatta event = new RegattaImpl("TestEvent", /* boatClass */ null);
|
||||
Regatta regatta = new RegattaImpl("TestEvent", /* boatClass */ null);
|
||||
Race race = new RaceImpl("1234", "Race 1234");
|
||||
Iterable<Competitor> competitors = Collections.emptyList();
|
||||
StartList startList = new StartListImpl("1234", competitors);
|
||||
@@ -39,7 +39,7 @@ public class SimpleDomainFactoryTest {
|
||||
Mark mark2 = new MarkImpl("M1", 0, Arrays.asList("D3", "D4"));
|
||||
List<Mark> marks = Arrays.asList(mark1, mark2);
|
||||
Course course = new CourseImpl("1234", marks);
|
||||
RaceDefinition raceDefinition = domainFactory.createRaceDefinition(event, race, startList, course);
|
||||
RaceDefinition raceDefinition = domainFactory.createRaceDefinition(regatta, race, startList, course);
|
||||
ArrayList<Waypoint> waypoints1 = new ArrayList<Waypoint>();
|
||||
for (Waypoint waypoint : raceDefinition.getCourse().getWaypoints()) {
|
||||
waypoints1.add(waypoint);
|
||||
@@ -55,7 +55,7 @@ public class SimpleDomainFactoryTest {
|
||||
@Test
|
||||
public void testCourseConfigForGate() throws PatchFailedException {
|
||||
DomainFactory domainFactory = DomainFactory.INSTANCE;
|
||||
Regatta event = new RegattaImpl("TestEvent", /* boatClass */ null);
|
||||
Regatta regatta = new RegattaImpl("TestEvent", /* boatClass */ null);
|
||||
Race race = new RaceImpl("1234", "Race 1234");
|
||||
Iterable<Competitor> competitors = Collections.emptyList();
|
||||
StartList startList = new StartListImpl("1234", competitors);
|
||||
@@ -63,7 +63,7 @@ public class SimpleDomainFactoryTest {
|
||||
Mark mark2 = new MarkImpl("M1", 0, Arrays.asList("D3", "D4"));
|
||||
List<Mark> marks = Arrays.asList(mark1, mark2);
|
||||
Course course = new CourseImpl("1234", marks);
|
||||
RaceDefinition raceDefinition = domainFactory.createRaceDefinition(event, race, startList, course);
|
||||
RaceDefinition raceDefinition = domainFactory.createRaceDefinition(regatta, race, startList, course);
|
||||
assertEquals(2, Util.size(raceDefinition.getCourse().getWaypoints()));
|
||||
ArrayList<Waypoint> waypoints1 = new ArrayList<Waypoint>();
|
||||
for (Waypoint waypoint : raceDefinition.getCourse().getWaypoints()) {
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ public interface DomainFactory {
|
||||
|
||||
Competitor getOrCreateCompetitor(com.sap.sailing.domain.swisstimingadapter.Competitor competitor, BoatClass boatClass);
|
||||
|
||||
RaceDefinition createRaceDefinition(Regatta event, Race race, StartList startList, com.sap.sailing.domain.swisstimingadapter.Course course);
|
||||
RaceDefinition createRaceDefinition(Regatta regatta, Race race, StartList startList, com.sap.sailing.domain.swisstimingadapter.Course course);
|
||||
|
||||
Buoy getOrCreateBuoy(String trackerID);
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.domain.swisstimingadapter;
|
||||
|
||||
/**
|
||||
* Configuration parameters that can be used to connect to a TracTrac event / race.
|
||||
* Configuration parameters that can be used to connect to a SwissTiming event / race.
|
||||
*
|
||||
* @author Axel Uhl (D043530)
|
||||
*
|
||||
|
||||
+7
-7
@@ -120,13 +120,13 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
}
|
||||
|
||||
@Override
|
||||
public RaceDefinition createRaceDefinition(Regatta event, Race race, StartList startList, Course course) {
|
||||
public RaceDefinition createRaceDefinition(Regatta regatta, Race race, StartList startList, Course course) {
|
||||
com.sap.sailing.domain.base.Course domainCourse = createCourse(race.getDescription(), course);
|
||||
BoatClass boatClass = getOrCreateBoatClassFromRaceID(race.getRaceID());
|
||||
Iterable<Competitor> competitors = createCompetitorList(startList, boatClass);
|
||||
RaceDefinition result = new RaceDefinitionImpl(race.getRaceID(), domainCourse,
|
||||
boatClass, competitors);
|
||||
event.addRace(result);
|
||||
regatta.addRace(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -228,18 +228,18 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
|
||||
@Override
|
||||
public void removeRace(String raceID) {
|
||||
Regatta event = getOrCreateEvent(raceID);
|
||||
Regatta regatta = getOrCreateEvent(raceID);
|
||||
Set<RaceDefinition> toRemove = new HashSet<RaceDefinition>();
|
||||
if (event != null) {
|
||||
for (RaceDefinition race : event.getAllRaces()) {
|
||||
if (regatta != null) {
|
||||
for (RaceDefinition race : regatta.getAllRaces()) {
|
||||
if (race.getName().equals(raceID)) {
|
||||
toRemove.add(race);
|
||||
}
|
||||
}
|
||||
for (RaceDefinition raceToRemove : toRemove) {
|
||||
event.removeRace(raceToRemove);
|
||||
regatta.removeRace(raceToRemove);
|
||||
}
|
||||
if (Util.isEmpty(event.getAllRaces())) {
|
||||
if (Util.isEmpty(regatta.getAllRaces())) {
|
||||
raceIDToEventCache.remove(raceID);
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -57,7 +57,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen
|
||||
private final RaceSpecificMessageLoader messageLoader;
|
||||
private final DomainFactory domainFactory;
|
||||
private final Triple<String, String, Integer> id;
|
||||
private final Regatta event;
|
||||
private final Regatta regatta;
|
||||
private final WindStore windStore;
|
||||
|
||||
private RaceDefinition race;
|
||||
@@ -79,8 +79,8 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen
|
||||
this.windStore = windStore;
|
||||
this.id = createID(raceID, hostname, port);
|
||||
connector.addSailMasterListener(raceID, this);
|
||||
event = domainFactory.getOrCreateEvent(raceID);
|
||||
setTrackedEvent(trackedRegattaRegistry.getOrCreateTrackedRegatta(event));
|
||||
regatta = domainFactory.getOrCreateEvent(raceID);
|
||||
setTrackedRegatta(trackedRegattaRegistry.getOrCreateTrackedRegatta(regatta));
|
||||
connector.trackRace(raceID);
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen
|
||||
|
||||
@Override
|
||||
public Regatta getRegatta() {
|
||||
return event;
|
||||
return regatta;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -248,7 +248,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen
|
||||
assert course != null;
|
||||
// now we can create the RaceDefinition and most other things
|
||||
Race swissTimingRace = messageLoader.getRace(raceID);
|
||||
race = domainFactory.createRaceDefinition(event, swissTimingRace, startList, course);
|
||||
race = domainFactory.createRaceDefinition(regatta, swissTimingRace, startList, course);
|
||||
trackedRace = getTrackedRegatta().createTrackedRace(race, windStore,
|
||||
WindTrack.DEFAULT_MILLISECONDS_OVER_WHICH_TO_AVERAGE_WIND,
|
||||
/* time over which to average speed */ race.getBoatClass().getApproximateManeuverDurationInMilliseconds(),
|
||||
@@ -264,7 +264,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen
|
||||
|
||||
/**
|
||||
* Checks if {@link #getRegatta()} still contains the {@link RaceDefinition} obtained when calling
|
||||
* {@link TrackedRace#getRace()} on {@link #trackedRace} and if the {@link #getTrackedRegatta() tracked event} for
|
||||
* {@link TrackedRace#getRace()} on {@link #trackedRace} and if the {@link #getTrackedRegatta() tracked regatta} for
|
||||
* {@link #getRegatta()} still contains {@link #trackedRace}. This is the precondition for updating the
|
||||
* {@link #trackedRace} with data received from the trackers.
|
||||
*/
|
||||
|
||||
+2
-2
@@ -80,8 +80,8 @@ public class ReachingLegTest extends TrackBasedTest {
|
||||
protected DynamicTrackedRace createTestTrackedRace(String regattaName, String raceName, String boatClassName,
|
||||
Iterable<Competitor> competitors, TimePoint timePointForFixes) {
|
||||
BoatClassImpl boatClass = new BoatClassImpl(boatClassName, /* typicallyStartsUpwind */ true);
|
||||
Regatta event = new RegattaImpl(regattaName, boatClass);
|
||||
TrackedRegatta trackedRegatta = new TrackedRegattaImpl(event);
|
||||
Regatta regatta = new RegattaImpl(regattaName, boatClass);
|
||||
TrackedRegatta trackedRegatta = new TrackedRegattaImpl(regatta);
|
||||
List<Waypoint> waypoints = new ArrayList<Waypoint>();
|
||||
// create a two-lap upwind/downwind course:
|
||||
BuoyImpl left = new BuoyImpl("Left lee gate buoy");
|
||||
|
||||
+2
-2
@@ -65,8 +65,8 @@ public class ReceiveTrackingDataTest extends AbstractTracTracLiveTest {
|
||||
}
|
||||
};
|
||||
List<TypeController> listeners = new ArrayList<TypeController>();
|
||||
Regatta event = domainFactory.getOrCreateEvent(getEvent());
|
||||
DynamicTrackedRegatta trackedRegatta = new DynamicTrackedRegattaImpl(event);
|
||||
Regatta regatta = domainFactory.getOrCreateEvent(getEvent());
|
||||
DynamicTrackedRegatta trackedRegatta = new DynamicTrackedRegattaImpl(regatta);
|
||||
trackedRegatta.addRaceListener(new RaceListener() {
|
||||
@Override
|
||||
public void raceAdded(TrackedRace trackedRace) {
|
||||
|
||||
+2
-2
@@ -90,8 +90,8 @@ public abstract class TrackBasedTest {
|
||||
protected DynamicTrackedRace createTestTrackedRace(String regattaName, String raceName, String boatClassName,
|
||||
Iterable<Competitor> competitors, TimePoint timePointForFixes) {
|
||||
BoatClassImpl boatClass = new BoatClassImpl(boatClassName, /* typicallyStartsUpwind */ true);
|
||||
Regatta event = new RegattaImpl(regattaName, boatClass);
|
||||
TrackedRegatta trackedRegatta = new TrackedRegattaImpl(event);
|
||||
Regatta regatta = new RegattaImpl(regattaName, boatClass);
|
||||
TrackedRegatta trackedRegatta = new TrackedRegattaImpl(regatta);
|
||||
List<Waypoint> waypoints = new ArrayList<Waypoint>();
|
||||
// create a two-lap upwind/downwind course:
|
||||
BuoyImpl left = new BuoyImpl("Left lee gate buoy");
|
||||
|
||||
+19
-19
@@ -83,16 +83,16 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
private final Map<String, Team> teamCache = new HashMap<String, Team>();
|
||||
|
||||
/**
|
||||
* Caches events by their name and their boat class's name
|
||||
* Caches regattas by their name and their boat class's name
|
||||
*/
|
||||
private final Map<Pair<String, String>, com.sap.sailing.domain.base.Regatta> eventCache =
|
||||
private final Map<Pair<String, String>, com.sap.sailing.domain.base.Regatta> regattaCache =
|
||||
new HashMap<Pair<String, String>, com.sap.sailing.domain.base.Regatta>();
|
||||
|
||||
/**
|
||||
* A cache based on weak references to the TracTrac event, allowing for quick Event lookup as long as the
|
||||
* TracTrac event remains referenced. This is intended to reduce the number of times the dominant boat
|
||||
* class needs to be determined for an event. Synchronization for additions / removals is tied to the
|
||||
* synchronization for {@link #eventCache}.
|
||||
* class needs to be determined for an regatta. Synchronization for additions / removals is tied to the
|
||||
* synchronization for {@link #regattaCache}.
|
||||
*/
|
||||
private final WeakIdentityHashMap<com.tractrac.clientmodule.Event, Regatta> weakEventCache = new WeakIdentityHashMap<>();
|
||||
|
||||
@@ -244,7 +244,7 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
|
||||
@Override
|
||||
public Regatta getOrCreateEvent(com.tractrac.clientmodule.Event event) {
|
||||
synchronized (eventCache) {
|
||||
synchronized (regattaCache) {
|
||||
// FIXME Dialog with Lasse by Skype on 2011-06-17:
|
||||
// [6:20:04 PM] Axel Uhl: Lasse, can Event.getCompetitorClassList() ever produce more than one result?
|
||||
// [6:20:20 PM] Axel Uhl: Or is it similar to Event.getRaceList() which always delivers one Race?
|
||||
@@ -267,10 +267,10 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
BoatClass boatClass = getDominantBoatClass(competitorClassList);
|
||||
Pair<String, String> key = new Pair<String, String>(event.getName(), boatClass == null ? null
|
||||
: boatClass.getName());
|
||||
result = eventCache.get(key);
|
||||
result = regattaCache.get(key);
|
||||
if (result == null) {
|
||||
result = new RegattaImpl(event.getName(), boatClass);
|
||||
eventCache.put(key, result);
|
||||
regattaCache.put(key, result);
|
||||
weakEventCache.put(event, result);
|
||||
}
|
||||
}
|
||||
@@ -336,26 +336,26 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
BoatClass boatClass = getDominantBoatClass(competitorClassList);
|
||||
Pair<String, String> key = new Pair<String, String>(tractracEvent.getName(), boatClass == null ? null
|
||||
: boatClass.getName());
|
||||
synchronized (eventCache) {
|
||||
Regatta event = eventCache.get(key);
|
||||
if (event != null) {
|
||||
synchronized (regattaCache) {
|
||||
Regatta regatta = regattaCache.get(key);
|
||||
if (regatta != null) {
|
||||
// The following fixes bug 202: when tracking of multiple races of the same event has been started, this may not
|
||||
// remove any race; however, the event may already have been created by another tracker whose race hasn't
|
||||
// arrived yet and therefore the races list is still empty; therefore, only remove the event if its
|
||||
// race list became empty by the removal performed here.
|
||||
int oldSize = Util.size(event.getAllRaces());
|
||||
event.removeRace(raceDefinition);
|
||||
if (oldSize > 0 && Util.size(event.getAllRaces()) == 0) {
|
||||
eventCache.remove(key);
|
||||
int oldSize = Util.size(regatta.getAllRaces());
|
||||
regatta.removeRace(raceDefinition);
|
||||
if (oldSize > 0 && Util.size(regatta.getAllRaces()) == 0) {
|
||||
regattaCache.remove(key);
|
||||
weakEventCache.remove(tractracEvent);
|
||||
}
|
||||
TrackedRegatta trackedRegatta = trackedRegattaRegistry.getTrackedRegatta(event);
|
||||
TrackedRegatta trackedRegatta = trackedRegattaRegistry.getTrackedRegatta(regatta);
|
||||
if (trackedRegatta != null) {
|
||||
// see above; only remove tracked event if it *became* empty because of the tracked race removal here
|
||||
// see above; only remove tracked regatta if it *became* empty because of the tracked race removal here
|
||||
int oldSizeOfTrackedRaces = Util.size(trackedRegatta.getTrackedRaces());
|
||||
trackedRegatta.removeTrackedRace(raceDefinition);
|
||||
if (oldSizeOfTrackedRaces > 0 && Util.size(trackedRegatta.getTrackedRaces()) == 0) {
|
||||
trackedRegattaRegistry.removeTrackedRegatta(event);
|
||||
trackedRegattaRegistry.removeTrackedRegatta(regatta);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -377,8 +377,8 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
if (raceDefinition.getBoatClass() == trackedRegatta.getRegatta().getBoatClass()) {
|
||||
trackedRegatta.getRegatta().addRace(raceDefinition);
|
||||
} else {
|
||||
logger.warning("Not adding race "+raceDefinition+" to event "+trackedRegatta.getRegatta()+
|
||||
" because boat class "+raceDefinition.getBoatClass()+" doesn't match event's boat class "+
|
||||
logger.warning("Not adding race "+raceDefinition+" to regatta "+trackedRegatta.getRegatta()+
|
||||
" because boat class "+raceDefinition.getBoatClass()+" doesn't match regatta's boat class "+
|
||||
trackedRegatta.getRegatta().getBoatClass());
|
||||
}
|
||||
TrackedRace trackedRace = createTrackedRace(trackedRegatta, raceDefinition, windStore,
|
||||
|
||||
+1
-1
@@ -132,7 +132,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements
|
||||
domainFactory.removeRace(tractracEvent, tractracRace, trackedRegattaRegistry);
|
||||
}
|
||||
domainEvent = domainFactory.getOrCreateEvent(tractracEvent);
|
||||
setTrackedEvent(trackedRegattaRegistry.getOrCreateTrackedRegatta(domainEvent));
|
||||
setTrackedRegatta(trackedRegattaRegistry.getOrCreateTrackedRegatta(domainEvent));
|
||||
receivers = new HashSet<Receiver>();
|
||||
Set<TypeController> typeControllers = new HashSet<TypeController>();
|
||||
for (Receiver receiver : domainFactory.getUpdateReceivers(getTrackedRegatta(), tractracEvent, startOfTracking,
|
||||
|
||||
@@ -15,7 +15,7 @@ import com.sap.sailing.domain.tracking.TrackedRegatta;
|
||||
public interface Regatta extends Named {
|
||||
/**
|
||||
* Please note that the {@link RaceDefinition}s of the {@link Regatta} are not necessarily in sync with the
|
||||
* {@link TrackedRace}s of the {@link TrackedRegatta} whose {@link TrackedRegatta#getRegatta() event} is this event.
|
||||
* {@link TrackedRace}s of the {@link TrackedRegatta} whose {@link TrackedRegatta#getRegatta() regatta} is this regatta.
|
||||
* For example, it may be the case that a {@link RaceDefinition} is returned by this method for which no
|
||||
* {@link TrackedRace} exists in the corresponding {@link TrackedRegatta}. This could be the case, e.g., during
|
||||
* the initialization of the tracker as well as during removing a race from the server.<p>
|
||||
@@ -26,10 +26,10 @@ public interface Regatta extends Named {
|
||||
Iterable<RaceDefinition> getAllRaces();
|
||||
|
||||
/**
|
||||
* Please note that the set of {@link RaceDefinition}s contained by this event may not match up with the
|
||||
* {@link TrackedRace}s of the {@link TrackedRegatta} corresponding to this event. See also {@link #getAllRaces()}.
|
||||
* Please note that the set of {@link RaceDefinition}s contained by this regatta may not match up with the
|
||||
* {@link TrackedRace}s of the {@link TrackedRegatta} corresponding to this regatta. See also {@link #getAllRaces()}.
|
||||
*
|
||||
* @return <code>null</code>, if this event does not contain a race (see {@link #getAllRaces}) whose
|
||||
* @return <code>null</code>, if this regatta does not contain a race (see {@link #getAllRaces}) whose
|
||||
* {@link RaceDefinition#getName()} equals <code>raceName</code>
|
||||
*/
|
||||
RaceDefinition getRaceByName(String raceName);
|
||||
@@ -49,7 +49,7 @@ public interface Regatta extends Named {
|
||||
RegattaIdentifier getRegattaIdentifier();
|
||||
|
||||
/**
|
||||
* A regatta name may be composed, e.g., from an overall event name and the boat class name. A factory or constructor
|
||||
* A regatta name may be composed, e.g., from an overall regatta name and the boat class name. A factory or constructor
|
||||
* may require the base name to which the boat class name will be appended. This method emits the base name.
|
||||
*/
|
||||
String getBaseName();
|
||||
|
||||
@@ -18,12 +18,12 @@ public class RegattaImpl extends NamedImpl implements Regatta {
|
||||
private static final long serialVersionUID = 6509564189552478869L;
|
||||
private final Set<RaceDefinition> races;
|
||||
private final BoatClass boatClass;
|
||||
private transient Set<RegattaListener> eventListeners;
|
||||
private transient Set<RegattaListener> regattaListeners;
|
||||
|
||||
public RegattaImpl(String baseName, BoatClass boatClass) {
|
||||
super(baseName+(boatClass==null?"":" ("+boatClass.getName()+")"));
|
||||
races = new HashSet<RaceDefinition>();
|
||||
eventListeners = new HashSet<RegattaListener>();
|
||||
regattaListeners = new HashSet<RegattaListener>();
|
||||
this.boatClass = boatClass;
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class RegattaImpl extends NamedImpl implements Regatta {
|
||||
|
||||
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
|
||||
ois.defaultReadObject();
|
||||
eventListeners = new HashSet<>();
|
||||
regattaListeners = new HashSet<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -69,13 +69,13 @@ public class RegattaImpl extends NamedImpl implements Regatta {
|
||||
@Override
|
||||
public void addRace(RaceDefinition race) {
|
||||
if (getBoatClass() != null && race.getBoatClass() != getBoatClass()) {
|
||||
throw new IllegalArgumentException("Boat class "+race.getBoatClass()+" doesn't match event's boat class "+getBoatClass());
|
||||
throw new IllegalArgumentException("Boat class "+race.getBoatClass()+" doesn't match regatta's boat class "+getBoatClass());
|
||||
}
|
||||
synchronized (races) {
|
||||
races.add(race);
|
||||
}
|
||||
synchronized (eventListeners) {
|
||||
for (RegattaListener l : eventListeners) {
|
||||
synchronized (regattaListeners) {
|
||||
for (RegattaListener l : regattaListeners) {
|
||||
l.raceAdded(this, race);
|
||||
}
|
||||
}
|
||||
@@ -86,8 +86,8 @@ public class RegattaImpl extends NamedImpl implements Regatta {
|
||||
synchronized (races) {
|
||||
races.remove(race);
|
||||
}
|
||||
synchronized (eventListeners) {
|
||||
for (RegattaListener l : eventListeners) {
|
||||
synchronized (regattaListeners) {
|
||||
for (RegattaListener l : regattaListeners) {
|
||||
l.raceRemoved(this, race);
|
||||
}
|
||||
}
|
||||
@@ -111,15 +111,15 @@ public class RegattaImpl extends NamedImpl implements Regatta {
|
||||
|
||||
@Override
|
||||
public void addRegattaListener(RegattaListener listener) {
|
||||
synchronized (eventListeners) {
|
||||
eventListeners.add(listener);
|
||||
synchronized (regattaListeners) {
|
||||
regattaListeners.add(listener);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeRegattaListener(RegattaListener listener) {
|
||||
synchronized (eventListeners) {
|
||||
eventListeners.remove(listener);
|
||||
synchronized (regattaListeners) {
|
||||
regattaListeners.remove(listener);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
/**
|
||||
* Implements the basic logic of assigning a maximum score to a competitor in a race if that competitor was
|
||||
* disqualified, did not start or did not finish. The maximum score is determined by counting the number of competitors
|
||||
* listed in the event to which the race belongs.
|
||||
* listed in the regatta to which the race belongs.
|
||||
* <p>
|
||||
*
|
||||
* @author Axel Uhl (d043530)
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ public abstract class AbstractRaceTrackerImpl implements RaceTracker {
|
||||
return trackedRegatta;
|
||||
}
|
||||
|
||||
protected void setTrackedEvent(DynamicTrackedRegatta trackedRegatta) {
|
||||
protected void setTrackedRegatta(DynamicTrackedRegatta trackedRegatta) {
|
||||
this.trackedRegatta = trackedRegatta;
|
||||
}
|
||||
}
|
||||
@@ -10,8 +10,8 @@ import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
|
||||
/**
|
||||
* Manages a set of {@link TrackedRace} objects that belong to the same {@link Regatta} (regatta, sailing event for a
|
||||
* single boat class). It therefore represents the entry point into the tracking-related objects for such an event.
|
||||
* Manages a set of {@link TrackedRace} objects that belong to the same {@link Regatta} (regatta, sailing regatta for a
|
||||
* single boat class). It therefore represents the entry point into the tracking-related objects for such an regatta.
|
||||
* Allows clients to find a {@link TrackedRace} by the {@link RaceDefinition} for which it holds the tracking data.
|
||||
* <p>
|
||||
*
|
||||
@@ -32,7 +32,7 @@ public interface TrackedRegatta extends Serializable {
|
||||
|
||||
/**
|
||||
* Creates a {@link TrackedRace} based on the parameter specified and {@link #addTrackedRace(TrackedRace) adds} it
|
||||
* to this tracked event. Afterwards, calling {@link #getTrackedRace(RaceDefinition) getTrackedRace(raceDefinition)}
|
||||
* to this tracked regatta. Afterwards, calling {@link #getTrackedRace(RaceDefinition) getTrackedRace(raceDefinition)}
|
||||
* will return the result of this method call.
|
||||
*
|
||||
* @param raceDefinitionSetToUpdate
|
||||
@@ -45,7 +45,7 @@ public interface TrackedRegatta extends Serializable {
|
||||
|
||||
/**
|
||||
* Obtains the tracked race for <code>race</code>. Blocks until the tracked race has been created
|
||||
* and added to this tracked event (see {@link #addTrackedRace(TrackedRace)}).
|
||||
* and added to this tracked regatta (see {@link #addTrackedRace(TrackedRace)}).
|
||||
*/
|
||||
TrackedRace getTrackedRace(RaceDefinition race);
|
||||
|
||||
|
||||
+2
-2
@@ -12,13 +12,13 @@ import com.sap.sailing.domain.base.Regatta;
|
||||
*/
|
||||
public interface TrackedRegattaRegistry {
|
||||
/**
|
||||
* Looks for tracking information about <code>event</code>. If no such object exists yet, a new one
|
||||
* Looks for tracking information about <code>regatta</code>. If no such object exists yet, a new one
|
||||
* is created.
|
||||
*/
|
||||
DynamicTrackedRegatta getOrCreateTrackedRegatta(Regatta regatta);
|
||||
|
||||
/**
|
||||
* Looks for the tracking information for <code>event</code>. If not found, <code>null</code> is returned
|
||||
* Looks for the tracking information for <code>regatta</code>. If not found, <code>null</code> is returned
|
||||
* immediately. See also {@link #getOrCreateTrackedRegatta(com.sap.sailing.domain.base.Regatta)}.
|
||||
*/
|
||||
DynamicTrackedRegatta getTrackedRegatta(Regatta regatta);
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.sap.sailing.domain.common.WindSource;
|
||||
|
||||
|
||||
/**
|
||||
* Capable of providing a {@link WindTrack} for a given event / race / {@link WindSource} combination.
|
||||
* Capable of providing a {@link WindTrack} for a given regatta / race / {@link WindSource} combination.
|
||||
* A trivial implementation is to provide a new {@link WindTrack}. Other implementations may use
|
||||
* wind information stored persistently, e.g., in a database.
|
||||
*
|
||||
@@ -18,7 +18,7 @@ public interface WindStore {
|
||||
long millisecondsOverWhichToAverage, long delayForWindEstimationCacheInvalidation);
|
||||
|
||||
/**
|
||||
* Loads all wind tracks known to this wind store that pertain to the tracked race / event specified.
|
||||
* Loads all wind tracks known to this wind store that pertain to the tracked race / regatta specified.
|
||||
*
|
||||
* @return a map that is never <code>null</code> but may be empty
|
||||
*/
|
||||
|
||||
+3
-3
@@ -10,11 +10,11 @@ import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
public abstract class AbstractEventManagementPanel extends AbstractRegattaPanel {
|
||||
protected final TrackedRacesListComposite trackedRacesListComposite;
|
||||
|
||||
public AbstractEventManagementPanel(SailingServiceAsync sailingService, RegattaRefresher eventRefresher,
|
||||
public AbstractEventManagementPanel(SailingServiceAsync sailingService, RegattaRefresher regattaRefresher,
|
||||
ErrorReporter errorReporter, RaceSelectionProvider raceSelectionProvider, StringMessages stringConstants) {
|
||||
super(sailingService, eventRefresher, errorReporter, stringConstants);
|
||||
super(sailingService, regattaRefresher, errorReporter, stringConstants);
|
||||
// TrackedEventsComposite should exist in every *ManagementPanel.
|
||||
trackedRacesListComposite = new TrackedRacesListComposite(sailingService, errorReporter, eventRefresher,
|
||||
trackedRacesListComposite = new TrackedRacesListComposite(sailingService, errorReporter, regattaRefresher,
|
||||
raceSelectionProvider, stringConstants, /* multiselection */ true);
|
||||
}
|
||||
}
|
||||
+10
-10
@@ -22,7 +22,7 @@ import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.panels.UserStatusPanel;
|
||||
|
||||
public class AdminConsoleEntryPoint extends AbstractEntryPoint implements RegattaRefresher {
|
||||
private Set<RegattaDisplayer> eventDisplayers;
|
||||
private Set<RegattaDisplayer> regattaDisplayers;
|
||||
|
||||
@Override
|
||||
public void onModuleLoad() {
|
||||
@@ -36,25 +36,25 @@ public class AdminConsoleEntryPoint extends AbstractEntryPoint implements Regatt
|
||||
rootPanel.add(tabPanel); //, 10, 10);
|
||||
tabPanel.setSize("95%", "95%");
|
||||
|
||||
eventDisplayers = new HashSet<RegattaDisplayer>();
|
||||
regattaDisplayers = new HashSet<RegattaDisplayer>();
|
||||
TracTracEventManagementPanel tractracEventManagementPanel = new TracTracEventManagementPanel(sailingService, this, this, stringMessages);
|
||||
eventDisplayers.add(tractracEventManagementPanel);
|
||||
regattaDisplayers.add(tractracEventManagementPanel);
|
||||
tractracEventManagementPanel.setSize("90%", "90%");
|
||||
tabPanel.add(tractracEventManagementPanel, stringMessages.tracTracEvents(), false);
|
||||
SwissTimingEventManagementPanel swisstimingEventManagementPanel = new SwissTimingEventManagementPanel(sailingService, this, this, stringMessages);
|
||||
eventDisplayers.add(swisstimingEventManagementPanel);
|
||||
regattaDisplayers.add(swisstimingEventManagementPanel);
|
||||
swisstimingEventManagementPanel.setSize("90%", "90%");
|
||||
tabPanel.add(swisstimingEventManagementPanel, stringMessages.swissTimingEvents(), false);
|
||||
CreateSwissTimingRacePanel createSwissTimingRacePanel = new CreateSwissTimingRacePanel(sailingService,this,stringMessages);
|
||||
createSwissTimingRacePanel.setSize("90%", "90%");
|
||||
tabPanel.add(createSwissTimingRacePanel,"Create SwissTiming race",false);
|
||||
TrackedRacesManagementPanel trackedRacesManagementPanel = new TrackedRacesManagementPanel(sailingService, this, this, stringMessages);
|
||||
eventDisplayers.add(trackedRacesManagementPanel);
|
||||
regattaDisplayers.add(trackedRacesManagementPanel);
|
||||
trackedRacesManagementPanel.setSize("90%", "90%");
|
||||
tabPanel.add(trackedRacesManagementPanel, stringMessages.trackedRaces(),false);
|
||||
final AsyncActionsExecutor asyncActionsExecutor = new AsyncActionsExecutor();
|
||||
WindPanel windPanel = new WindPanel(sailingService, asyncActionsExecutor, this, this, stringMessages);
|
||||
eventDisplayers.add(windPanel);
|
||||
regattaDisplayers.add(windPanel);
|
||||
windPanel.setSize("90%", "90%");
|
||||
tabPanel.add(windPanel, stringMessages.wind(), /* asHTML */ false);
|
||||
LeaderboardSettings defaultLeaderboardSettings = LeaderboardSettingsFactory.getInstance()
|
||||
@@ -69,11 +69,11 @@ public class AdminConsoleEntryPoint extends AbstractEntryPoint implements Regatt
|
||||
final LeaderboardGroupConfigPanel leaderboardGroupConfigPanel = new LeaderboardGroupConfigPanel(sailingService, this, this, stringMessages);
|
||||
leaderboardGroupConfigPanel.setSize("90%", "90%");
|
||||
tabPanel.add(leaderboardGroupConfigPanel, stringMessages.leaderboardGroupConfiguration(), /*asHTML*/ false);
|
||||
eventDisplayers.add(leaderboardGroupConfigPanel);
|
||||
regattaDisplayers.add(leaderboardGroupConfigPanel);
|
||||
final LeaderboardConfigPanel leaderboardConfigPanel = new LeaderboardConfigPanel(sailingService, this, this, stringMessages);
|
||||
leaderboardConfigPanel.setSize("90%", "90%");
|
||||
tabPanel.add(leaderboardConfigPanel, stringMessages.leaderboardConfiguration(), /* asHTML */ false);
|
||||
eventDisplayers.add(leaderboardConfigPanel);
|
||||
regattaDisplayers.add(leaderboardConfigPanel);
|
||||
tabPanel.add(new ReplicationPanel(sailingService, this, stringMessages), stringMessages.replication(), /* asHTML */ false);
|
||||
|
||||
tabPanel.selectTab(0);
|
||||
@@ -93,8 +93,8 @@ public class AdminConsoleEntryPoint extends AbstractEntryPoint implements Regatt
|
||||
sailingService.listEvents(new AsyncCallback<List<RegattaDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(List<RegattaDTO> result) {
|
||||
for (RegattaDisplayer eventDisplayer : eventDisplayers) {
|
||||
eventDisplayer.fillRegattas(result);
|
||||
for (RegattaDisplayer regattaDisplayer : regattaDisplayers) {
|
||||
regattaDisplayer.fillRegattas(result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -586,9 +586,9 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Pair<String, String> eventAndRaceName) {
|
||||
if (eventAndRaceName != null) {
|
||||
selectRaceInList(eventAndRaceName.getA(), eventAndRaceName.getB());
|
||||
public void onSuccess(Pair<String, String> regattaAndRaceName) {
|
||||
if (regattaAndRaceName != null) {
|
||||
selectRaceInList(regattaAndRaceName.getA(), regattaAndRaceName.getB());
|
||||
} else {
|
||||
trackedRacesListComposite.clearSelection();
|
||||
}
|
||||
|
||||
+2
-2
@@ -86,9 +86,9 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel {
|
||||
private ArrayList<LeaderboardGroupDTO> availableLeaderboardGroups;
|
||||
private ArrayList<LeaderboardDTO> availableLeaderboards;
|
||||
|
||||
public LeaderboardGroupConfigPanel(SailingServiceAsync sailingService, RegattaRefresher eventRefresher,
|
||||
public LeaderboardGroupConfigPanel(SailingServiceAsync sailingService, RegattaRefresher regattaRefresher,
|
||||
ErrorReporter errorReporter, StringMessages stringMessages) {
|
||||
super(sailingService, eventRefresher, errorReporter, stringMessages);
|
||||
super(sailingService, regattaRefresher, errorReporter, stringMessages);
|
||||
AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class);
|
||||
availableLeaderboardGroups = new ArrayList<LeaderboardGroupDTO>();
|
||||
availableLeaderboards = new ArrayList<LeaderboardDTO>();
|
||||
|
||||
+5
-5
@@ -29,12 +29,12 @@ import com.sap.sailing.gwt.ui.shared.DeprecatedRegattaDTO;
|
||||
public class RacesListBoxPanel extends FormPanel implements RegattaDisplayer, RaceSelectionChangeListener {
|
||||
private final List<RaceDTO> raceList;
|
||||
private final ListBox raceListBox;
|
||||
private final RegattaRefresher eventRefresher;
|
||||
private final RegattaRefresher regattaRefresher;
|
||||
private final StringMessages stringConstants;
|
||||
private final RaceSelectionProvider raceSelectionProvider;
|
||||
|
||||
public RacesListBoxPanel(RegattaRefresher eventRefresher, RaceSelectionProvider raceSelectionProvider, StringMessages stringConstants) {
|
||||
this.eventRefresher = eventRefresher;
|
||||
public RacesListBoxPanel(RegattaRefresher regattaRefresher, RaceSelectionProvider raceSelectionProvider, StringMessages stringConstants) {
|
||||
this.regattaRefresher = regattaRefresher;
|
||||
this.stringConstants = stringConstants;
|
||||
this.raceSelectionProvider = raceSelectionProvider;
|
||||
raceListBox = new ListBox();
|
||||
@@ -61,7 +61,7 @@ public class RacesListBoxPanel extends FormPanel implements RegattaDisplayer, Ra
|
||||
btnRefresh.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
RacesListBoxPanel.this.eventRefresher.fillRegattas();
|
||||
RacesListBoxPanel.this.regattaRefresher.fillRegattas();
|
||||
}
|
||||
});
|
||||
labelAndRefreshButton.add(btnRefresh);
|
||||
@@ -73,7 +73,7 @@ public class RacesListBoxPanel extends FormPanel implements RegattaDisplayer, Ra
|
||||
raceList.clear();
|
||||
raceListBox.clear();
|
||||
for (RegattaDTO event : result) {
|
||||
for (DeprecatedRegattaDTO regatta : event.regattas) {
|
||||
for (DeprecatedRegattaDTO regatta : event.deprecatedRegattas) {
|
||||
for (RaceDTO race : regatta.races) {
|
||||
raceList.add(race);
|
||||
}
|
||||
|
||||
+3
-3
@@ -68,8 +68,8 @@ public class SwissTimingEventManagementPanel extends AbstractEventManagementPane
|
||||
private final List<SwissTimingRaceRecordDTO> availableSwissTimingRaces = new ArrayList<SwissTimingRaceRecordDTO>();
|
||||
|
||||
public SwissTimingEventManagementPanel(final SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
RegattaRefresher eventRefresher, StringMessages stringConstants) {
|
||||
super(sailingService, eventRefresher, errorReporter, new RaceSelectionModel(), stringConstants);
|
||||
RegattaRefresher regattaRefresher, StringMessages stringConstants) {
|
||||
super(sailingService, regattaRefresher, errorReporter, new RaceSelectionModel(), stringConstants);
|
||||
this.errorReporter = errorReporter;
|
||||
|
||||
VerticalPanel mainPanel = new VerticalPanel();
|
||||
@@ -352,7 +352,7 @@ public class SwissTimingEventManagementPanel extends AbstractEventManagementPane
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
eventRefresher.fillRegattas();
|
||||
regattaRefresher.fillRegattas();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
+3
-3
@@ -75,8 +75,8 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel {
|
||||
private final List<TracTracRaceRecordDTO> availableTracTracRaces;
|
||||
|
||||
public TracTracEventManagementPanel(final SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
RegattaRefresher eventRefresher, StringMessages stringConstants) {
|
||||
super(sailingService, eventRefresher, errorReporter, new RaceSelectionModel(), stringConstants);
|
||||
RegattaRefresher regattaRefresher, StringMessages stringConstants) {
|
||||
super(sailingService, regattaRefresher, errorReporter, new RaceSelectionModel(), stringConstants);
|
||||
this.errorReporter = errorReporter;
|
||||
availableTracTracRaces = new ArrayList<TracTracRaceRecordDTO>();
|
||||
|
||||
@@ -464,7 +464,7 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel {
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
eventRefresher.fillRegattas();
|
||||
regattaRefresher.fillRegattas();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
+14
-14
@@ -87,7 +87,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl
|
||||
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final ErrorReporter errorReporter;
|
||||
private final RegattaRefresher eventRefresher;
|
||||
private final RegattaRefresher regattaRefresher;
|
||||
private final RaceSelectionProvider raceSelectionProvider;
|
||||
|
||||
private Button btnUntrack = null;
|
||||
@@ -112,14 +112,14 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl
|
||||
private static AnchorTemplates ANCHORTEMPLATE = GWT.create(AnchorTemplates.class);
|
||||
|
||||
public TrackedRacesListComposite(final SailingServiceAsync sailingService, final ErrorReporter errorReporter,
|
||||
final RegattaRefresher eventRefresher, RaceSelectionProvider raceSelectionProvider,
|
||||
final RegattaRefresher regattaRefresher, RaceSelectionProvider raceSelectionProvider,
|
||||
StringMessages stringConstants, boolean hasMultiSelection) {
|
||||
if (eventRefresher == null) {
|
||||
throw new IllegalArgumentException("eventRefresher must not be null");
|
||||
if (regattaRefresher == null) {
|
||||
throw new IllegalArgumentException("regattaRefresher must not be null");
|
||||
}
|
||||
this.sailingService = sailingService;
|
||||
this.errorReporter = errorReporter;
|
||||
this.eventRefresher = eventRefresher;
|
||||
this.regattaRefresher = regattaRefresher;
|
||||
this.multiSelection = hasMultiSelection;
|
||||
this.raceSelectionProvider = raceSelectionProvider;
|
||||
this.raceIsTrackedRaceChangeListener = new HashSet<TrackedRaceChangedListener>();
|
||||
@@ -155,7 +155,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl
|
||||
TextColumn<RaceDTO> regattaNameColumn = new TextColumn<RaceDTO>() {
|
||||
@Override
|
||||
public String getValue(RaceDTO raceDTO) {
|
||||
return raceDTO.getRegatta().getRegatta().name;
|
||||
return raceDTO.getDeprecatedRegatta().getRegatta().name;
|
||||
}
|
||||
};
|
||||
regattaNameColumn.setSortable(true);
|
||||
@@ -184,7 +184,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl
|
||||
TextColumn<RaceDTO> deprecatedRegattaNameColumn = new TextColumn<RaceDTO>() {
|
||||
@Override
|
||||
public String getValue(RaceDTO raceDTO) {
|
||||
return raceDTO.getRegatta().boatClass.name;
|
||||
return raceDTO.getDeprecatedRegatta().boatClass.name;
|
||||
}
|
||||
};
|
||||
deprecatedRegattaNameColumn.setSortable(true);
|
||||
@@ -192,8 +192,8 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl
|
||||
columnSortHandler.setComparator(deprecatedRegattaNameColumn, new Comparator<RaceDTO>() {
|
||||
@Override
|
||||
public int compare(RaceDTO t1, RaceDTO t2) {
|
||||
DeprecatedRegattaDTO regattaOne = t1.getRegatta();
|
||||
DeprecatedRegattaDTO regattaTwo = t2.getRegatta();
|
||||
DeprecatedRegattaDTO regattaOne = t1.getDeprecatedRegatta();
|
||||
DeprecatedRegattaDTO regattaTwo = t2.getDeprecatedRegatta();
|
||||
boolean ascending = isSortedAscending();
|
||||
if (regattaOne.boatClass.name.equals(regattaTwo.boatClass.name)) {
|
||||
return 0;
|
||||
@@ -354,7 +354,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl
|
||||
btnRefresh.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
eventRefresher.fillRegattas();
|
||||
regattaRefresher.fillRegattas();
|
||||
}
|
||||
});
|
||||
trackedRacesButtonPanel.add(btnRefresh);
|
||||
@@ -413,7 +413,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl
|
||||
List<RaceDTO> newAllRaces = new ArrayList<RaceDTO>();
|
||||
List<RegattaAndRaceIdentifier> newAllRaceIdentifiers = new ArrayList<RegattaAndRaceIdentifier>();
|
||||
for (RegattaDTO event : events) {
|
||||
for (DeprecatedRegattaDTO regatta : event.regattas) {
|
||||
for (DeprecatedRegattaDTO regatta : event.deprecatedRegattas) {
|
||||
for (RaceDTO race : regatta.races) {
|
||||
if (race != null) {
|
||||
newAllRaces.add(race);
|
||||
@@ -446,7 +446,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
eventRefresher.fillRegattas();
|
||||
regattaRefresher.fillRegattas();
|
||||
for (TrackedRaceChangedListener listener : raceIsTrackedRaceChangeListener) {
|
||||
listener.changeTrackingRace(regattaNameAndRaceName, false);
|
||||
}
|
||||
@@ -466,7 +466,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
eventRefresher.fillRegattas();
|
||||
regattaRefresher.fillRegattas();
|
||||
for (TrackedRaceChangedListener listener : raceIsTrackedRaceChangeListener) {
|
||||
listener.changeTrackingRace(regattaNameAndRaceName, false);
|
||||
}
|
||||
@@ -484,7 +484,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl
|
||||
for (String word : wordsToFilter) {
|
||||
String textAsUppercase = word.toUpperCase().trim();
|
||||
if (!raceDTO.getEvent().name.toUpperCase().contains(textAsUppercase)
|
||||
&& !raceDTO.getRegatta().boatClass.name.toUpperCase().contains(textAsUppercase)
|
||||
&& !raceDTO.getDeprecatedRegatta().boatClass.name.toUpperCase().contains(textAsUppercase)
|
||||
&& !raceDTO.name.toUpperCase().contains(textAsUppercase)) {
|
||||
failed = true;
|
||||
break;
|
||||
|
||||
+3
-3
@@ -40,8 +40,8 @@ public class TrackedRacesManagementPanel extends AbstractEventManagementPanel im
|
||||
private final Grid raceDataGrid;
|
||||
|
||||
public TrackedRacesManagementPanel(final SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
RegattaRefresher eventRefresher, StringMessages stringConstants) {
|
||||
super(sailingService, eventRefresher, errorReporter, new RaceSelectionModel(), stringConstants);
|
||||
RegattaRefresher regattaRefresher, StringMessages stringConstants) {
|
||||
super(sailingService, regattaRefresher, errorReporter, new RaceSelectionModel(), stringConstants);
|
||||
|
||||
VerticalPanel mainPanel = new VerticalPanel();
|
||||
this.setWidget(mainPanel);
|
||||
@@ -83,7 +83,7 @@ public class TrackedRacesManagementPanel extends AbstractEventManagementPanel im
|
||||
selectedRacePanel.setVisible(true);
|
||||
|
||||
for (RegattaDTO event : savedEvents) {
|
||||
for (DeprecatedRegattaDTO regatta : event.regattas) {
|
||||
for (DeprecatedRegattaDTO regatta : event.deprecatedRegattas) {
|
||||
for (RaceDTO race : regatta.races) {
|
||||
if (race != null && race.getRaceIdentifier().equals(singleSelectedRace)) {
|
||||
this.selectedRaceDTO = race;
|
||||
|
||||
+2
-2
@@ -90,7 +90,7 @@ public class WindPanel extends FormPanel implements RegattaDisplayer, WindShower
|
||||
private static AdminConsoleResources resources = GWT.create(AdminConsoleResources.class);
|
||||
|
||||
public WindPanel(final SailingServiceAsync sailingService, AsyncActionsExecutor asyncActionsExecutor,
|
||||
ErrorReporter errorReporter, RegattaRefresher eventRefresher, final StringMessages stringMessages) {
|
||||
ErrorReporter errorReporter, RegattaRefresher regattaRefresher, final StringMessages stringMessages) {
|
||||
this.sailingService = sailingService;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
@@ -152,7 +152,7 @@ public class WindPanel extends FormPanel implements RegattaDisplayer, WindShower
|
||||
}
|
||||
};
|
||||
grid = new Grid(4, 2); // first row: event/race selection; second row: wind source selection; third row: wind display
|
||||
trackedRacesListComposite = new TrackedRacesListComposite(sailingService, errorReporter, eventRefresher,
|
||||
trackedRacesListComposite = new TrackedRacesListComposite(sailingService, errorReporter, regattaRefresher,
|
||||
raceSelectionProvider, stringMessages, false);
|
||||
raceSelectionProvider.addRaceSelectionChangeListener(this);
|
||||
grid.setWidget(0, 0, trackedRacesListComposite);
|
||||
|
||||
+3
-3
@@ -12,15 +12,15 @@ public abstract class AbstractRegattaPanel extends FormPanel implements RegattaD
|
||||
protected final SailingServiceAsync sailingService;
|
||||
protected DateTimeFormatRenderer dateFormatter = new DateTimeFormatRenderer(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT));
|
||||
protected DateTimeFormatRenderer timeFormatter = new DateTimeFormatRenderer(DateTimeFormat.getFormat(PredefinedFormat.TIME_LONG));
|
||||
protected final RegattaRefresher eventRefresher;
|
||||
protected final RegattaRefresher regattaRefresher;
|
||||
protected ErrorReporter errorReporter;
|
||||
protected StringMessages stringConstants;
|
||||
|
||||
public AbstractRegattaPanel(SailingServiceAsync sailingService,
|
||||
RegattaRefresher eventRefresher, ErrorReporter errorReporter, StringMessages stringConstants) {
|
||||
RegattaRefresher regattaRefresher, ErrorReporter errorReporter, StringMessages stringConstants) {
|
||||
super();
|
||||
this.sailingService = sailingService;
|
||||
this.eventRefresher = eventRefresher;
|
||||
this.regattaRefresher = regattaRefresher;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringConstants = stringConstants;
|
||||
}
|
||||
|
||||
+3
-3
@@ -54,9 +54,9 @@ public interface SailingService extends RemoteService {
|
||||
|
||||
void stopTrackingEvent(RegattaIdentifier eventIdentifier) throws Exception;
|
||||
|
||||
void stopTrackingRace(RegattaAndRaceIdentifier eventAndRaceIdentifier) throws Exception;
|
||||
void stopTrackingRace(RegattaAndRaceIdentifier regattaAndRaceIdentifier) throws Exception;
|
||||
|
||||
void removeAndUntrackRace(RegattaAndRaceIdentifier eventAndRaceidentifier) throws Exception;
|
||||
void removeAndUntrackRace(RegattaAndRaceIdentifier regattaAndRaceidentifier) throws Exception;
|
||||
|
||||
WindInfoForRaceDTO getWindInfo(RaceIdentifier raceIdentifier, Date from, Date to, WindSource[] windSources);
|
||||
|
||||
@@ -95,7 +95,7 @@ public interface SailingService extends RemoteService {
|
||||
|
||||
List<LeaderboardDTO> getLeaderboards();
|
||||
|
||||
List<LeaderboardDTO> getLeaderboardsByEvent(RegattaDTO event);
|
||||
List<LeaderboardDTO> getLeaderboardsByEvent(RegattaDTO regatta);
|
||||
|
||||
void updateLeaderboard(String leaderboardName, String newLeaderboardName, int[] newDiscardingThreasholds);
|
||||
|
||||
|
||||
+5
-6
@@ -67,11 +67,10 @@ public interface SailingServiceAsync {
|
||||
void stopTrackingRace(RegattaAndRaceIdentifier raceIdentifier, AsyncCallback<Void> asyncCallback);
|
||||
|
||||
/**
|
||||
* Untracks the race and removes it from the event. It will also be removed in all leaderboards
|
||||
* @param eventAndRaceidentifier The identifier for the event name, and the race name to remove
|
||||
* @throws Exception
|
||||
* Untracks the race and removes it from the regatta. It will also be removed in all leaderboards
|
||||
* @param regattaAndRaceidentifier The identifier for the regatta name, and the race name to remove
|
||||
*/
|
||||
void removeAndUntrackRace(RegattaAndRaceIdentifier eventAndRaceidentifier, AsyncCallback<Void> callback);
|
||||
void removeAndUntrackRace(RegattaAndRaceIdentifier regattaAndRaceidentifier, AsyncCallback<Void> callback);
|
||||
|
||||
void getWindInfo(RaceIdentifier raceIdentifier, Date from, Date to, WindSource[] windSources,
|
||||
AsyncCallback<WindInfoForRaceDTO> callback);
|
||||
@@ -169,9 +168,9 @@ public interface SailingServiceAsync {
|
||||
|
||||
/**
|
||||
* Does the same as {@link SailingServiceAsync#getLeaderboards(AsyncCallback) getLeaderboards} but returns only
|
||||
* leaderboards which have the given event as race
|
||||
* leaderboards which have the given regatta as race
|
||||
*/
|
||||
void getLeaderboardsByEvent(RegattaDTO event, AsyncCallback<List<LeaderboardDTO>> callback);
|
||||
void getLeaderboardsByEvent(RegattaDTO regatta, AsyncCallback<List<LeaderboardDTO>> callback);
|
||||
|
||||
void getLeaderboardsByRace(RaceDTO race, AsyncCallback<List<LeaderboardDTO>> callback);
|
||||
|
||||
|
||||
+9
-9
@@ -105,7 +105,7 @@ public class RaceBoardEntryPoint extends AbstractEntryPoint {
|
||||
userManagementService.getUser(getUserCallback);
|
||||
}
|
||||
|
||||
private void checkUrlParameters(List<String> leaderboardNames, LeaderboardGroupDTO leaderboardGroup, List<RegattaDTO> events, UserDTO user) {
|
||||
private void checkUrlParameters(List<String> leaderboardNames, LeaderboardGroupDTO leaderboardGroup, List<RegattaDTO> regattas, UserDTO user) {
|
||||
if (!leaderboardNames.contains(leaderboardName)) {
|
||||
createErrorPage(stringMessages.noSuchLeaderboard());
|
||||
return;
|
||||
@@ -123,9 +123,9 @@ public class RaceBoardEntryPoint extends AbstractEntryPoint {
|
||||
return;
|
||||
}
|
||||
}
|
||||
selectedRace = findRace(regattaName, raceName, events);
|
||||
selectedRace = findRace(regattaName, raceName, regattas);
|
||||
if (selectedRace == null) {
|
||||
createErrorPage("Could not obtain a race with name " + raceName + " for an event with name " + regattaName);
|
||||
createErrorPage("Could not obtain a race with name " + raceName + " for an regatta with name " + regattaName);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ public class RaceBoardEntryPoint extends AbstractEntryPoint {
|
||||
Timer timer = new Timer(PlayModes.Replay, 1000l);
|
||||
RaceBoardPanel raceBoardPanel = new RaceBoardPanel(sailingService, user, timer, raceSelectionModel, leaderboardName, leaderboardGroupName,
|
||||
RaceBoardEntryPoint.this, stringMessages, userAgentType, viewMode, new RaceTimesInfoProvider(sailingService, this, singletonList, 1000l));
|
||||
raceBoardPanel.fillRegattas(events);
|
||||
raceBoardPanel.fillRegattas(regattas);
|
||||
|
||||
switch (viewMode) {
|
||||
case ONESCREEN:
|
||||
@@ -144,11 +144,11 @@ public class RaceBoardEntryPoint extends AbstractEntryPoint {
|
||||
}
|
||||
}
|
||||
|
||||
private RaceDTO findRace(String regattaName, String raceName, List<RegattaDTO> events) {
|
||||
for (RegattaDTO eventDTO : events) {
|
||||
if (eventDTO.name.equals(regattaName)) {
|
||||
for (DeprecatedRegattaDTO regattaDTO : eventDTO.regattas) {
|
||||
for (RaceDTO raceDTO: regattaDTO.races) {
|
||||
private RaceDTO findRace(String regattaName, String raceName, List<RegattaDTO> regattas) {
|
||||
for (RegattaDTO regattaDTO : regattas) {
|
||||
if (regattaDTO.name.equals(regattaName)) {
|
||||
for (DeprecatedRegattaDTO deprecatedRegattaDTO : regattaDTO.deprecatedRegattas) {
|
||||
for (RaceDTO raceDTO: deprecatedRegattaDTO.races) {
|
||||
if (raceDTO.name.equals(raceName)) {
|
||||
return raceDTO;
|
||||
}
|
||||
|
||||
+5
-5
@@ -52,7 +52,7 @@ import com.sap.sailing.gwt.ui.shared.components.SettingsDialog;
|
||||
import com.sap.sailing.gwt.ui.shared.racemap.RaceMap;
|
||||
|
||||
/**
|
||||
* A panel showing a list of components visualizing a race from the events announced by calls to {@link #fillRegattas(List)}.
|
||||
* A panel showing a list of components visualizing a race from the regattas announced by calls to {@link #fillRegattas(List)}.
|
||||
* The race selection is provided by a {@link RaceSelectionProvider} for which this is a {@link RaceSelectionChangeListener listener}.
|
||||
* {@link RaceIdentifier}-based race selection changes are converted to {@link RaceDTO} objects using the {@link #racesByIdentifier}
|
||||
* map maintained during {@link #fillRegattas(List)}. The race selection provider is expected to be single selection only.
|
||||
@@ -366,11 +366,11 @@ public class RaceBoardPanel extends FormPanel implements RegattaDisplayer, RaceS
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillRegattas(List<RegattaDTO> events) {
|
||||
public void fillRegattas(List<RegattaDTO> regattas) {
|
||||
racesByIdentifier.clear();
|
||||
for (RegattaDTO event : events) {
|
||||
for (DeprecatedRegattaDTO regatta : event.regattas) {
|
||||
for (RaceDTO race : regatta.races) {
|
||||
for (RegattaDTO regatta : regattas) {
|
||||
for (DeprecatedRegattaDTO deprecatedRegatta : regatta.deprecatedRegattas) {
|
||||
for (RaceDTO race : deprecatedRegatta.races) {
|
||||
if (race != null && race.getRaceIdentifier() != null) {
|
||||
racesByIdentifier.put(race.getRaceIdentifier(), race);
|
||||
}
|
||||
|
||||
+40
-40
@@ -420,23 +420,23 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
@Override
|
||||
public List<RegattaDTO> listEvents() throws IllegalArgumentException {
|
||||
List<RegattaDTO> result = new ArrayList<RegattaDTO>();
|
||||
for (Regatta event : getService().getAllRegattas()) {
|
||||
List<CompetitorDTO> competitorList = getCompetitorDTOs(event.getCompetitors());
|
||||
List<DeprecatedRegattaDTO> regattasList = getRegattaDTOs(event);
|
||||
RegattaDTO eventDTO = new RegattaDTO(event.getName(), regattasList, competitorList);
|
||||
for (DeprecatedRegattaDTO regatta : regattasList) {
|
||||
regatta.setRegatta(eventDTO);
|
||||
for (Regatta regatta : getService().getAllRegattas()) {
|
||||
List<CompetitorDTO> competitorList = getCompetitorDTOs(regatta.getCompetitors());
|
||||
List<DeprecatedRegattaDTO> regattasList = getRegattaDTOs(regatta);
|
||||
RegattaDTO regattaDTO = new RegattaDTO(regatta.getName(), regattasList, competitorList);
|
||||
for (DeprecatedRegattaDTO deprecatedRegatta : regattasList) {
|
||||
deprecatedRegatta.setRegatta(regattaDTO);
|
||||
}
|
||||
if (!eventDTO.regattas.isEmpty()) {
|
||||
result.add(eventDTO);
|
||||
if (!regattaDTO.deprecatedRegattas.isEmpty()) {
|
||||
result.add(regattaDTO);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<DeprecatedRegattaDTO> getRegattaDTOs(Regatta event) {
|
||||
private List<DeprecatedRegattaDTO> getRegattaDTOs(Regatta regatta) {
|
||||
Map<BoatClass, Set<RaceDefinition>> racesByBoatClass = new HashMap<BoatClass, Set<RaceDefinition>>();
|
||||
for (RaceDefinition r : event.getAllRaces()) {
|
||||
for (RaceDefinition r : regatta.getAllRaces()) {
|
||||
Set<RaceDefinition> racesForBoatClass = racesByBoatClass.get(r.getBoatClass());
|
||||
if (racesForBoatClass == null) {
|
||||
racesForBoatClass = new HashSet<RaceDefinition>();
|
||||
@@ -446,24 +446,24 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
}
|
||||
List<DeprecatedRegattaDTO> result = new ArrayList<DeprecatedRegattaDTO>();
|
||||
for (Map.Entry<BoatClass, Set<RaceDefinition>> e : racesByBoatClass.entrySet()) {
|
||||
List<RaceDTO> raceDTOsInBoatClass = getRaceDTOs(event, e.getValue());
|
||||
List<RaceDTO> raceDTOsInBoatClass = getRaceDTOs(regatta, e.getValue());
|
||||
if (!raceDTOsInBoatClass.isEmpty()) {
|
||||
DeprecatedRegattaDTO regatta = new DeprecatedRegattaDTO(new BoatClassDTO(e.getKey() == null ? "" : e.getKey().getName(), e
|
||||
DeprecatedRegattaDTO deprecatedRegatta = new DeprecatedRegattaDTO(new BoatClassDTO(e.getKey() == null ? "" : e.getKey().getName(), e
|
||||
.getKey().getHullLength().getMeters()), raceDTOsInBoatClass);
|
||||
for (RaceDTO race : raceDTOsInBoatClass) {
|
||||
race.setRegatta(regatta);
|
||||
race.setRegatta(deprecatedRegatta);
|
||||
}
|
||||
result.add(regatta);
|
||||
result.add(deprecatedRegatta);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<RaceDTO> getRaceDTOs(Regatta event, Set<RaceDefinition> races) {
|
||||
private List<RaceDTO> getRaceDTOs(Regatta regatta, Set<RaceDefinition> races) {
|
||||
List<RaceDTO> result = new ArrayList<RaceDTO>();
|
||||
for (RaceDefinition r : races) {
|
||||
RaceDTO raceDTO = new RaceDTO(r.getName(), getCompetitorDTOs(r.getCompetitors()), getService().isRaceBeingTracked(r));
|
||||
TrackedRace trackedRace = getService().getExistingTrackedRace(new RegattaNameAndRaceName(event.getName(), r.getName()));
|
||||
TrackedRace trackedRace = getService().getExistingTrackedRace(new RegattaNameAndRaceName(regatta.getName(), r.getName()));
|
||||
if (trackedRace != null) {
|
||||
raceDTO.startOfRace = trackedRace.getStartOfRace() == null ? null : trackedRace.getStartOfRace().asDate();
|
||||
raceDTO.startOfTracking = trackedRace.getStartOfTracking() == null ? null : trackedRace.getStartOfTracking().asDate();
|
||||
@@ -552,26 +552,26 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopTrackingEvent(RegattaIdentifier eventIdentifier) throws Exception {
|
||||
getService().apply(new StopTrackingRegatta(eventIdentifier));
|
||||
public void stopTrackingEvent(RegattaIdentifier regattaIdentifier) throws Exception {
|
||||
getService().apply(new StopTrackingRegatta(regattaIdentifier));
|
||||
}
|
||||
|
||||
private RaceDefinition getRaceByName(Regatta event, String raceName) {
|
||||
if (event != null) {
|
||||
return event.getRaceByName(raceName);
|
||||
private RaceDefinition getRaceByName(Regatta regatta, String raceName) {
|
||||
if (regatta != null) {
|
||||
return regatta.getRaceByName(raceName);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopTrackingRace(RegattaAndRaceIdentifier eventAndRaceIdentifier) throws Exception {
|
||||
getService().apply(new StopTrackingRace(eventAndRaceIdentifier));
|
||||
public void stopTrackingRace(RegattaAndRaceIdentifier regattaAndRaceIdentifier) throws Exception {
|
||||
getService().apply(new StopTrackingRace(regattaAndRaceIdentifier));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeAndUntrackRace(RegattaAndRaceIdentifier eventAndRaceidentifier) {
|
||||
getService().apply(new RemoveAndUntrackRace(eventAndRaceidentifier));
|
||||
public void removeAndUntrackRace(RegattaAndRaceIdentifier regattatAndRaceidentifier) {
|
||||
getService().apply(new RemoveAndUntrackRace(regattatAndRaceidentifier));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -580,14 +580,14 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
* taking any effect.
|
||||
*/
|
||||
private void startTrackingWind(RacesHandle raceHandle, boolean correctByDeclination, long timeoutInMilliseconds) throws Exception {
|
||||
Regatta event = raceHandle.getRegatta();
|
||||
if (event != null) {
|
||||
Regatta regatta = raceHandle.getRegatta();
|
||||
if (regatta != null) {
|
||||
for (RaceDefinition race : raceHandle.getRaces(timeoutInMilliseconds)) {
|
||||
if (race != null) {
|
||||
getService().startTrackingWind(event, race, correctByDeclination);
|
||||
getService().startTrackingWind(regatta, race, correctByDeclination);
|
||||
} else {
|
||||
log("RaceDefinition wasn't received within " + timeoutInMilliseconds + "ms for a race in event "
|
||||
+ event.getName() + ". Aborting wait; no wind tracking for this race.");
|
||||
log("RaceDefinition wasn't received within " + timeoutInMilliseconds + "ms for a race in regatta "
|
||||
+ regatta.getName() + ". Aborting wait; no wind tracking for this race.");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1181,10 +1181,10 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LeaderboardDTO> getLeaderboardsByEvent(RegattaDTO event) {
|
||||
public List<LeaderboardDTO> getLeaderboardsByEvent(RegattaDTO regatta) {
|
||||
List<LeaderboardDTO> results = new ArrayList<LeaderboardDTO>();
|
||||
for (DeprecatedRegattaDTO regatta : event.regattas) {
|
||||
for (RaceDTO race : regatta.races) {
|
||||
for (DeprecatedRegattaDTO deprecatedRegatta : regatta.deprecatedRegattas) {
|
||||
for (RaceDTO race : deprecatedRegatta.races) {
|
||||
List<LeaderboardDTO> leaderboard = getLeaderboardsByRace(race);
|
||||
if (leaderboard != null && !leaderboard.isEmpty()) {
|
||||
results.addAll(leaderboard);
|
||||
@@ -1679,16 +1679,16 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
|
||||
@Override
|
||||
public RaceDefinition getRace(RegattaAndRaceIdentifier raceIdentifier) {
|
||||
Regatta event = getService().getRegattaByName(raceIdentifier.getRegattaName());
|
||||
RaceDefinition race = getRaceByName(event, raceIdentifier.getRaceName());
|
||||
Regatta regatta = getService().getRegattaByName(raceIdentifier.getRegattaName());
|
||||
RaceDefinition race = getRaceByName(regatta, raceIdentifier.getRaceName());
|
||||
return race;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TrackedRace getTrackedRace(RegattaAndRaceIdentifier regattaNameAndRaceName) {
|
||||
Regatta event = getService().getRegattaByName(regattaNameAndRaceName.getRegattaName());
|
||||
RaceDefinition race = getRaceByName(event, regattaNameAndRaceName.getRaceName());
|
||||
TrackedRace trackedRace = getService().getOrCreateTrackedRegatta(event).getTrackedRace(race);
|
||||
Regatta regatta = getService().getRegattaByName(regattaNameAndRaceName.getRegattaName());
|
||||
RaceDefinition race = getRaceByName(regatta, regattaNameAndRaceName.getRaceName());
|
||||
TrackedRace trackedRace = getService().getOrCreateTrackedRegatta(regatta).getTrackedRace(race);
|
||||
return trackedRace;
|
||||
}
|
||||
|
||||
@@ -1698,8 +1698,8 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
}
|
||||
|
||||
@Override
|
||||
public Regatta getRegatta(RegattaName eventIdentifier) {
|
||||
return getService().getRegattaByName(eventIdentifier.getRegattaName());
|
||||
public Regatta getRegatta(RegattaName regattaIdentifier) {
|
||||
return getService().getRegattaByName(regattaIdentifier.getRegattaName());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+6
-6
@@ -22,7 +22,7 @@ public class RaceDTO extends NamedDTO implements IsSerializable {
|
||||
public Date timePointOfNewestEvent;
|
||||
public Date endOfRace;
|
||||
|
||||
private DeprecatedRegattaDTO regatta;
|
||||
private DeprecatedRegattaDTO deprecatedRegatta;
|
||||
|
||||
public RaceDTO() {}
|
||||
|
||||
@@ -32,19 +32,19 @@ public class RaceDTO extends NamedDTO implements IsSerializable {
|
||||
this.currentlyTracked = currentlyTracked;
|
||||
}
|
||||
|
||||
public DeprecatedRegattaDTO getRegatta() {
|
||||
return regatta;
|
||||
public DeprecatedRegattaDTO getDeprecatedRegatta() {
|
||||
return deprecatedRegatta;
|
||||
}
|
||||
|
||||
public void setRegatta(DeprecatedRegattaDTO regatta) {
|
||||
this.regatta = regatta;
|
||||
this.deprecatedRegatta = regatta;
|
||||
}
|
||||
|
||||
public RegattaAndRaceIdentifier getRaceIdentifier() {
|
||||
return new RegattaNameAndRaceName(regatta.getRegatta().name, name);
|
||||
return new RegattaNameAndRaceName(deprecatedRegatta.getRegatta().name, name);
|
||||
}
|
||||
|
||||
public RegattaDTO getEvent() {
|
||||
return regatta.getRegatta();
|
||||
return deprecatedRegatta.getRegatta();
|
||||
}
|
||||
}
|
||||
+7
-7
@@ -6,16 +6,16 @@ import java.util.List;
|
||||
import com.google.gwt.user.client.rpc.IsSerializable;
|
||||
|
||||
public class RegattaDTO extends NamedDTO implements IsSerializable {
|
||||
public List<DeprecatedRegattaDTO> regattas;
|
||||
public List<DeprecatedRegattaDTO> deprecatedRegattas;
|
||||
public List<CompetitorDTO> competitors;
|
||||
|
||||
public RegattaDTO() {
|
||||
}
|
||||
|
||||
public RegattaDTO(String name, List<DeprecatedRegattaDTO> regattas, List<CompetitorDTO> competitors) {
|
||||
public RegattaDTO(String name, List<DeprecatedRegattaDTO> deprecatedRegattas, List<CompetitorDTO> competitors) {
|
||||
super(name);
|
||||
this.name = name;
|
||||
this.regattas = regattas;
|
||||
this.deprecatedRegattas = deprecatedRegattas;
|
||||
this.competitors = competitors;
|
||||
}
|
||||
|
||||
@@ -24,18 +24,18 @@ public class RegattaDTO extends NamedDTO implements IsSerializable {
|
||||
* <code>null</code> if the start date isn't set
|
||||
*/
|
||||
public Date getStartDate() {
|
||||
return regattas.get(0).races.get(0).startOfRace;
|
||||
return deprecatedRegattas.get(0).races.get(0).startOfRace;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return <code>true</code> if at least one race of the event is currently tracked, else it returns <code>false</code>
|
||||
* @return <code>true</code> if at least one race of the regatta is currently tracked, else it returns <code>false</code>
|
||||
*/
|
||||
public boolean currentlyTracked() {
|
||||
boolean tracked = false;
|
||||
|
||||
regattaLoop:
|
||||
for (DeprecatedRegattaDTO regatta : regattas) {
|
||||
for (RaceDTO race : regatta.races) {
|
||||
for (DeprecatedRegattaDTO deprecatedRegatta : deprecatedRegattas) {
|
||||
for (RaceDTO race : deprecatedRegatta.races) {
|
||||
tracked = race.currentlyTracked;
|
||||
if (tracked) {
|
||||
break regattaLoop;
|
||||
|
||||
Reference in new issue
Block a user