mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-11 13:22:43 +00:00
- Implemented the new RaceDefinition constructor which only works with a Map<Competitor,Boat> instead Iterable<Competitor>
- Adapted the creation of competitors and boats for all tracking providers - Adapted all tests
This commit is contained in:
1 parent
07f4f27a40
commit
c41346d21c
48 files changed
+565
-349
No files matched your search
+10
-3
@@ -9,9 +9,13 @@ import static org.junit.Assert.assertTrue;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.CompetitorStore;
|
||||
import com.sap.sailing.domain.base.DomainFactory;
|
||||
@@ -80,17 +84,20 @@ public class CompetitorReplicationTest extends AbstractServerReplicationTest {
|
||||
Iterable<Waypoint> emptyWaypointList = Collections.emptyList();
|
||||
final String competitorName = "Der mit dem Kiel zieht";
|
||||
final String competitorShortName = "DK";
|
||||
final BoatClass boatClass = new BoatClassImpl("505", /* typicallyStartsUpwind */true);
|
||||
Competitor competitor = master.getBaseDomainFactory().getOrCreateCompetitor(
|
||||
123, competitorName, competitorShortName, Color.RED, "someone@nowhere.de", flagImageURI,
|
||||
new TeamImpl("STG", Collections.singleton(new PersonImpl(competitorName, new NationalityImpl("GER"),
|
||||
/* dateOfBirth */null, "This is famous " + competitorName)), new PersonImpl("Rigo van Maas",
|
||||
new NationalityImpl("NED"),
|
||||
/* dateOfBirth */null, "This is Rigo, the coach")),
|
||||
new BoatImpl("123", competitorName + "'s boat", new BoatClassImpl("505", /* typicallyStartsUpwind */true), /* sailID */ null), /* timeOnTimeFactor */ null, /* timeOnDistanceAllowanceInSecondsPerNauticalMile */ null, null);
|
||||
Iterable<Competitor> competitors = Collections.singleton(competitor);
|
||||
new BoatImpl("123", competitorName + "'s boat", boatClass, /* sailID */ null), /* timeOnTimeFactor */ null, /* timeOnDistanceAllowanceInSecondsPerNauticalMile */ null, null);
|
||||
Boat boat = new BoatImpl(competitor.getId(), competitorName + "'s boat", boatClass, /* sailID */ null);
|
||||
Map<Competitor,Boat> competitorsAndBoats = new HashMap<>();
|
||||
competitorsAndBoats.put(competitor, boat);
|
||||
final String raceName = "Test Race";
|
||||
RaceDefinition raceDefinition = new RaceDefinitionImpl(raceName, new CourseImpl("Empty Course", emptyWaypointList),
|
||||
masterRegatta.getBoatClass(), competitors);
|
||||
masterRegatta.getBoatClass(), competitorsAndBoats);
|
||||
master.apply(new AddRaceDefinition(masterRegatta.getRegattaIdentifier(), raceDefinition));
|
||||
Thread.sleep(1000);
|
||||
Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName()));
|
||||
|
||||
+7
-4
@@ -11,9 +11,11 @@ import static org.junit.Assert.assertTrue;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
@@ -25,6 +27,7 @@ import com.sap.sailing.domain.abstractlog.race.RaceLog;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.impl.RaceLogWindFixEventImpl;
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.DomainFactory;
|
||||
@@ -131,7 +134,7 @@ public class InitialLoadReplicationObjectIdentityTest extends AbstractServerRepl
|
||||
|
||||
/* RaceDefinition and DynamicTrackedRace */
|
||||
RaceDefinition masterRace = new RaceDefinitionImpl("Test Race", new CourseImpl("Test Course", Collections.<Waypoint>emptyList()),
|
||||
masterRegatta.getBoatClass(), Collections.<Competitor>emptyList());
|
||||
masterRegatta.getBoatClass(), Collections.<Competitor,Boat>emptyMap());
|
||||
masterRegatta.addRace(masterRace);
|
||||
DynamicTrackedRace masterTrackedRace = master.createTrackedRace(new RegattaNameAndRaceName(masterRegatta.getName(), masterRace.getName()),
|
||||
master.getWindStore(), /* delayToLiveInMillis */ 3000,
|
||||
@@ -252,10 +255,10 @@ public class InitialLoadReplicationObjectIdentityTest extends AbstractServerRepl
|
||||
Regatta regatta = master.apply(addEventOperation);
|
||||
final String raceName1 = "Test Race 1";
|
||||
final String raceName2 = "Test Race 2";
|
||||
Competitor competitor = TrackBasedTest.createCompetitor("The Same Competitor");
|
||||
Pair<Competitor, Boat> competitorAndBoat = TrackBasedTest.createCompetitorAndBoat("The Same Competitor");
|
||||
final CourseImpl masterCourse = new CourseImpl("Test Course", new ArrayList<Waypoint>());
|
||||
final ArrayList<Competitor> competitors = new ArrayList<Competitor>();
|
||||
competitors.add(competitor);
|
||||
final Map<Competitor,Boat> competitors = new HashMap<>();
|
||||
competitors.put(competitorAndBoat.getA(), competitorAndBoat.getB());
|
||||
RaceDefinition race1 = new RaceDefinitionImpl(raceName1, masterCourse, boatClass, competitors);
|
||||
AddRaceDefinition addRaceOperation1 = new AddRaceDefinition(new RegattaName(regatta.getName()), race1);
|
||||
master.apply(addRaceOperation1);
|
||||
|
||||
+4
-2
@@ -11,6 +11,7 @@ import com.sap.sailing.domain.abstractlog.regatta.RegattaLog;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.RegattaLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.RegattaLogEventVisitor;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogRegisterCompetitorEventImpl;
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.base.impl.RegattaImpl;
|
||||
@@ -18,6 +19,7 @@ import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.domain.test.TrackBasedTest;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
public class RegattaLogReplicationTest extends
|
||||
@@ -33,8 +35,8 @@ public class RegattaLogReplicationTest extends
|
||||
|
||||
@Before
|
||||
public void createEvent() throws Exception {
|
||||
final Competitor competitor = TrackBasedTest.createCompetitor("Test Competitor");
|
||||
regattaLogEvent = new RegattaLogRegisterCompetitorEventImpl(t(0), t(0), author, 0, competitor);
|
||||
final Pair<Competitor, Boat> competitorAndBoat = TrackBasedTest.createCompetitorAndBoat("Test Competitor");
|
||||
regattaLogEvent = new RegattaLogRegisterCompetitorEventImpl(t(0), t(0), author, 0, competitorAndBoat.getA());
|
||||
// anotherRegattaLogEvent = new RegattaLogRegisterCompetitorEventImpl(t(1), author, t(1), 1, null);
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -8,10 +8,12 @@ import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Course;
|
||||
@@ -92,8 +94,7 @@ public class ServerReplicationTest extends AbstractServerReplicationTest {
|
||||
Regatta regatta = master.apply(addRegattaOperation);
|
||||
final String raceName = "Test Race";
|
||||
final CourseImpl masterCourse = new CourseImpl("Test Course", new ArrayList<Waypoint>());
|
||||
RaceDefinition race = new RaceDefinitionImpl(raceName, masterCourse, boatClass,
|
||||
new ArrayList<Competitor>());
|
||||
RaceDefinition race = new RaceDefinitionImpl(raceName, masterCourse, boatClass, Collections.<Competitor,Boat>emptyMap());
|
||||
AddRaceDefinition addRaceOperation = new AddRaceDefinition(new RegattaName(regatta.getName()), race);
|
||||
master.apply(addRaceOperation);
|
||||
masterCourse.addWaypoint(0, masterDomainFactory.createWaypoint(masterDomainFactory.getOrCreateMark("Mark1"), /*passingInstruction*/ null));
|
||||
|
||||
+8
-2
@@ -7,14 +7,16 @@ import static org.junit.Assert.assertNotSame;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.mongodb.MongoException;
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.DomainFactory;
|
||||
@@ -77,13 +79,17 @@ public class TrackedRaceContentsReplicationTest extends AbstractServerReplicatio
|
||||
new PersonImpl("Rigo de Mas", masterDomainFactory.getOrCreateNationality("NED"), null, null)),
|
||||
new BoatImpl("123", "GER 61", masterDomainFactory.getOrCreateBoatClass("470", /* typicallyStartsUpwind */ true), "GER 61"),
|
||||
/* timeOnTimeFactor */ null, /* timeOnDistanceAllowanceInSecondsPerNauticalMile */ null, null);
|
||||
Boat boat = masterDomainFactory.getCompetitorStore().getOrCreateBoat(competitor, "boat123",
|
||||
masterDomainFactory.getOrCreateBoatClass("470", /* typicallyStartsUpwind */ true), "GER 61", null);
|
||||
Map<Competitor, Boat> competitorAndBoats = new HashMap<>();
|
||||
competitorAndBoats.put(competitor, boat);
|
||||
final String baseEventName = "Test Event";
|
||||
AddDefaultRegatta addEventOperation = new AddDefaultRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName), boatClassName,
|
||||
/*startDate*/ null, /*endDate*/ null, UUID.randomUUID());
|
||||
Regatta regatta = master.apply(addEventOperation);
|
||||
final String raceName = "Test Race";
|
||||
final CourseImpl masterCourse = new CourseImpl("Test Course", new ArrayList<Waypoint>());
|
||||
RaceDefinition race = new RaceDefinitionImpl(raceName, masterCourse, boatClass, Collections.singletonList(competitor));
|
||||
RaceDefinition race = new RaceDefinitionImpl(raceName, masterCourse, boatClass, competitorAndBoats);
|
||||
AddRaceDefinition addRaceOperation = new AddRaceDefinition(new RegattaName(regatta.getName()), race);
|
||||
master.apply(addRaceOperation);
|
||||
masterCourse.addWaypoint(0, masterDomainFactory.createWaypoint(masterDomainFactory.getOrCreateMark("Mark1"), /*passingInstruction*/ null));
|
||||
|
||||
+10
-3
@@ -7,13 +7,15 @@ import static org.junit.Assert.assertNotSame;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.DomainFactory;
|
||||
@@ -37,6 +39,7 @@ import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.common.tracking.impl.GPSFixMovingImpl;
|
||||
import com.sap.sailing.domain.persistence.MongoWindStoreFactory;
|
||||
import com.sap.sailing.domain.persistence.PersistenceFactory;
|
||||
import com.sap.sailing.domain.racelog.tracking.GPSFixStore;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrackedRegatta;
|
||||
import com.sap.sailing.domain.tracking.GPSFixTrack;
|
||||
@@ -74,19 +77,23 @@ public class TrackedRaceWithGPSFixStoreContentsReplicationTest extends AbstractS
|
||||
final String boatClassName = "49er";
|
||||
final DomainFactory masterDomainFactory = testSetUp.getMaster().getBaseDomainFactory();
|
||||
BoatClass boatClass = masterDomainFactory.getOrCreateBoatClass(boatClassName, /* typicallyStartsUpwind */true);
|
||||
BoatClass boatClass470 = DomainFactory.INSTANCE.getOrCreateBoatClass("470", /* typicallyStartsUpwind */ true);
|
||||
competitor = masterDomainFactory.getCompetitorStore().getOrCreateCompetitor("GER 61", "Tina Lutz", "TL", Color.RED, "someone@nowhere.de", null, new TeamImpl("Tina Lutz + Susann Beucke",
|
||||
(List<PersonImpl>) Arrays.asList(new PersonImpl[] { new PersonImpl("Tina Lutz", DomainFactory.INSTANCE.getOrCreateNationality("GER"), null, null),
|
||||
new PersonImpl("Tina Lutz", DomainFactory.INSTANCE.getOrCreateNationality("GER"), null, null) }),
|
||||
new PersonImpl("Rigo de Mas", DomainFactory.INSTANCE.getOrCreateNationality("NED"), null, null)),
|
||||
new BoatImpl("123", "GER 61", DomainFactory.INSTANCE.getOrCreateBoatClass("470", /* typicallyStartsUpwind */ true), "GER 61"),
|
||||
new BoatImpl("123", "GER 61", boatClass470, "GER 61"),
|
||||
/* timeOnTimeFactor */ null, /* timeOnDistanceAllowanceInSecondsPerNauticalMile */ null, null);
|
||||
Boat boat = masterDomainFactory.getCompetitorStore().getOrCreateBoat(competitor, "GER 61", boatClass470, "GER 61", null);
|
||||
final String baseEventName = "Test Event";
|
||||
AddDefaultRegatta addEventOperation = new AddDefaultRegatta(RegattaImpl.getDefaultName(baseEventName, boatClassName), boatClassName,
|
||||
/*startDate*/ null, /*endDate*/ null, UUID.randomUUID());
|
||||
Regatta regatta = master.apply(addEventOperation);
|
||||
final String raceName = "Test Race";
|
||||
final CourseImpl masterCourse = new CourseImpl("Test Course", new ArrayList<Waypoint>());
|
||||
RaceDefinition race = new RaceDefinitionImpl(raceName, masterCourse, boatClass, Collections.singletonList(competitor));
|
||||
final Map<Competitor,Boat> competitorsAndBoats = new HashMap<>();
|
||||
competitorsAndBoats.put(competitor, boat);
|
||||
RaceDefinition race = new RaceDefinitionImpl(raceName, masterCourse, boatClass, competitorsAndBoats);
|
||||
AddRaceDefinition addRaceOperation = new AddRaceDefinition(new RegattaName(regatta.getName()), race);
|
||||
master.apply(addRaceOperation);
|
||||
masterCourse.addWaypoint(0, masterDomainFactory.createWaypoint(masterDomainFactory.getOrCreateMark("Mark1"), /*passingInstruction*/ null));
|
||||
|
||||
Reference in new issue
Block a user