mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-24 21:13:50 +00:00
Implemented the competitor/Boat combination stored in TrackedRace domain object as temporary solution
The data is transfered to the UI as part of the RaceMapDataDTO and used in the new CompetitorColorProvider class.
This commit is contained in:
1 parent
e5d94608c0
commit
931e56385d
24 files changed
+231
-34
No files matched your search
+1
-1
@@ -257,7 +257,7 @@ public interface DomainFactory {
|
||||
*/
|
||||
RaceDefinition getAndWaitForRaceDefinition(UUID raceId, long timeoutInMilliseconds);
|
||||
|
||||
Iterable<Util.Pair<Competitor, Boat>> getBoatsInfoForCompetitors(IRace race, BoatClass defaultBoatClass);
|
||||
List<Util.Pair<Competitor, Boat>> getBoatsInfoForCompetitors(IRace race, BoatClass defaultBoatClass);
|
||||
|
||||
Util.Pair<Iterable<com.sap.sailing.domain.base.Competitor>, BoatClass> getCompetitorsAndDominantBoatClass(IRace race);
|
||||
|
||||
|
||||
+1
-1
@@ -585,7 +585,7 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Util.Pair<Competitor, Boat>> getBoatsInfoForCompetitors(IRace race, BoatClass defaultBoatClass) {
|
||||
public List<Util.Pair<Competitor, Boat>> getBoatsInfoForCompetitors(IRace race, BoatClass defaultBoatClass) {
|
||||
final List<Util.Pair<Competitor, Boat>> competitorBoatInfos = new ArrayList<>();
|
||||
for (IRaceCompetitor rc : race.getRaceCompetitors()) {
|
||||
Util.Triple<String, String, String> competitorBoatInfo = getMetadataParser().parseCompetitorBoat(rc);
|
||||
|
||||
+6
-1
@@ -157,12 +157,17 @@ public class RaceCourseReceiver extends AbstractReceiverWithQueue<IControlRoute,
|
||||
logger.log(Level.INFO, "Received course for non-existing race "+tractracRace.getName()+". Creating RaceDefinition.");
|
||||
// create race definition and add to event
|
||||
com.sap.sse.common.Util.Pair<Iterable<Competitor>, BoatClass> competitorsAndDominantBoatClass = getDomainFactory().getCompetitorsAndDominantBoatClass(tractracRace);
|
||||
Iterable<Pair<Competitor, Boat>> boatsInfoForCompetitors = getDomainFactory().getBoatsInfoForCompetitors(tractracRace, competitorsAndDominantBoatClass.getB());
|
||||
trackedRace = getDomainFactory().getOrCreateRaceDefinitionAndTrackedRace(
|
||||
getTrackedRegatta(), tractracRace.getId(), tractracRace.getName(), competitorsAndDominantBoatClass.getA(),
|
||||
competitorsAndDominantBoatClass.getB(), course, sidelines, windStore, delayToLiveInMillis,
|
||||
millisecondsOverWhichToAverageWind, raceDefinitionSetToUpdate, tracTracUpdateURI,
|
||||
getTracTracEvent().getId(), tracTracUsername, tracTracPassword, useInternalMarkPassingAlgorithm, raceLogResolver);
|
||||
List<Pair<Competitor, Boat>> boatsInfoForCompetitors = getDomainFactory().getBoatsInfoForCompetitors(tractracRace, competitorsAndDominantBoatClass.getB());
|
||||
if(boatsInfoForCompetitors != null) {
|
||||
for(Pair<Competitor, Boat> competitorAndBoat: boatsInfoForCompetitors) {
|
||||
trackedRace.setBoatForCompetitor(competitorAndBoat.getA(), competitorAndBoat.getB());
|
||||
}
|
||||
}
|
||||
needToUpdateRaceTimes = true;
|
||||
if (getSimulator() != null) {
|
||||
getSimulator().setTrackedRace(trackedRace);
|
||||
|
||||
Reference in new issue
Block a user