diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java index f477aef5bcd..22eb764effd 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java @@ -4,7 +4,6 @@ import java.util.Map; import com.mongodb.DBObject; import com.sap.sailing.domain.base.Event; -import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RegattaRegistry; @@ -13,8 +12,8 @@ import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; import com.sap.sailing.domain.leaderboard.LeaderboardRegistry; -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; import com.sap.sailing.domain.racelog.RaceLog; +import com.sap.sailing.domain.racelog.RaceLogIdentifier; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.domain.tracking.WindTrack; @@ -86,5 +85,5 @@ public interface DomainObjectFactory { Map loadRaceIDToRegattaAssociations(RegattaRegistry regattaRegistry); - RaceLog loadRaceLog(RaceColumnIdentifier identifier, Fleet fleet); + RaceLog loadRaceLog(RaceLogIdentifier identifier); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoRaceLogStoreFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoRaceLogStoreFactory.java index 443d07c4238..1d160306c70 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoRaceLogStoreFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoRaceLogStoreFactory.java @@ -1,7 +1,6 @@ package com.sap.sailing.domain.persistence; import com.sap.sailing.domain.persistence.impl.MongoRaceLogStoreFactoryImpl; -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; import com.sap.sailing.mongodb.MongoDBService; public interface MongoRaceLogStoreFactory { @@ -11,8 +10,5 @@ public interface MongoRaceLogStoreFactory { * Gets the default Mongo store based on the properties mongo.hostname[=localhost], mongo.port[=27017] * and mongo.dbName[=<contents of constant {@link #DEFAULT_DB_NAME}>] specified in the bundle context */ - MongoRaceLogStore getMongoRaceLogStore(MongoObjectFactory mongoObjectFactory, DomainObjectFactory domainObjectFactory, - RaceColumnIdentifier raceColumnIdentifier); - MongoRaceLogStore getMongoRaceLogStore(MongoObjectFactory mongoObjectFactory, DomainObjectFactory domainObjectFactory); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index cbef29ffab3..add811a0656 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -73,18 +73,15 @@ import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.leaderboard.meta.LeaderboardGroupMetaLeaderboard; import com.sap.sailing.domain.persistence.DomainObjectFactory; -import com.sap.sailing.domain.persistence.MongoFactory; -import com.sap.sailing.domain.persistence.MongoRaceLogStoreFactory; import com.sap.sailing.domain.racelog.Flags; -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; import com.sap.sailing.domain.racelog.RaceLog; import com.sap.sailing.domain.racelog.RaceLogEvent; import com.sap.sailing.domain.racelog.RaceLogEventFactory; import com.sap.sailing.domain.racelog.RaceLogFlagEvent; +import com.sap.sailing.domain.racelog.RaceLogIdentifier; import com.sap.sailing.domain.racelog.RaceLogRaceStatus; import com.sap.sailing.domain.racelog.RaceLogRaceStatusEvent; import com.sap.sailing.domain.racelog.RaceLogStartTimeEvent; -import com.sap.sailing.domain.racelog.impl.RaceColumnIdentifierImpl; import com.sap.sailing.domain.racelog.impl.RaceLogImpl; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.domain.tracking.Wind; @@ -364,12 +361,9 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { fleets.add(result.getFleet(null)); } String columnName = (String) dbRaceColumn.get(FieldNames.LEADERBOARD_COLUMN_NAME.name()); - RaceColumnIdentifier columnIdentifier = new RaceColumnIdentifierImpl(result.getName(), columnName); RaceColumn raceColumn = result.addRaceColumn(columnName, (Boolean) dbRaceColumn.get(FieldNames.LEADERBOARD_IS_MEDAL_RACE_COLUMN.name()), - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(MongoFactory.INSTANCE.getDefaultMongoObjectFactory(), - MongoFactory.INSTANCE.getDefaultDomainObjectFactory(), columnIdentifier), fleets.toArray(new Fleet[0])); for (Map.Entry e : raceIdentifiers.entrySet()) { raceColumn.setRaceIdentifier(fleetsByName.get(e.getKey()), e.getValue()); @@ -828,9 +822,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { Map fleetsByName = loadFleets(dbFleets); BasicDBList dbRaceColumns = (BasicDBList) dbSeries.get(FieldNames.SERIES_RACE_COLUMNS.name()); Iterable raceColumnNames = loadRaceColumnNames(dbRaceColumns, fleetsByName); - Series series = new SeriesImpl(name, isMedal, fleetsByName.values(), raceColumnNames, trackedRegattaRegistry, - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore( - MongoFactory.INSTANCE.getDefaultMongoObjectFactory(), this)); + Series series = new SeriesImpl(name, isMedal, fleetsByName.values(), raceColumnNames, trackedRegattaRegistry); loadRaceColumnRaceLinks(dbRaceColumns, series); return series; } @@ -910,12 +902,11 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } @Override - public RaceLog loadRaceLog(RaceColumnIdentifier identifier, Fleet fleet) { + public RaceLog loadRaceLog(RaceLogIdentifier identifier) { RaceLog result = new RaceLogImpl(RaceLogImpl.class.getSimpleName()); try { BasicDBObject query = new BasicDBObject(); - query.put(FieldNames.RACE_COLUMN_IDENTIFIER.name(), identifier.getIdentifier()); - query.put(FieldNames.FLEET_NAME.name(), fleet.getName()); + query.put(FieldNames.RACE_LOG_IDENTIFIER.name(), identifier.getIdentifier()); DBCollection raceLog = database.getCollection(CollectionNames.RACE_LOGS.name()); for (DBObject o : raceLog.find(query)) { RaceLogEvent raceLogEvent = loadRaceLogEvent((DBObject) o.get(FieldNames.RACE_LOG_EVENT.name())); diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java index e5660ce6d48..1b7dda15b7f 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java @@ -65,7 +65,7 @@ public enum FieldNames { RACE_ID_AS_STRING, // race log - RACE_COLUMN_IDENTIFIER, + RACE_LOG_IDENTIFIER, RACE_LOG_EVENT, RACE_LOG_EVENT_PASS_ID, RACE_LOG_EVENT_ID, RACE_LOG_EVENT_INVOLVED_BOATS, RACE_LOG_EVENT_FLAG_UPPER, RACE_LOG_EVENT_FLAG_LOWER, RACE_LOG_EVENT_FLAG_DISPLAYED, RACE_LOG_EVENT_START_TIME, RACE_LOG_EVENT_CLASS, RACE_LOG_EVENT_NEXT_STATUS; } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index 0b4e16acb6b..d8641ac4ca7 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -37,9 +37,9 @@ import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; import com.sap.sailing.domain.persistence.MongoObjectFactory; -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; import com.sap.sailing.domain.racelog.RaceLogEvent; import com.sap.sailing.domain.racelog.RaceLogFlagEvent; +import com.sap.sailing.domain.racelog.RaceLogIdentifier; import com.sap.sailing.domain.racelog.RaceLogStartTimeEvent; import com.sap.sailing.domain.tracking.Positioned; import com.sap.sailing.domain.tracking.TrackedRace; @@ -478,31 +478,26 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { public DBCollection getRaceLogCollection() { DBCollection result = database.getCollection(CollectionNames.RACE_LOGS.name()); - result.ensureIndex(new BasicDBObject(FieldNames.RACE_COLUMN_IDENTIFIER.name(), null)); + result.ensureIndex(new BasicDBObject(FieldNames.RACE_LOG_IDENTIFIER.name(), null)); return result; } - public DBObject storeRaceLogEntry(RaceColumnIdentifier raceColumnIdentifier, Fleet fleet, RaceLogFlagEvent flagEvent) { + public DBObject storeRaceLogEntry(RaceLogIdentifier raceLogIdentifier, RaceLogFlagEvent flagEvent) { BasicDBObject result = new BasicDBObject(); - storeRaceColumnIdentifierAndFleetName(raceColumnIdentifier, fleet, result); + result.put(FieldNames.RACE_LOG_IDENTIFIER.name(), raceLogIdentifier.getIdentifier()); result.put(FieldNames.RACE_LOG_EVENT.name(), storeRaceLogFlagEvent(flagEvent)); return result; } - public DBObject storeRaceLogEntry(RaceColumnIdentifier raceColumnIdentifier, Fleet fleet, RaceLogStartTimeEvent startTimeEvent) { + public DBObject storeRaceLogEntry(RaceLogIdentifier raceLogIdentifier, RaceLogStartTimeEvent startTimeEvent) { BasicDBObject result = new BasicDBObject(); - storeRaceColumnIdentifierAndFleetName(raceColumnIdentifier, fleet, result); + result.put(FieldNames.RACE_LOG_IDENTIFIER.name(), raceLogIdentifier.getIdentifier()); result.put(FieldNames.RACE_LOG_EVENT.name(), storeRaceLogStartTimeEvent(startTimeEvent)); return result; } - private void storeRaceColumnIdentifierAndFleetName(RaceColumnIdentifier raceColumnIdentifier, Fleet fleet, BasicDBObject result) { - result.put(FieldNames.RACE_COLUMN_IDENTIFIER.name(), raceColumnIdentifier.getIdentifier()); - result.put(FieldNames.FLEET_NAME.name(), fleet.getName()); - } - private Object storeRaceLogStartTimeEvent(RaceLogStartTimeEvent startTimeEvent) { DBObject result = new BasicDBObject(); storeTimed(startTimeEvent, result); diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogListener.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogListener.java index 5a57c39448e..60bac393996 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogListener.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogListener.java @@ -3,35 +3,31 @@ package com.sap.sailing.domain.persistence.impl; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; -import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.persistence.MongoObjectFactory; -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; import com.sap.sailing.domain.racelog.RaceLogCourseAreaChangedEvent; import com.sap.sailing.domain.racelog.RaceLogEventVisitor; import com.sap.sailing.domain.racelog.RaceLogFlagEvent; +import com.sap.sailing.domain.racelog.RaceLogIdentifier; import com.sap.sailing.domain.racelog.RaceLogPassChangeEvent; import com.sap.sailing.domain.racelog.RaceLogRaceStatusEvent; import com.sap.sailing.domain.racelog.RaceLogStartTimeEvent; public class MongoRaceLogListener implements RaceLogEventVisitor { - private final RaceColumnIdentifier raceColumnIdentifier; - private final Fleet fleet; + private final RaceLogIdentifier raceLogIdentifier; private final MongoObjectFactoryImpl mongoObjectFactory; private final DBCollection raceLogsCollection; - public MongoRaceLogListener(RaceColumnIdentifier identifier, Fleet fleet, - MongoObjectFactory mongoObjectFactory, DB database) { + public MongoRaceLogListener(RaceLogIdentifier identifier, MongoObjectFactory mongoObjectFactory, DB database) { super(); - this.raceColumnIdentifier = identifier; + this.raceLogIdentifier = identifier; this.mongoObjectFactory = (MongoObjectFactoryImpl) mongoObjectFactory; this.raceLogsCollection = this.mongoObjectFactory.getRaceLogCollection(); - this.fleet = fleet; } @Override public void visit(RaceLogFlagEvent event) { - DBObject flagEventTrackEntry = mongoObjectFactory.storeRaceLogEntry(raceColumnIdentifier, fleet, event); + DBObject flagEventTrackEntry = mongoObjectFactory.storeRaceLogEntry(raceLogIdentifier, event); raceLogsCollection.insert(flagEventTrackEntry); } @@ -47,7 +43,7 @@ public class MongoRaceLogListener implements RaceLogEventVisitor { @Override public void visit(RaceLogStartTimeEvent event) { - DBObject startTimeEventTrackEntry = mongoObjectFactory.storeRaceLogEntry(raceColumnIdentifier, fleet, event); + DBObject startTimeEventTrackEntry = mongoObjectFactory.storeRaceLogEntry(raceLogIdentifier, event); raceLogsCollection.insert(startTimeEventTrackEntry); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreFactoryImpl.java index 82a2c437be9..8112eea341d 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreFactoryImpl.java @@ -5,7 +5,6 @@ import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; import com.sap.sailing.domain.persistence.MongoRaceLogStore; import com.sap.sailing.domain.persistence.MongoRaceLogStoreFactory; -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; public class MongoRaceLogStoreFactoryImpl implements MongoRaceLogStoreFactory { private final DB db; @@ -14,15 +13,9 @@ public class MongoRaceLogStoreFactoryImpl implements MongoRaceLogStoreFactory { this.db = db; } - @Override - public MongoRaceLogStore getMongoRaceLogStore(MongoObjectFactory mongoObjectFactory,DomainObjectFactory domainObjectFactory, - RaceColumnIdentifier raceColumnIdentifier) { - return new MongoRaceLogStoreImpl(db, mongoObjectFactory, domainObjectFactory, raceColumnIdentifier); - } - @Override public MongoRaceLogStore getMongoRaceLogStore(MongoObjectFactory mongoObjectFactory, DomainObjectFactory domainObjectFactory) { - return new MongoRaceLogStoreImpl(db, mongoObjectFactory, domainObjectFactory, null); + return new MongoRaceLogStoreImpl(db, mongoObjectFactory, domainObjectFactory); } } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreImpl.java index e0995c24f85..5756203bf70 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoRaceLogStoreImpl.java @@ -4,47 +4,31 @@ import java.util.HashMap; import java.util.Map; import com.mongodb.DB; -import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; import com.sap.sailing.domain.persistence.MongoRaceLogStore; -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; import com.sap.sailing.domain.racelog.RaceLog; +import com.sap.sailing.domain.racelog.RaceLogIdentifier; import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; public class MongoRaceLogStoreImpl extends EmptyRaceLogStore implements MongoRaceLogStore { private transient final DB db; private final MongoObjectFactory mongoObjectFactory; private final DomainObjectFactory domainObjectFactory; - private final RaceColumnIdentifier identifier; - private final Map raceLogCache; + private final Map raceLogCache; - public MongoRaceLogStoreImpl(DB db, MongoObjectFactory mongoObjectFactory, DomainObjectFactory domainObjectFactory, - RaceColumnIdentifier identifier) { + public MongoRaceLogStoreImpl(DB db, MongoObjectFactory mongoObjectFactory, DomainObjectFactory domainObjectFactory) { this.db = db; this.mongoObjectFactory = mongoObjectFactory; this.domainObjectFactory = domainObjectFactory; - this.identifier = identifier; - this.raceLogCache = new HashMap(); - } - - @Override - public RaceLog getRaceLog(Fleet fleet) { - return getRaceLog(identifier, fleet); + this.raceLogCache = new HashMap(); } @Override - public RaceLog getRaceLog(RaceColumnIdentifier identifier, Fleet fleet) { - if (identifier == null) - return null; + public RaceLog getRaceLog(RaceLogIdentifier identifier) { RaceLog log; - if (!raceLogCache.containsKey(fleet)) { - log = domainObjectFactory.loadRaceLog(identifier, fleet); - log.addListener(new MongoRaceLogListener(identifier, fleet, mongoObjectFactory, db)); - raceLogCache.put(fleet, log); - } else { - log = raceLogCache.get(fleet); - } + log = domainObjectFactory.loadRaceLog(identifier); + log.addListener(new MongoRaceLogListener(identifier, mongoObjectFactory, db)); return log; } diff --git a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/EndToEndListeningStoreAndFowardTest.java b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/EndToEndListeningStoreAndFowardTest.java index b9261975b7b..9c916ff2f7a 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/EndToEndListeningStoreAndFowardTest.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/EndToEndListeningStoreAndFowardTest.java @@ -28,7 +28,6 @@ import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.common.impl.Util; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.swisstimingadapter.MessageType; import com.sap.sailing.domain.swisstimingadapter.SailMasterConnector; import com.sap.sailing.domain.swisstimingadapter.SailMasterTransceiver; @@ -337,7 +336,7 @@ public class EndToEndListeningStoreAndFowardTest { for (String raceToTrack : racesToTrack) { RacesHandle raceHandle = racingEventService.addSwissTimingRace(/* regattaToAddTo */ null /* use a default regatta */, raceToTrack, "localhost", /* canSendRequests */ - CLIENT_PORT, false, emptyWindStore, -1, EmptyRaceLogStore.INSTANCE); + CLIENT_PORT, false, emptyWindStore, -1); raceHandles.add(raceHandle); if (connector == null) { connector = racingEventService.getSwissTimingFactory().getOrCreateSailMasterConnector("localhost", diff --git a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SimpleDomainFactoryTest.java b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SimpleDomainFactoryTest.java index ca17e50ab4e..1d554cc4167 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SimpleDomainFactoryTest.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SimpleDomainFactoryTest.java @@ -17,7 +17,6 @@ import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.common.ScoringSchemeType; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.swisstimingadapter.Competitor; import com.sap.sailing.domain.swisstimingadapter.Course; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; @@ -42,7 +41,7 @@ public class SimpleDomainFactoryTest { DomainFactory domainFactory = DomainFactory.INSTANCE; final String raceID = "SAX920103"; RaceDefinition raceDefinition = domainFactory.createRaceDefinition(domainFactory.getOrCreateDefaultRegatta(raceID, - new RacingEventServiceImpl(), EmptyRaceLogStore.INSTANCE), + new RacingEventServiceImpl()), new Race() { @Override public String getDescription() { @@ -93,8 +92,7 @@ public class SimpleDomainFactoryTest { public void testCourseConfigForMark() throws PatchFailedException { DomainFactory domainFactory = DomainFactory.INSTANCE; Regatta regatta = new RegattaImpl("TestEvent", /* boatClass */ null, new RacingEventServiceImpl(), - com.sap.sailing.domain.base.DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), "123", - EmptyRaceLogStore.INSTANCE); + com.sap.sailing.domain.base.DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), "123"); Race race = new RaceImpl("1234", "Race 1234"); Iterable competitors = Collections.emptyList(); StartList startList = new StartListImpl("1234", competitors); @@ -119,8 +117,7 @@ public class SimpleDomainFactoryTest { public void testCourseConfigForGate() throws PatchFailedException { DomainFactory domainFactory = DomainFactory.INSTANCE; Regatta regatta = new RegattaImpl("TestEvent", /* boatClass */ null, new RacingEventServiceImpl(), - com.sap.sailing.domain.base.DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), "123", - EmptyRaceLogStore.INSTANCE); + com.sap.sailing.domain.base.DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), "123"); Race race = new RaceImpl("1234", "Race 1234"); Iterable competitors = Collections.emptyList(); StartList startList = new StartListImpl("1234", competitors); diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java index d16b0620cd3..f6327ec4822 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java @@ -11,7 +11,6 @@ import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.common.TimePoint; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.swisstimingadapter.impl.DomainFactoryImpl; import com.sap.sailing.domain.tracking.GPSFixMoving; import com.sap.sailing.domain.tracking.MarkPassing; @@ -26,7 +25,7 @@ public interface DomainFactory { com.sap.sailing.domain.base.DomainFactory getBaseDomainFactory(); - Regatta getOrCreateDefaultRegatta(String raceID, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore); + Regatta getOrCreateDefaultRegatta(String raceID, TrackedRegattaRegistry trackedRegattaRegistry); Nationality getOrCreateNationality(String threeLetterIOCCode); @@ -51,7 +50,7 @@ public interface DomainFactory { RaceTrackingConnectivityParameters createTrackingConnectivityParameters(String hostname, int port, String raceID, boolean canSendRequests, long delayToLiveInMillis, SwissTimingFactory swissTimingFactory, DomainFactory domainFactory, WindStore windStore, - RaceSpecificMessageLoader messageLoader, RaceLogStore raceLogStore); + RaceSpecificMessageLoader messageLoader); BoatClass getOrCreateBoatClassFromRaceID(String raceID); diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java index 86faebeb11b..7705e87a902 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java @@ -6,7 +6,6 @@ import java.text.ParseException; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.TimePoint; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.swisstimingadapter.impl.SwissTimingFactoryImpl; import com.sap.sailing.domain.tracking.RaceTracker; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; @@ -52,8 +51,7 @@ public interface SwissTimingFactory { SwissTimingConfiguration createSwissTimingConfiguration(String name, String hostname, int port, boolean canSendRequests); - SwissTimingRaceTracker createRaceTracker(String raceID, String hostname, int port, boolean canSendRequests, long delayToLiveInMillis, WindStore windStore, RaceSpecificMessageLoader messageLoader, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry, - RaceLogStore raceLogStore) throws InterruptedException, UnknownHostException, IOException, ParseException; + SwissTimingRaceTracker createRaceTracker(String raceID, String hostname, int port, boolean canSendRequests, long delayToLiveInMillis, WindStore windStore, RaceSpecificMessageLoader messageLoader, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry) throws InterruptedException, UnknownHostException, IOException, ParseException; RaceTracker createRaceTracker(Regatta regatta, String raceID, String hostname, int port, boolean canSendRequests, long delayToLiveInMillis, WindStore windStore, RaceSpecificMessageLoader messageLoader, DomainFactory domainFactory, diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java index 4be43821ba7..4833fe1a2c4 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java @@ -30,7 +30,6 @@ import com.sap.sailing.domain.common.ScoringSchemeType; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Pair; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.swisstimingadapter.Course; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; import com.sap.sailing.domain.swisstimingadapter.Fix; @@ -99,14 +98,14 @@ public class DomainFactoryImpl implements DomainFactory { } @Override - public Regatta getOrCreateDefaultRegatta(String raceID, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore) { + public Regatta getOrCreateDefaultRegatta(String raceID, TrackedRegattaRegistry trackedRegattaRegistry) { Regatta result = trackedRegattaRegistry.getRememberedRegattaForRace(raceID); if (result == null) { result = raceIDToRegattaCache.get(raceID); } if (result == null) { result = new RegattaImpl(raceID, getOrCreateBoatClassFromRaceID(raceID), trackedRegattaRegistry, - getBaseDomainFactory().createScoringScheme(ScoringSchemeType.LOW_POINT), raceID, raceLogStore); + getBaseDomainFactory().createScoringScheme(ScoringSchemeType.LOW_POINT), raceID); logger.info("Created regatta "+result.getName()+" ("+result.hashCode()+")"); raceIDToRegattaCache.put(raceID, result); } @@ -309,9 +308,9 @@ public class DomainFactoryImpl implements DomainFactory { public RaceTrackingConnectivityParameters createTrackingConnectivityParameters(String hostname, int port, String raceID, boolean canSendRequests, long delayToLiveInMillis, SwissTimingFactory swissTimingFactory, DomainFactory domainFactory, WindStore windStore, - RaceSpecificMessageLoader messageLoader, RaceLogStore raceLogStore) { + RaceSpecificMessageLoader messageLoader) { return new SwissTimingTrackingConnectivityParameters(hostname, port, raceID, canSendRequests, delayToLiveInMillis, - swissTimingFactory, domainFactory, windStore, messageLoader, raceLogStore); + swissTimingFactory, domainFactory, windStore, messageLoader); } } diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java index f3ab4ba6eca..82cacd70241 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java @@ -9,7 +9,6 @@ import java.util.Map; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util.Triple; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; import com.sap.sailing.domain.swisstimingadapter.Race; import com.sap.sailing.domain.swisstimingadapter.RaceSpecificMessageLoader; @@ -81,10 +80,10 @@ public class SwissTimingFactoryImpl implements SwissTimingFactory { @Override public SwissTimingRaceTracker createRaceTracker(String raceID, String hostname, int port, boolean canSendRequests, long delayToLiveInMillis, WindStore windStore, RaceSpecificMessageLoader messageLoader, DomainFactory domainFactory, - TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore) throws InterruptedException, UnknownHostException, IOException, + TrackedRegattaRegistry trackedRegattaRegistry) throws InterruptedException, UnknownHostException, IOException, ParseException { return new SwissTimingRaceTrackerImpl(raceID, hostname, port, windStore, domainFactory, this, messageLoader, - trackedRegattaRegistry, canSendRequests, delayToLiveInMillis, raceLogStore); + trackedRegattaRegistry, canSendRequests, delayToLiveInMillis); } @Override diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java index 7f4e440cac3..23fbaac7ebb 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java @@ -24,7 +24,6 @@ import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.TrackedRaceStatusEnum; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Triple; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.swisstimingadapter.Course; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; import com.sap.sailing.domain.swisstimingadapter.Fix; @@ -75,9 +74,9 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen protected SwissTimingRaceTrackerImpl(String raceID, String hostname, int port, WindStore windStore, DomainFactory domainFactory, SwissTimingFactory factory, RaceSpecificMessageLoader messageLoader, - TrackedRegattaRegistry trackedRegattaRegistry, boolean canSendRequests, long delayToLiveInMillis, RaceLogStore raceLogStore) throws InterruptedException, + TrackedRegattaRegistry trackedRegattaRegistry, boolean canSendRequests, long delayToLiveInMillis) throws InterruptedException, UnknownHostException, IOException, ParseException { - this(domainFactory.getOrCreateDefaultRegatta(raceID, trackedRegattaRegistry, raceLogStore), raceID, hostname, port, windStore, domainFactory, factory, + this(domainFactory.getOrCreateDefaultRegatta(raceID, trackedRegattaRegistry), raceID, hostname, port, windStore, domainFactory, factory, messageLoader, trackedRegattaRegistry, canSendRequests, delayToLiveInMillis); } diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java index 15b5384b366..ad7e0ca7655 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java @@ -1,7 +1,6 @@ package com.sap.sailing.domain.swisstimingadapter.impl; import com.sap.sailing.domain.base.Regatta; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; import com.sap.sailing.domain.swisstimingadapter.RaceSpecificMessageLoader; import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; @@ -18,13 +17,12 @@ public class SwissTimingTrackingConnectivityParameters implements RaceTrackingCo private final SwissTimingFactory swissTimingFactory; private final DomainFactory domainFactory; private final WindStore windStore; - private final RaceLogStore raceLogStore; private final RaceSpecificMessageLoader messageLoader; private final long delayToLiveInMillis; public SwissTimingTrackingConnectivityParameters(String hostname, int port, String raceID, boolean canSendRequests, long delayToLiveInMillis, SwissTimingFactory swissTimingFactory, DomainFactory domainFactory, WindStore windStore, - RaceSpecificMessageLoader messageLoader, RaceLogStore raceLogStore) { + RaceSpecificMessageLoader messageLoader) { super(); this.hostname = hostname; this.port = port; @@ -34,14 +32,13 @@ public class SwissTimingTrackingConnectivityParameters implements RaceTrackingCo this.swissTimingFactory = swissTimingFactory; this.domainFactory = domainFactory; this.windStore = windStore; - this.raceLogStore = raceLogStore; this.messageLoader = messageLoader; } @Override public RaceTracker createRaceTracker(TrackedRegattaRegistry trackedRegattaRegistry) throws Exception { return swissTimingFactory.createRaceTracker(raceID, hostname, port, canSendRequests, delayToLiveInMillis, windStore, messageLoader, - domainFactory, trackedRegattaRegistry, raceLogStore); + domainFactory, trackedRegattaRegistry); } @Override diff --git a/java/com.sap.sailing.domain.swisstimingreplayadapter/src/com/sap/sailing/domain/swisstimingreplayadapter/impl/SwissTimingReplayToDomainAdapter.java b/java/com.sap.sailing.domain.swisstimingreplayadapter/src/com/sap/sailing/domain/swisstimingreplayadapter/impl/SwissTimingReplayToDomainAdapter.java index a39c7614d3b..e093e1435d8 100644 --- a/java/com.sap.sailing.domain.swisstimingreplayadapter/src/com/sap/sailing/domain/swisstimingreplayadapter/impl/SwissTimingReplayToDomainAdapter.java +++ b/java/com.sap.sailing.domain.swisstimingreplayadapter/src/com/sap/sailing/domain/swisstimingreplayadapter/impl/SwissTimingReplayToDomainAdapter.java @@ -35,7 +35,6 @@ import com.sap.sailing.domain.common.impl.DegreeBearingImpl; import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; import com.sap.sailing.domain.swisstimingreplayadapter.CompetitorStatus; import com.sap.sailing.domain.swisstimingreplayadapter.SwissTimingReplayListener; @@ -301,7 +300,7 @@ public class SwissTimingReplayToDomainAdapter extends SwissTimingReplayAdapter { } private void createRace() { - final Regatta myRegatta = regatta != null ? regatta : domainFactory.getOrCreateDefaultRegatta(currentRaceID, trackedRegattaRegistry, EmptyRaceLogStore.INSTANCE); + final Regatta myRegatta = regatta != null ? regatta : domainFactory.getOrCreateDefaultRegatta(currentRaceID, trackedRegattaRegistry); RaceDefinition race = domainFactory.createRaceDefinition(myRegatta, currentRaceID, competitorsPerRaceID.get(currentRaceID), currentCourseDefinition); racePerRaceID.put(currentRaceID, race); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java index 630837ffa13..52427b9e1f1 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java @@ -31,7 +31,6 @@ import com.sap.sailing.domain.base.impl.MarkImpl; import com.sap.sailing.domain.base.impl.WaypointImpl; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Triple; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.TrackedLeg; @@ -70,7 +69,7 @@ public class CourseUpdateTest extends AbstractTracTracLiveTest { public void setUp() throws MalformedURLException, IOException, InterruptedException, URISyntaxException { super.setUp(); domainFactory = new DomainFactoryImpl(new com.sap.sailing.domain.base.impl.DomainFactoryImpl()); - domainRegatta = domainFactory.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null, EmptyRaceLogStore.INSTANCE); + domainRegatta = domainFactory.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null); trackedRegatta = new DynamicTrackedRegattaImpl(domainRegatta); ArrayList receivers = new ArrayList(); receivers.add(new RaceCourseReceiver(domainFactory, trackedRegatta, getTracTracEvent(), diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java index 454362717a3..a5917d0586a 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java @@ -23,7 +23,6 @@ import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.LowPoint; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.impl.WindImpl; import com.sap.sailing.domain.tractracadapter.ReceiverType; @@ -43,20 +42,20 @@ public class LeaderboardForKielWeekTest extends OnlineTracTracBasedTest { MillisecondsTimePoint now = MillisecondsTimePoint.now(); loadRace("357c700a-9d9a-11e0-85be-406186cbf87c"); // 505 Race 2 Competitor hasso = getCompetitorByName("Dr.Plattner"); - RaceColumn column = leaderboard.addRace(getTrackedRace(), "Test Race 1", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, defaultFleet); + RaceColumn column = leaderboard.addRace(getTrackedRace(), "Test Race 1", /* medalRace */ false, defaultFleet); assertEquals(21, leaderboard.getTotalPoints(hasso, now), 0.000000001); Pair key = new Pair(hasso, column); assertEquals(21, leaderboard.getContent(now).get(key).getTotalPoints(), 0.000000001); assertEquals(21, leaderboard.getEntry(hasso, column, now).getTotalPoints(), 0.000000001); loadRace("e876c3a0-9da8-11e0-85be-406186cbf87c"); // 505 Race 3 - column = leaderboard.addRace(getTrackedRace(), "Test Race 2", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, defaultFleet); + column = leaderboard.addRace(getTrackedRace(), "Test Race 2", /* medalRace */ false, defaultFleet); key = new Pair(hasso, column); // In Race 3, Hasso ranked 31st assertEquals(52, leaderboard.getTotalPoints(hasso, now), 0.000000001); assertEquals(31, leaderboard.getContent(now).get(key).getTotalPoints(), 0.000000001); assertEquals(31, leaderboard.getEntry(hasso, column, now).getTotalPoints(), 0.000000001); loadRace("7c666e50-9dde-11e0-85be-406186cbf87c"); // 505 Race 4 - column = leaderboard.addRace(getTrackedRace(), "Test Race 3", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, defaultFleet); + column = leaderboard.addRace(getTrackedRace(), "Test Race 3", /* medalRace */ false, defaultFleet); key = new Pair(hasso, column); // now the second race is discarded because Hasso ranked worst compared to the other two; in race 4 he ranked 11th assertEquals(32, leaderboard.getTotalPoints(hasso, now), 0.000000001); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java index d582af37ac8..9288e25d85f 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java @@ -31,7 +31,6 @@ import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.LowPoint; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.test.mock.MockedTrackedRaceWithFixedRank; import com.sap.sailing.domain.test.mock.MockedTrackedRaceWithFixedRankAndManyCompetitors; import com.sap.sailing.domain.tracking.TrackedRace; @@ -97,8 +96,8 @@ public class LeaderboardOfflineTest extends AbstractLeaderboardTest { final String columnName = "abc"; setupRaces(1, 0); - leaderboard.addRaceColumn(columnName, /* medalRace */ true, EmptyRaceLogStore.INSTANCE); - leaderboard.addRace(testRaces.iterator().next(), columnName, /* medalRace */ false, EmptyRaceLogStore.INSTANCE, defaultFleet); + leaderboard.addRaceColumn(columnName, /* medalRace */ true); + leaderboard.addRace(testRaces.iterator().next(), columnName, /* medalRace */ false, defaultFleet); assertTrue(leaderboard.getRaceColumnByName(columnName).isMedalRace()); } @@ -123,7 +122,7 @@ public class LeaderboardOfflineTest extends AbstractLeaderboardTest { RaceColumn bestScoringRaceColumn = null; for (TrackedRace race : testRaces) { i++; - RaceColumn raceColumn = leaderboard.addRace(race, "Test Race " + i, /* medalRace */ false, EmptyRaceLogStore.INSTANCE, defaultFleet); + RaceColumn raceColumn = leaderboard.addRace(race, "Test Race " + i, /* medalRace */ false, defaultFleet); raceColumnsInLeaderboard.put(race, raceColumn); if (race.getRank(competitor) < bestScore) { bestScore = race.getRank(competitor); @@ -152,7 +151,7 @@ public class LeaderboardOfflineTest extends AbstractLeaderboardTest { FlexibleLeaderboard leaderboard = new FlexibleLeaderboardImpl("Test Leaderboard", scoreCorrection, new ResultDiscardingRuleImpl( new int[] { 2 }), new LowPoint(), null); Fleet defaultFleet = leaderboard.getFleet(null); - leaderboard.addRace(testRace, "R1", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, defaultFleet); + leaderboard.addRace(testRace, "R1", /* medalRace */ false, defaultFleet); assertEquals(1., leaderboard.getTotalPoints(competitor, now), 0.00000001); assertEquals(1., leaderboard.getTotalPoints(c2, now), 0.00000001); assertEquals(1., leaderboard.getTotalPoints(c3, now), 0.00000001); @@ -181,9 +180,9 @@ public class LeaderboardOfflineTest extends AbstractLeaderboardTest { FlexibleLeaderboard leaderboard = new FlexibleLeaderboardImpl("Test Leaderboard", scoreCorrection, new ResultDiscardingRuleImpl( new int[] { 2 }), new LowPoint(), null); Fleet defaultFleet = leaderboard.getFleet(null); - RaceColumn r1 = leaderboard.addRace(testRace, "R1", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, defaultFleet); + RaceColumn r1 = leaderboard.addRace(testRace, "R1", /* medalRace */ false, defaultFleet); raceColumnsInLeaderboard.put(testRace, r1); - RaceColumn r2 = leaderboard.addRaceColumn("R2", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, defaultFleet); + RaceColumn r2 = leaderboard.addRaceColumn("R2", /* medalRace */ false, defaultFleet); scoreCorrection.setMaxPointsReason(competitor, r2, MaxPointsReason.DND); // non-discardable disqualification // assert that max points were given before discarding... assertEquals(4.0, leaderboard.getEntry(competitor, r2, MillisecondsTimePoint.now()).getNetPoints(), 0.000000001); @@ -214,7 +213,7 @@ public class LeaderboardOfflineTest extends AbstractLeaderboardTest { RaceColumn bestScoringRaceColumn = null; for (TrackedRace race : testRaces) { i++; - RaceColumn raceColumn = leaderboard.addRace(race, "Test Race " + i, /* medalRace */ false, EmptyRaceLogStore.INSTANCE, defaultFleet); + RaceColumn raceColumn = leaderboard.addRace(race, "Test Race " + i, /* medalRace */ false, defaultFleet); raceColumnsInLeaderboard.put(race, raceColumn); if (race.getRank(competitor) < bestScore) { bestScore = race.getRank(competitor); @@ -241,12 +240,12 @@ public class LeaderboardOfflineTest extends AbstractLeaderboardTest { i++; raceColumnsInLeaderboard.put(race, leaderboard.addRace(race, "Test Race "+i, /* medalRace */ numberOfUntrackedRaces == 0 && addOneMedalRace && i == testRaces.size(), - EmptyRaceLogStore.INSTANCE, defaultFleet)); + defaultFleet)); } // add a few race columns not yet connected to a tracked race for (int j=0; j medalRaceColumnNames = new ArrayList(); medalRaceColumnNames.add("M"); - Series medalSeries = new SeriesImpl("Medal", /* isMedal */true, medalFleets, medalRaceColumnNames, /* trackedRegattaRegistry */ null, - EmptyRaceLogStore.INSTANCE); + Series medalSeries = new SeriesImpl("Medal", /* isMedal */true, medalFleets, medalRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(medalSeries); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MultipleClassesInRegattaTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MultipleClassesInRegattaTest.java index b26406bc462..aeb1f24f2b6 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MultipleClassesInRegattaTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MultipleClassesInRegattaTest.java @@ -15,7 +15,6 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.impl.EmptyWindStore; import com.sap.sailing.domain.tractracadapter.DomainFactory; import com.sap.sailing.domain.tractracadapter.TracTracConnectionConstants; @@ -51,28 +50,25 @@ public class MultipleClassesInRegattaTest { httpAndHost+"/events/event_20110505_SailingTea/clientparams.php?event=event_20110505_SailingTea&race=cce678c8-97e6-11e0-9aed-406186cbf87c"), new URI(liveURI), new URI(storedURI), /* startOfTracking */ null, /* endOfTracking */ null, /* delayToLiveInMillis */ 0l, /* simulateWithStartTimeNow */ false, - EmptyWindStore.INSTANCE, new DummyTrackedRegattaRegistry(), EmptyRaceLogStore.INSTANCE); + EmptyWindStore.INSTANCE, new DummyTrackedRegattaRegistry()); kiwotest2 = domainFactory .createRaceTracker( new URL( httpAndHost+"/events/event_20110505_SailingTea/clientparams.php?event=event_20110505_SailingTea&race=11290bd6-97e7-11e0-9aed-406186cbf87c"), new URI(liveURI), new URI(storedURI), - /* startOfTracking */ null, /* endOfTracking */ null, /* delayToLiveInMillis */ 0l, /* simulateWithStartTimeNow */ false, EmptyWindStore.INSTANCE, new DummyTrackedRegattaRegistry(), - EmptyRaceLogStore.INSTANCE); + /* startOfTracking */ null, /* endOfTracking */ null, /* delayToLiveInMillis */ 0l, /* simulateWithStartTimeNow */ false, EmptyWindStore.INSTANCE, new DummyTrackedRegattaRegistry()); kiwotest3 = domainFactory .createRaceTracker( new URL( httpAndHost+"/events/event_20110505_SailingTea/clientparams.php?event=event_20110505_SailingTea&race=39635b24-97e7-11e0-9aed-406186cbf87c"), new URI(liveURI), new URI(storedURI), - /* startOfTracking */ null, /* endOfTracking */ null, /* delayToLiveInMillis */ 0l, /* simulateWithStartTimeNow */ false, EmptyWindStore.INSTANCE, new DummyTrackedRegattaRegistry(), - EmptyRaceLogStore.INSTANCE); + /* startOfTracking */ null, /* endOfTracking */ null, /* delayToLiveInMillis */ 0l, /* simulateWithStartTimeNow */ false, EmptyWindStore.INSTANCE, new DummyTrackedRegattaRegistry()); weym470may112014_2 = domainFactory .createRaceTracker( new URL( httpAndHost+"/events/event_20110505_SailingTea/clientparams.php?event=event_20110505_SailingTea&race=04498426-7dfd-11e0-8236-406186cbf87c"), new URI(liveURI), new URI(storedURI), - /* startOfTracking */ null, /* endOfTracking */ null, /* delayToLiveInMillis */ 0l, /* simulateWithStartTimeNow */ false, EmptyWindStore.INSTANCE, new DummyTrackedRegattaRegistry(), - EmptyRaceLogStore.INSTANCE); + /* startOfTracking */ null, /* endOfTracking */ null, /* delayToLiveInMillis */ 0l, /* simulateWithStartTimeNow */ false, EmptyWindStore.INSTANCE, new DummyTrackedRegattaRegistry()); assertEquals("STG", kiwotest1.getRegatta().getBoatClass().getName()); assertEquals("505", kiwotest2.getRegatta().getBoatClass().getName()); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java index 89db0f98a3d..16aa16a6e9f 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java @@ -26,7 +26,6 @@ import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.Position; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.DegreePosition; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; @@ -133,7 +132,7 @@ public abstract class OnlineTracTracBasedTest extends AbstractTracTracLiveTest { if (domainFactory == null) { domainFactory = new DomainFactoryImpl(new com.sap.sailing.domain.base.impl.DomainFactoryImpl()); } - domainEvent = domainFactory.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null, EmptyRaceLogStore.INSTANCE); + domainEvent = domainFactory.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null); trackedRegatta = new DynamicTrackedRegattaImpl(domainEvent); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReachingLegTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReachingLegTest.java index 058bbf5aa72..53794766d38 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReachingLegTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReachingLegTest.java @@ -11,20 +11,20 @@ import java.util.List; import org.junit.Before; import org.junit.Test; -import com.sap.sailing.domain.base.Mark; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.ControlPoint; import com.sap.sailing.domain.base.Course; import com.sap.sailing.domain.base.DomainFactory; +import com.sap.sailing.domain.base.Mark; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.base.impl.BoatClassImpl; -import com.sap.sailing.domain.base.impl.MarkImpl; import com.sap.sailing.domain.base.impl.CompetitorImpl; import com.sap.sailing.domain.base.impl.CourseImpl; import com.sap.sailing.domain.base.impl.GateImpl; import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl; +import com.sap.sailing.domain.base.impl.MarkImpl; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.base.impl.RaceDefinitionImpl; import com.sap.sailing.domain.base.impl.RegattaImpl; @@ -40,7 +40,6 @@ import com.sap.sailing.domain.common.WindSourceType; import com.sap.sailing.domain.common.impl.DegreeBearingImpl; import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.impl.WindSourceImpl; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.MarkPassing; import com.sap.sailing.domain.tracking.TrackedLeg; @@ -84,7 +83,7 @@ public class ReachingLegTest extends TrackBasedTest { Iterable competitors, TimePoint timePointForFixes) { BoatClassImpl boatClass = new BoatClassImpl(boatClassName, /* typicallyStartsUpwind */ true); Regatta regatta = new RegattaImpl(regattaName, boatClass, /* trackedRegattaRegistry */ null, - DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), "123", EmptyRaceLogStore.INSTANCE); + DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), "123"); TrackedRegatta trackedRegatta = new TrackedRegattaImpl(regatta); List waypoints = new ArrayList(); // create a two-lap upwind/downwind course: diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java index cc13641d070..baacc1b9b02 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java @@ -15,7 +15,6 @@ import org.junit.Test; import com.maptrack.client.io.TypeController; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Waypoint; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.impl.DynamicTrackedRegattaImpl; @@ -95,8 +94,7 @@ public class ReceiveMarkPassingDataTest extends AbstractTracTracLiveTest { List receivers = new ArrayList(); receivers.add(receiver); for (Receiver r : DomainFactory.INSTANCE.getUpdateReceivers( - new DynamicTrackedRegattaImpl(DomainFactory.INSTANCE.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null, - EmptyRaceLogStore.INSTANCE)), + new DynamicTrackedRegattaImpl(DomainFactory.INSTANCE.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null)), getTracTracEvent(), EmptyWindStore.INSTANCE, /* startOfTracking */ null, /* endOfTracking */ null, /* delayToLiveInMillis */ 0l, /* simulator */ null, new DynamicRaceDefinitionSet() { @Override diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java index 81cabe2b740..6f31b4f72ff 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java @@ -14,7 +14,6 @@ import com.maptrack.client.io.TypeController; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; @@ -66,8 +65,7 @@ public class ReceiveTrackingDataTest extends AbstractTracTracLiveTest { } }; List listeners = new ArrayList(); - Regatta regatta = domainFactory.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null, - EmptyRaceLogStore.INSTANCE); + Regatta regatta = domainFactory.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null); DynamicTrackedRegatta trackedRegatta = new DynamicTrackedRegattaImpl(regatta); trackedRegatta.addRaceListener(new RaceListener() { @Override diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackBasedTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackBasedTest.java index 28cd2aadfb0..1354651bf92 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackBasedTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackBasedTest.java @@ -5,21 +5,21 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; -import com.sap.sailing.domain.base.Mark; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.ControlPoint; import com.sap.sailing.domain.base.Course; import com.sap.sailing.domain.base.DomainFactory; +import com.sap.sailing.domain.base.Mark; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.base.impl.BoatClassImpl; import com.sap.sailing.domain.base.impl.BoatImpl; -import com.sap.sailing.domain.base.impl.MarkImpl; import com.sap.sailing.domain.base.impl.CompetitorImpl; import com.sap.sailing.domain.base.impl.CourseImpl; import com.sap.sailing.domain.base.impl.GateImpl; import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl; +import com.sap.sailing.domain.base.impl.MarkImpl; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.base.impl.NationalityImpl; import com.sap.sailing.domain.base.impl.PersonImpl; @@ -33,7 +33,6 @@ import com.sap.sailing.domain.common.WindSourceType; import com.sap.sailing.domain.common.impl.DegreeBearingImpl; import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.impl.WindSourceImpl; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.MarkPassing; import com.sap.sailing.domain.tracking.TrackedRegatta; @@ -94,7 +93,7 @@ public abstract class TrackBasedTest { Iterable competitors, TimePoint timePointForFixes) { BoatClassImpl boatClass = new BoatClassImpl(boatClassName, /* typicallyStartsUpwind */ true); Regatta regatta = new RegattaImpl(regattaName, boatClass, /* trackedRegattaRegistry */ null, - DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), "123", EmptyRaceLogStore.INSTANCE); + DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), "123"); TrackedRegatta trackedRegatta = new TrackedRegattaImpl(regatta); List waypoints = new ArrayList(); // create a two-lap upwind/downwind course: diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java index 78df6a962c3..0b8ecf5cc7c 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java @@ -14,7 +14,6 @@ import org.junit.Before; import org.junit.Test; import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.impl.EmptyWindStore; import com.sap.sailing.domain.tractracadapter.DomainFactory; import com.sap.sailing.domain.tractracadapter.TracTracConnectionConstants; @@ -55,7 +54,7 @@ public class UnicodeCharactersInCompetitorNamesTest { + TracTracConnectionConstants.PORT_STORED), /* startOfTracking */null, /* endOfTracking */null, /* delayToLiveInMillis */0l, /* simulateWithStartTimeNow */ false, EmptyWindStore.INSTANCE, - new DummyTrackedRegattaRegistry(), EmptyRaceLogStore.INSTANCE); + new DummyTrackedRegattaRegistry()); Iterable competitors = fourtyninerYellow_2.getRacesHandle().getRaces().iterator().next() .getCompetitors(); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/WindTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/WindTest.java index 5073566dbd9..8355aee2b2b 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/WindTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/WindTest.java @@ -15,10 +15,10 @@ import java.util.Set; import org.junit.Test; import com.sap.sailing.domain.base.BoatClass; -import com.sap.sailing.domain.base.Mark; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.ControlPoint; import com.sap.sailing.domain.base.DomainFactory; +import com.sap.sailing.domain.base.Mark; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.base.impl.BoatClassImpl; import com.sap.sailing.domain.base.impl.BoatImpl; @@ -36,7 +36,6 @@ import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.DegreeBearingImpl; import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.impl.Util; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.MarkPassing; import com.sap.sailing.domain.tracking.Wind; @@ -263,8 +262,7 @@ public class WindTest { final BoatClass boatClass = domainFactory.getOrCreateBoatClass("ESS40"); DynamicTrackedRace trackedRace = new DynamicTrackedRaceImpl(new DynamicTrackedRegattaImpl( new RegattaImpl("Test Regatta", boatClass, - /* trackedRegattaRegistry */ null, domainFactory.createScoringScheme(ScoringSchemeType.LOW_POINT), "123", - EmptyRaceLogStore.INSTANCE)), + /* trackedRegattaRegistry */ null, domainFactory.createScoringScheme(ScoringSchemeType.LOW_POINT), "123")), new RaceDefinitionImpl("Test Race", new CourseImpl("Test Course", Arrays.asList(new Waypoint[] { w1, w2, w3 })), boatClass, Collections.singleton(competitor)), diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java index 3e72760dba7..3d8543d3e58 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java @@ -22,7 +22,6 @@ import com.sap.sailing.domain.base.Team; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util.Pair; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; @@ -93,8 +92,7 @@ public interface DomainFactory { * boat class exists yet. * @param trackedRegattaRegistry TODO */ - com.sap.sailing.domain.base.Regatta getOrCreateDefaultRegatta(Event event, TrackedRegattaRegistry trackedRegattaRegistry, - RaceLogStore raceLogStore); + com.sap.sailing.domain.base.Regatta getOrCreateDefaultRegatta(Event event, TrackedRegattaRegistry trackedRegattaRegistry); /** * Creates a race tracked for the specified URL/URIs and starts receiving all available existing and future push @@ -127,7 +125,7 @@ public interface DomainFactory { */ TracTracRaceTracker createRaceTracker(URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, boolean simulateWithStartTimeNow, WindStore windStore, - TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore) throws MalformedURLException, FileNotFoundException, + TrackedRegattaRegistry trackedRegattaRegistry) throws MalformedURLException, FileNotFoundException, URISyntaxException; /** @@ -136,7 +134,7 @@ public interface DomainFactory { */ RaceTracker createRaceTracker(Regatta regatta, URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, boolean simulateWithStartTimeNow, WindStore windStore, - TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore) throws MalformedURLException, FileNotFoundException, + TrackedRegattaRegistry trackedRegattaRegistry) throws MalformedURLException, FileNotFoundException, URISyntaxException; BoatClass getOrCreateBoatClass(CompetitorClass competitorClass); @@ -237,8 +235,7 @@ public interface DomainFactory { Pair, BoatClass> getCompetitorsAndDominantBoatClass(Race race); RaceTrackingConnectivityParameters createTrackingConnectivityParameters(URL paramURL, URI liveURI, URI storedURI, - TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, boolean simulateWithStartTimeNow, WindStore windStore, - RaceLogStore raceLogStore); + TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, boolean simulateWithStartTimeNow, WindStore windStore); /** * Removes all knowledge about tractracRace which includes removing it from the race cache, from the * {@link com.sap.sailing.domain.base.Regatta} and, if a {@link TrackedRace} for the corresponding diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index 82085464cc4..a2860bbdf7e 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -46,7 +46,6 @@ import com.sap.sailing.domain.common.impl.DegreeBearingImpl; import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Pair; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; @@ -306,8 +305,7 @@ public class DomainFactoryImpl implements DomainFactory { } @Override - public Regatta getOrCreateDefaultRegatta(com.tractrac.clientmodule.Event event, TrackedRegattaRegistry trackedRegattaRegistry, - RaceLogStore raceLogStore) { + public Regatta getOrCreateDefaultRegatta(com.tractrac.clientmodule.Event event, TrackedRegattaRegistry trackedRegattaRegistry) { 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? @@ -338,7 +336,7 @@ public class DomainFactoryImpl implements DomainFactory { if (result == null) { result = new RegattaImpl(event.getName(), boatClass, trackedRegattaRegistry, // use the low-point system as the default scoring scheme - com.sap.sailing.domain.base.DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), event.getId(), raceLogStore); + com.sap.sailing.domain.base.DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), event.getId()); regattaCache.put(key, result); weakRegattaCache.put(event, result); logger.info("Created regatta "+result.getName()+" ("+result.hashCode()+") because none found for key "+key); @@ -550,19 +548,19 @@ public class DomainFactoryImpl implements DomainFactory { @Override public TracTracRaceTracker createRaceTracker(URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, boolean simulateWithStartTimeNow, WindStore windStore, - TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore) throws MalformedURLException, FileNotFoundException, + TrackedRegattaRegistry trackedRegattaRegistry) throws MalformedURLException, FileNotFoundException, URISyntaxException { return new TracTracRaceTrackerImpl(this, paramURL, liveURI, storedURI, startOfTracking, endOfTracking, delayToLiveInMillis, - simulateWithStartTimeNow, windStore, trackedRegattaRegistry, raceLogStore); + simulateWithStartTimeNow, windStore, trackedRegattaRegistry); } @Override public RaceTracker createRaceTracker(Regatta regatta, URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, - boolean simulateWithStartTimeNow, WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore) + boolean simulateWithStartTimeNow, WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry) throws MalformedURLException, FileNotFoundException, URISyntaxException { return new TracTracRaceTrackerImpl(regatta, this, paramURL, liveURI, storedURI, startOfTracking, endOfTracking, delayToLiveInMillis, - simulateWithStartTimeNow, windStore, trackedRegattaRegistry, raceLogStore); + simulateWithStartTimeNow, windStore, trackedRegattaRegistry); } @Override @@ -578,9 +576,9 @@ public class DomainFactoryImpl implements DomainFactory { @Override public RaceTrackingConnectivityParameters createTrackingConnectivityParameters(URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, - boolean simulateWithStartTimeNow, WindStore windStore, RaceLogStore raceLogStore) { + boolean simulateWithStartTimeNow, WindStore windStore) { return new RaceTrackingConnectivityParametersImpl(paramURL, liveURI, storedURI, startOfTracking, endOfTracking, - delayToLiveInMillis, simulateWithStartTimeNow, windStore, this, raceLogStore); + delayToLiveInMillis, simulateWithStartTimeNow, windStore, this); } } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java index 5c6032ea327..bc84c97cd66 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java @@ -9,7 +9,6 @@ import java.net.URL; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.tracking.RaceTracker; import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; @@ -23,14 +22,13 @@ public class RaceTrackingConnectivityParametersImpl implements RaceTrackingConne private final TimePoint startOfTracking; private final TimePoint endOfTracking; private final WindStore windStore; - private final RaceLogStore raceLogStore; private final DomainFactory domainFactory; private final long delayToLiveInMillis; private final boolean simulateWithStartTimeNow; public RaceTrackingConnectivityParametersImpl(URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, boolean simulateWithStartTimeNow, WindStore windStore, - DomainFactory domainFactory, RaceLogStore raceLogStore) { + DomainFactory domainFactory) { super(); this.paramURL = paramURL; this.liveURI = liveURI; @@ -39,7 +37,6 @@ public class RaceTrackingConnectivityParametersImpl implements RaceTrackingConne this.endOfTracking = endOfTracking; this.delayToLiveInMillis = delayToLiveInMillis; this.windStore = windStore; - this.raceLogStore = raceLogStore; this.domainFactory = domainFactory; this.simulateWithStartTimeNow = simulateWithStartTimeNow; } @@ -48,7 +45,7 @@ public class RaceTrackingConnectivityParametersImpl implements RaceTrackingConne public RaceTracker createRaceTracker(TrackedRegattaRegistry trackedRegattaRegistry) throws MalformedURLException, FileNotFoundException, URISyntaxException { RaceTracker tracker = domainFactory.createRaceTracker(paramURL, liveURI, storedURI, startOfTracking, - endOfTracking, delayToLiveInMillis, simulateWithStartTimeNow, windStore, trackedRegattaRegistry, raceLogStore); + endOfTracking, delayToLiveInMillis, simulateWithStartTimeNow, windStore, trackedRegattaRegistry); return tracker; } @@ -56,7 +53,7 @@ public class RaceTrackingConnectivityParametersImpl implements RaceTrackingConne public RaceTracker createRaceTracker(Regatta regatta, TrackedRegattaRegistry trackedRegattaRegistry) throws Exception { RaceTracker tracker = domainFactory.createRaceTracker(regatta, paramURL, liveURI, storedURI, startOfTracking, - endOfTracking, delayToLiveInMillis, simulateWithStartTimeNow, windStore, trackedRegattaRegistry, raceLogStore); + endOfTracking, delayToLiveInMillis, simulateWithStartTimeNow, windStore, trackedRegattaRegistry); return tracker; } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java index 1e7e8a18911..da96dc36743 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java @@ -32,7 +32,6 @@ import com.sap.sailing.domain.common.Position; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.TrackedRaceStatusEnum; import com.sap.sailing.domain.common.impl.Util.Triple; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.tracking.AbstractRaceTrackerImpl; import com.sap.sailing.domain.tracking.DynamicGPSFixTrack; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; @@ -122,19 +121,18 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements */ protected TracTracRaceTrackerImpl(DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, - boolean simulateWithStartTimeNow, WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore) + boolean simulateWithStartTimeNow, WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry) throws URISyntaxException, MalformedURLException, FileNotFoundException { this(KeyValue.setup(paramURL), domainFactory, paramURL, liveURI, storedURI, startOfTracking, endOfTracking, - delayToLiveInMillis, simulateWithStartTimeNow, windStore, trackedRegattaRegistry, raceLogStore); + delayToLiveInMillis, simulateWithStartTimeNow, windStore, trackedRegattaRegistry); } private TracTracRaceTrackerImpl(Event tractracEvent, DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, boolean simulateWithStartTimeNow, - WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore) + WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry) throws URISyntaxException, MalformedURLException, FileNotFoundException { this(tractracEvent, null, domainFactory, paramURL, liveURI, storedURI, - startOfTracking, endOfTracking, delayToLiveInMillis, simulateWithStartTimeNow, windStore, trackedRegattaRegistry, - raceLogStore); + startOfTracking, endOfTracking, delayToLiveInMillis, simulateWithStartTimeNow, windStore, trackedRegattaRegistry); } /** @@ -145,10 +143,10 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements */ protected TracTracRaceTrackerImpl(Regatta regatta, DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, boolean simulateWithStartTimeNow, - WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore) + WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry) throws URISyntaxException, MalformedURLException, FileNotFoundException { this(KeyValue.setup(paramURL), regatta, domainFactory, paramURL, liveURI, storedURI, startOfTracking, - endOfTracking, delayToLiveInMillis, simulateWithStartTimeNow, windStore, trackedRegattaRegistry, raceLogStore); + endOfTracking, delayToLiveInMillis, simulateWithStartTimeNow, windStore, trackedRegattaRegistry); } /** @@ -164,8 +162,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements */ private TracTracRaceTrackerImpl(Event tractracEvent, final Regatta regatta, DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, - long delayToLiveInMillis, boolean simulateWithStartTimeNow, WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry, - RaceLogStore raceLogStore) + long delayToLiveInMillis, boolean simulateWithStartTimeNow, WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry) throws URISyntaxException, MalformedURLException, FileNotFoundException { super(); this.tractracEvent = tractracEvent; @@ -205,7 +202,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements } // if regatta is still null, no previous assignment of any of the races in this TracTrac event to a Regatta was found; // in this case, create a default regatta based on the TracTrac event data - this.regatta = effectiveRegatta == null ? domainFactory.getOrCreateDefaultRegatta(tractracEvent, trackedRegattaRegistry, raceLogStore) : effectiveRegatta; + this.regatta = effectiveRegatta == null ? domainFactory.getOrCreateDefaultRegatta(tractracEvent, trackedRegattaRegistry) : effectiveRegatta; trackedRegatta = trackedRegattaRegistry.getOrCreateTrackedRegatta(this.regatta); receivers = new HashSet(); Set typeControllers = new HashSet(); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java index 8025f4a9f86..0461efff587 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java @@ -5,8 +5,6 @@ import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.domain.leaderboard.Leaderboard; -import com.sap.sailing.domain.racelog.RaceLog; -import com.sap.sailing.domain.racelog.RaceLogEvent; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.util.impl.RaceColumnListeners; @@ -144,10 +142,5 @@ public interface RaceColumn extends Named { * If null, the {@link #getFactor() factor} defaults to 1 for non-medal and {@link #DEFAULT_MEDAL_RACE_FACTOR} for * medal races. Otherwise, the explicit factor is used. */ - Double getExplicitFactor(); - - RaceLog getRaceLog(String leaderboardName, Fleet fleet); - - void recordRaceLogEvent(String leaderboardName, Fleet fleet, RaceLogEvent event); - + Double getExplicitFactor(); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnInSeries.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnInSeries.java index 6cd04d3ba9a..3482d9b7984 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnInSeries.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnInSeries.java @@ -1,14 +1,8 @@ package com.sap.sailing.domain.base; -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; -import com.sap.sailing.domain.racelog.RaceLogEvent; public interface RaceColumnInSeries extends RaceColumn { Series getSeries(); Regatta getRegatta(); - - RaceColumnIdentifier getRaceColumnIdentifier(String leaderboardName); - - void recordRaceLogEvent(String leaderboardName, Fleet fleet, RaceLogEvent event); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java index 01b2bb1f922..37706ef88c4 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java @@ -1,6 +1,5 @@ package com.sap.sailing.domain.base; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; @@ -27,7 +26,7 @@ public interface Series extends SeriesData { Fleet getFleetByName(String fleetName); - RaceColumnInSeries addRaceColumn(String raceColumnName, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore); + RaceColumnInSeries addRaceColumn(String raceColumnName, TrackedRegattaRegistry trackedRegattaRegistry); void moveRaceColumnUp(String raceColumnName); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java index 7cca204605c..f3ddea005b1 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java @@ -8,7 +8,6 @@ import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.impl.Util; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.tracking.TrackedRace; public abstract class AbstractRaceColumn extends SimpleAbstractRaceColumn implements RaceColumn { @@ -16,13 +15,11 @@ public abstract class AbstractRaceColumn extends SimpleAbstractRaceColumn implem private final Map trackedRaces; private final Map raceIdentifiers; - protected RaceLogStore raceLogStore; - public AbstractRaceColumn(RaceLogStore raceLogStore) { + public AbstractRaceColumn() { this.trackedRaces = new HashMap(); this.raceIdentifiers = new HashMap(); - this.raceLogStore = raceLogStore; } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java index b02cae451d9..bf9522f871a 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java @@ -5,11 +5,6 @@ import com.sap.sailing.domain.base.RaceColumnInSeries; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; -import com.sap.sailing.domain.racelog.RaceLog; -import com.sap.sailing.domain.racelog.RaceLogEvent; -import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.impl.RaceColumnIdentifierImpl; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; @@ -39,8 +34,8 @@ public class RaceColumnInSeriesImpl extends AbstractRaceColumn implements RaceCo * this column's series {@link Regatta}, respectively. If null, the re-association won't be * carried out. */ - public RaceColumnInSeriesImpl(String name, Series series, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore) { - super(raceLogStore); + public RaceColumnInSeriesImpl(String name, Series series, TrackedRegattaRegistry trackedRegattaRegistry) { + super(); this.name = name; this.series = series; this.trackedRegattaRegistry = trackedRegattaRegistry; @@ -94,20 +89,4 @@ public class RaceColumnInSeriesImpl extends AbstractRaceColumn implements RaceCo super.setTrackedRace(fleet, trackedRace); } - @Override - public RaceLog getRaceLog(String leaderboardName, Fleet fleet) { - return raceLogStore.getRaceLog(getRaceColumnIdentifier(leaderboardName), fleet); - } - - @Override - public RaceColumnIdentifier getRaceColumnIdentifier(String leaderboardName) { - return new RaceColumnIdentifierImpl(leaderboardName, getName()); - } - - @Override - public void recordRaceLogEvent(String leaderboardName, Fleet fleet, RaceLogEvent event) { - - raceLogStore.getRaceLog(getRaceColumnIdentifier(leaderboardName), fleet).add(event); - } - } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java index 41047fe7edf..a73d0d56343 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java @@ -23,7 +23,6 @@ import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.impl.NamedImpl; import com.sap.sailing.domain.leaderboard.ScoringScheme; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; @@ -60,10 +59,10 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene * this column's series {@link Regatta}, respectively. If null, the re-association won't be * carried out. */ - public RegattaImpl(String baseName, BoatClass boatClass, TrackedRegattaRegistry trackedRegattaRegistry, ScoringScheme scoringScheme, Serializable id, RaceLogStore raceLogStore) { + public RegattaImpl(String baseName, BoatClass boatClass, TrackedRegattaRegistry trackedRegattaRegistry, ScoringScheme scoringScheme, Serializable id) { this(baseName, boatClass, Collections.singletonList(new SeriesImpl("Default", /* isMedal */false, Collections .singletonList(new FleetImpl("Default")), /* race column names */new ArrayList(), - trackedRegattaRegistry, raceLogStore)), /* persistent */false, scoringScheme, id); + trackedRegattaRegistry)), /* persistent */false, scoringScheme, id); } /** diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java index 81b2bb6c96c..ebcb49ee94d 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java @@ -17,7 +17,6 @@ import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.impl.NamedImpl; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; @@ -43,7 +42,7 @@ public class SeriesImpl extends NamedImpl implements Series, RaceColumnListener * carried out. */ public SeriesImpl(String name, boolean isMedal, Iterable fleets, Iterable raceColumnNames, - TrackedRegattaRegistry trackedRegattaRegistry, RaceLogStore raceLogStore) { + TrackedRegattaRegistry trackedRegattaRegistry) { super(name); if (fleets == null || Util.isEmpty(fleets)) { throw new IllegalArgumentException("Series must have at least one fleet"); @@ -59,7 +58,7 @@ public class SeriesImpl extends NamedImpl implements Series, RaceColumnListener this.isMedal = isMedal; this.raceColumnListeners = new RaceColumnListeners(); for (String raceColumnName : raceColumnNames) { - addRaceColumn(raceColumnName, trackedRegattaRegistry, raceLogStore); + addRaceColumn(raceColumnName, trackedRegattaRegistry); } } @@ -106,9 +105,8 @@ public class SeriesImpl extends NamedImpl implements Series, RaceColumnListener * carried out. */ @Override - public RaceColumnInSeries addRaceColumn(String raceColumnName, TrackedRegattaRegistry trackedRegattaRegistry, - RaceLogStore raceLogStore) { - RaceColumnInSeriesImpl result = createRaceColumn(raceColumnName, trackedRegattaRegistry, raceLogStore); + public RaceColumnInSeries addRaceColumn(String raceColumnName, TrackedRegattaRegistry trackedRegattaRegistry) { + RaceColumnInSeriesImpl result = createRaceColumn(raceColumnName, trackedRegattaRegistry); if (raceColumnListeners.canAddRaceColumnToContainer(result)) { result.addRaceColumnListener(this); raceColumns.add(result); @@ -127,9 +125,8 @@ public class SeriesImpl extends NamedImpl implements Series, RaceColumnListener * this column's series {@link Regatta}, respectively. If null, the re-association won't be * carried out. */ - private RaceColumnInSeriesImpl createRaceColumn(String raceColumnName, TrackedRegattaRegistry trackedRegattaRegistry, - RaceLogStore raceLogStore) { - RaceColumnInSeriesImpl result = new RaceColumnInSeriesImpl(raceColumnName, this, trackedRegattaRegistry, raceLogStore); + private RaceColumnInSeriesImpl createRaceColumn(String raceColumnName, TrackedRegattaRegistry trackedRegattaRegistry) { + RaceColumnInSeriesImpl result = new RaceColumnInSeriesImpl(raceColumnName, this, trackedRegattaRegistry); return result; } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java index 0183bb09deb..8d17d891195 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java @@ -5,7 +5,6 @@ import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.Renamable; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.tracking.TrackedRace; /** @@ -46,28 +45,25 @@ public interface FlexibleLeaderboard extends Leaderboard, Renamable { * @param fleets * the fleets to add to the {@link RaceColumn} created. If no fleets are specified, a single default * fleet will be assigned to the race column created. - * * @return the race column in the leaderboard used to represent the tracked race */ - RaceColumn addRaceColumn(String name, boolean medalRace, RaceLogStore raceLogStore, Fleet... fleets); + RaceColumn addRaceColumn(String name, boolean medalRace, Fleet... fleets); /** * Adds a tracked race to this leaderboard. If a {@link RaceColumn} with name columnName already exists * in this leaderboard, race is {@link RaceColumn#setTrackedRace(Fleet, TrackedRace) set as its tracked * race} and medalRace is ignored. Otherwise, a new {@link RaceColumn} column, with race * as its tracked race, is created and added to this leaderboard. - * * @param medalRace * tells if the column to add represents a medal race which has double score and cannot be discarded; * ignored if the column named columnName already exists - * * @param fleets * the fleets to add to the {@link RaceColumn} created. If no fleets are specified, a single default * fleet will be assigned to the race column created. * * @return the race column in the leaderboard used to represent the tracked race */ - RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace, RaceLogStore raceLogStore, Fleet fleet); + RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace, Fleet fleet); void removeRaceColumn(String columnName); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleRaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleRaceColumn.java index 3a4b2a43dd7..5f8bfbb45a7 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleRaceColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleRaceColumn.java @@ -1,12 +1,8 @@ package com.sap.sailing.domain.leaderboard; -import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; -import com.sap.sailing.domain.racelog.RaceLogEvent; public interface FlexibleRaceColumn extends RaceColumn { void setName(String newName); void setIsMedalRace(boolean isMedalRace); - - void recordRaceLogEvent(Fleet fleet, RaceLogEvent event); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java index 980b0d6845e..ec088c0e24f 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java @@ -16,7 +16,6 @@ import com.sap.sailing.domain.leaderboard.FlexibleRaceColumn; import com.sap.sailing.domain.leaderboard.ScoringScheme; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.domain.tracking.TrackedRace; /** @@ -65,13 +64,13 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements } @Override - public RaceColumn addRaceColumn(String name, boolean medalRace, RaceLogStore raceLogStore, Fleet... fleets) { + public RaceColumn addRaceColumn(String name, boolean medalRace, Fleet... fleets) { FlexibleRaceColumn column = getRaceColumnByName(name); if (column != null) { final String msg = "Trying to create race column with duplicate name "+name+" in leaderboard +"+getName(); logger.severe(msg); } else { - column = createRaceColumn(name, medalRace, raceLogStore, fleets); + column = createRaceColumn(name, medalRace, fleets); column.addRaceColumnListener(this); races.add(column); getRaceColumnListeners().notifyListenersAboutRaceColumnAddedToContainer(column); @@ -109,10 +108,10 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements } @Override - public RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace, RaceLogStore raceLogStore, Fleet fleet) { + public RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace, Fleet fleet) { FlexibleRaceColumn column = getRaceColumnByName(columnName); if (column == null) { - column = createRaceColumn(columnName, medalRace, raceLogStore, fleet); + column = createRaceColumn(columnName, medalRace, fleet); column.addRaceColumnListener(this); races.add(column); } @@ -120,8 +119,8 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements return column; } - protected RaceColumnImpl createRaceColumn(String columnName, boolean medalRace, RaceLogStore raceLogStore, Fleet... fleets) { - return new RaceColumnImpl(columnName, medalRace, raceLogStore, turnNullOrEmptyFleetsIntoDefaultFleet(fleets)); + protected RaceColumnImpl createRaceColumn(String columnName, boolean medalRace, Fleet... fleets) { + return new RaceColumnImpl(columnName, medalRace, turnNullOrEmptyFleetsIntoDefaultFleet(fleets)); } protected Iterable turnNullOrEmptyFleetsIntoDefaultFleet(Fleet... fleets) { diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java index bbdc7209b52..d110aadb537 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java @@ -6,11 +6,7 @@ import java.util.List; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.impl.AbstractRaceColumn; -import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.leaderboard.FlexibleRaceColumn; -import com.sap.sailing.domain.racelog.RaceLog; -import com.sap.sailing.domain.racelog.RaceLogEvent; -import com.sap.sailing.domain.racelog.RaceLogStore; public class RaceColumnImpl extends AbstractRaceColumn implements FlexibleRaceColumn { private static final long serialVersionUID = -7801617988982540470L; @@ -23,8 +19,8 @@ public class RaceColumnImpl extends AbstractRaceColumn implements FlexibleRaceCo private final Iterable fleets; private boolean medalRace; - public RaceColumnImpl(String name, boolean medalRace, RaceLogStore raceLogStore, Iterable fleets) { - super(raceLogStore); + public RaceColumnImpl(String name, boolean medalRace, Iterable fleets) { + super(); this.name = name; this.medalRace = medalRace; List myFleets = new ArrayList(); @@ -60,25 +56,4 @@ public class RaceColumnImpl extends AbstractRaceColumn implements FlexibleRaceCo public Iterable getFleets() { return fleets; } - - @Override - public RaceLog getRaceLog(String leaderboardName, Fleet fleet) { - return raceLogStore.getRaceLog(fleet); - } - - public RaceLog getRaceLog(Fleet fleet) { - return getRaceLog("", fleet); - } - - @Override - public void recordRaceLogEvent(Fleet fleet, RaceLogEvent event) { - if (!Util.contains(fleets, fleet)) - return; - raceLogStore.getRaceLog(fleet).add(event); - } - - @Override - public void recordRaceLogEvent(String leaderboardName, Fleet fleet, RaceLogEvent event) { - recordRaceLogEvent(fleet, event); - } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/MetaLeaderboardColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/MetaLeaderboardColumn.java index 1e4ae1355f6..e8251f58a4f 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/MetaLeaderboardColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/meta/MetaLeaderboardColumn.java @@ -10,8 +10,6 @@ import com.sap.sailing.domain.base.impl.SimpleAbstractRaceColumn; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; -import com.sap.sailing.domain.racelog.RaceLog; -import com.sap.sailing.domain.racelog.RaceLogEvent; import com.sap.sailing.domain.tracking.TrackedRace; /** @@ -149,15 +147,4 @@ public class MetaLeaderboardColumn extends SimpleAbstractRaceColumn implements R public boolean isTransient() { return false; } - - @Override - public RaceLog getRaceLog(String leaderboardName, Fleet fleet) { - return null; - } - - @Override - public void recordRaceLogEvent(String leaderboardName, Fleet fleet, - RaceLogEvent event) { - - } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceColumnIdentifier.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceLogIdentifier.java similarity index 60% rename from java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceColumnIdentifier.java rename to java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceLogIdentifier.java index 35810f9476f..edd71268873 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceColumnIdentifier.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceLogIdentifier.java @@ -1,6 +1,6 @@ package com.sap.sailing.domain.racelog; -public interface RaceColumnIdentifier { +public interface RaceLogIdentifier { String getIdentifier(); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceLogStore.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceLogStore.java index bbd4d480074..f568e3a96e6 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceLogStore.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/RaceLogStore.java @@ -1,13 +1,10 @@ package com.sap.sailing.domain.racelog; -import com.sap.sailing.domain.base.Fleet; /** * Capsulating store interface providing a {@link RaceLog} for a given regatta / race combination. * */ public interface RaceLogStore { - RaceLog getRaceLog(Fleet fleet); - - RaceLog getRaceLog(RaceColumnIdentifier identifier, Fleet fleet); + RaceLog getRaceLog(RaceLogIdentifier identifier); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/impl/EmptyRaceLogStore.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/impl/EmptyRaceLogStore.java index 7a754740eb8..782cd055649 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/impl/EmptyRaceLogStore.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/impl/EmptyRaceLogStore.java @@ -1,8 +1,7 @@ package com.sap.sailing.domain.racelog.impl; -import com.sap.sailing.domain.base.Fleet; -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; import com.sap.sailing.domain.racelog.RaceLog; +import com.sap.sailing.domain.racelog.RaceLogIdentifier; import com.sap.sailing.domain.racelog.RaceLogStore; /** @@ -12,14 +11,9 @@ import com.sap.sailing.domain.racelog.RaceLogStore; */ public class EmptyRaceLogStore implements RaceLogStore { public static EmptyRaceLogStore INSTANCE = new EmptyRaceLogStore(); - - @Override - public RaceLog getRaceLog(Fleet fleet) { - return new RaceLogImpl("Lock for " + fleet.toString()); - } @Override - public RaceLog getRaceLog(RaceColumnIdentifier identifier, Fleet fleet) { - return new RaceLogImpl("Lock for " + identifier.getIdentifier() + "-" + fleet.toString()); + public RaceLog getRaceLog(RaceLogIdentifier identifier) { + return new RaceLogImpl("Lock for " + identifier.getIdentifier()); } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/impl/RaceColumnIdentifierImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/impl/RaceColumnIdentifierImpl.java deleted file mode 100644 index 5289654de3c..00000000000 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/impl/RaceColumnIdentifierImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.sap.sailing.domain.racelog.impl; - -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; - -public class RaceColumnIdentifierImpl implements RaceColumnIdentifier { - - private String leaderboardName; - private String columnName; - - public RaceColumnIdentifierImpl(String leaderboardName, String columnName) { - this.leaderboardName = leaderboardName; - this.columnName = columnName; - } - - @Override - public String getIdentifier() { - return String.format("%s-%s", leaderboardName, columnName); - } - -} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/impl/RaceLogIdentifierImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/impl/RaceLogIdentifierImpl.java new file mode 100644 index 00000000000..670eff65b90 --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/racelog/impl/RaceLogIdentifierImpl.java @@ -0,0 +1,30 @@ +package com.sap.sailing.domain.racelog.impl; + +import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.leaderboard.Leaderboard; +import com.sap.sailing.domain.racelog.RaceLogIdentifier; + +public class RaceLogIdentifierImpl implements RaceLogIdentifier { + + private final Leaderboard leaderboard; + private final RaceColumn raceColumn; + private final Fleet fleet; + + public RaceLogIdentifierImpl(Leaderboard leaderboard, RaceColumn raceColumn, Fleet fleet) { + this.leaderboard = leaderboard; + this.raceColumn = raceColumn; + this.fleet = fleet; + } + + @Override + public String getIdentifier() { + return String.format("%s-%s-%s", leaderboard.getName(), raceColumn.getName(), fleet.getName()); + } + + @Override + public String toString() { + return getIdentifier(); + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index d916f5987ce..cf9bad0d2b7 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -109,7 +109,6 @@ import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; -import com.sap.sailing.domain.persistence.MongoRaceLogStoreFactory; import com.sap.sailing.domain.persistence.MongoWindStoreFactory; import com.sap.sailing.domain.swisstimingadapter.SwissTimingArchiveConfiguration; import com.sap.sailing.domain.swisstimingadapter.SwissTimingConfiguration; @@ -1142,8 +1141,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S new URI(liveURI), new URI(storedURI), new MillisecondsTimePoint(rr.trackingStartTime), new MillisecondsTimePoint(rr.trackingEndTime), MongoWindStoreFactory.INSTANCE.getMongoWindStore(mongoObjectFactory, domainObjectFactory), - RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, simulateWithStartTimeNow, - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(mongoObjectFactory, domainObjectFactory)); + RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, simulateWithStartTimeNow); if (trackWind) { new Thread("Wind tracking starter for race " + rr.regattaName + "/" + rr.name) { public void run() { @@ -2385,8 +2383,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S final RacesHandle raceHandle = getService().addSwissTimingRace(regattaToAddTo, rr.ID, hostname, port, canSendRequests, MongoWindStoreFactory.INSTANCE.getMongoWindStore(mongoObjectFactory, domainObjectFactory), - RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(mongoObjectFactory, domainObjectFactory)); + RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS); if (trackWind) { new Thread("Wind tracking starter for race " + rr.ID + "/" + rr.description) { public void run() { @@ -2439,10 +2436,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S RegattaImpl.getFullName(replayRaceDTO.rsc, replayRaceDTO.boat_class), Collections.singletonList(new SeriesImpl("Default", /* isMedal */false, Collections .singletonList(new FleetImpl("Default")), /* race column names */ - new ArrayList(), getService(), - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(mongoObjectFactory, domainObjectFactory))), false, - baseDomainFactory.createScoringScheme(ScoringSchemeType.LOW_POINT), - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(mongoObjectFactory, domainObjectFactory)); + new ArrayList(), getService())), false, + baseDomainFactory.createScoringScheme(ScoringSchemeType.LOW_POINT)); } else { regatta = getService().getRegatta(regattaIdentifier); } @@ -2932,8 +2927,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S public List addRaceColumnsToSeries(RegattaIdentifier regattaIdentifier, String seriesName, List columnNames) { List result = new ArrayList(); for(String columnName: columnNames) { - RaceColumnInSeries raceColumnInSeries = getService().apply(new AddColumnToSeries(regattaIdentifier, seriesName, columnName, - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(mongoObjectFactory, domainObjectFactory))); + RaceColumnInSeries raceColumnInSeries = getService().apply(new AddColumnToSeries(regattaIdentifier, seriesName, columnName)); if(raceColumnInSeries != null) { result.add(convertToRaceColumnInSeriesDTO(raceColumnInSeries)); } @@ -2944,8 +2938,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S @Override public RaceColumnInSeriesDTO addRaceColumnToSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { RaceColumnInSeriesDTO result = null; - RaceColumnInSeries raceColumnInSeries = getService().apply(new AddColumnToSeries(regattaIdentifier, seriesName, columnName, - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(mongoObjectFactory, domainObjectFactory))); + RaceColumnInSeries raceColumnInSeries = getService().apply(new AddColumnToSeries(regattaIdentifier, seriesName, columnName)); if(raceColumnInSeries != null) { result = convertToRaceColumnInSeriesDTO(raceColumnInSeries); } @@ -2981,8 +2974,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S Regatta regatta = getService().apply( new AddSpecificRegatta(regattaName, boatClassName, UUID.randomUUID(), seriesNamesWithFleetNamesAndFleetOrderingAndMedal, - persistent, baseDomainFactory.createScoringScheme(scoringSchemeType), - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(mongoObjectFactory, domainObjectFactory))); + persistent, baseDomainFactory.createScoringScheme(scoringSchemeType))); return convertToRegattaDTO(regatta); } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 5d24f5b7b31..630df49375f 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -53,7 +53,6 @@ import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; import com.sap.sailing.domain.persistence.impl.CollectionNames; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.test.AbstractLeaderboardTest; import com.sap.sailing.domain.test.mock.MockedTrackedRaceWithFixedRank; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; @@ -109,8 +108,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); Regatta regattaProxy = createRegatta(regattaBaseName, boatClass, /* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT)); Regatta regatta = res.createRegatta(regattaProxy.getBaseName(), regattaProxy.getBoatClass().getName(), - "123", regattaProxy.getSeries(), regattaProxy.isPersistent(), DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), - EmptyRaceLogStore.INSTANCE); + "123", regattaProxy.getSeries(), regattaProxy.isPersistent(), DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT)); addRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regatta); res.addRegattaLeaderboard(regatta.getRegattaIdentifier(), new int[] { 3, 5 }, null); DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService()); @@ -151,8 +149,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest final String regattaBaseName = "Kieler Woche"; Regatta regattaProxy = createRegatta(regattaBaseName, boatClass, /* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT)); Regatta regatta = res.createRegatta(regattaProxy.getBaseName(), regattaProxy.getBoatClass().getName(), - "123", regattaProxy.getSeries(), regattaProxy.isPersistent(), DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), - EmptyRaceLogStore.INSTANCE); + "123", regattaProxy.getSeries(), regattaProxy.isPersistent(), DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT)); trackedRegatta[0] = new DynamicTrackedRegattaImpl(regatta); addRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regatta); logColumnsInRegatta(regatta); @@ -364,22 +361,20 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest qualifyingFleets.add(new FleetImpl("Yellow")); qualifyingFleets.add(new FleetImpl("Blue")); Series qualifyingSeries = new SeriesImpl("Qualifying", /* isMedal */false, qualifyingFleets, - emptyRaceColumnNames, /* trackedRegattaRegistry */ null, EmptyRaceLogStore.INSTANCE); + emptyRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(qualifyingSeries); // -------- final series ------------ List finalFleets = new ArrayList(); finalFleets.add(new FleetImpl("Gold", 1)); finalFleets.add(new FleetImpl("Silver", 2)); - Series finalSeries = new SeriesImpl("Final", /* isMedal */ false, finalFleets, emptyRaceColumnNames, /* trackedRegattaRegistry */ null, - EmptyRaceLogStore.INSTANCE); + Series finalSeries = new SeriesImpl("Final", /* isMedal */ false, finalFleets, emptyRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(finalSeries); // ------------ medal -------------- List medalFleets = new ArrayList(); medalFleets.add(new FleetImpl("Medal")); - Series medalSeries = new SeriesImpl("Medal", /* isMedal */ true, medalFleets, emptyRaceColumnNames, /* trackedRegattaRegistry */ null, - EmptyRaceLogStore.INSTANCE); + Series medalSeries = new SeriesImpl("Medal", /* isMedal */ true, medalFleets, emptyRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(medalSeries); Regatta regatta = new RegattaImpl(regattaBaseName, boatClass, series, persistent, scoringScheme, "123"); return regatta; @@ -387,7 +382,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest private void addRaceColumnsToSeries(List finalRaceColumnNames, Series finalSeries) { for (String raceColumnName : finalRaceColumnNames) { - finalSeries.addRaceColumn(raceColumnName, /* trackedRegattaRegistry */ null, EmptyRaceLogStore.INSTANCE); + finalSeries.addRaceColumn(raceColumnName, /* trackedRegattaRegistry */ null); } } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java index 1d18fa7cda1..021643db097 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java @@ -46,7 +46,6 @@ import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; import com.sap.sailing.domain.persistence.impl.DomainObjectFactoryImpl; import com.sap.sailing.domain.persistence.impl.MongoObjectFactoryImpl; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.test.mock.MockedTrackedRaceWithFixedRankAndManyCompetitors; import com.sap.sailing.mongodb.MongoDBService; import com.sap.sailing.server.RacingEventService; @@ -129,7 +128,7 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowPoint(), null); racingEventService.addLeaderboard(leaderboard); leaderboard.addRace(raceWithTwoCompetitors, raceColumnName1, /* medalRace */ false, - EmptyRaceLogStore.INSTANCE, leaderboard.getFleet(null)); + leaderboard.getFleet(null)); leaderboard = new FlexibleLeaderboardImpl(leaderboardNames[1], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowPoint(), null); racingEventService.addLeaderboard(leaderboard); @@ -186,7 +185,7 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowPoint(), null); leaderboards.add(leaderboard); leaderboard.addRace(raceWithTwoCompetitors, raceColumnName1, /* medalRace */ false, - EmptyRaceLogStore.INSTANCE, leaderboard.getFleet(null)); + leaderboard.getFleet(null)); leaderboard = new FlexibleLeaderboardImpl(leaderboardNames[1], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowPoint(), null); leaderboards.add(leaderboard); @@ -243,7 +242,7 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowPoint(), null); leaderboards.add(leaderboard); leaderboard.addRace(raceWithTwoCompetitors, raceColumnName1, /* medalRace */ false, - EmptyRaceLogStore.INSTANCE, leaderboard.getFleet(null)); + leaderboard.getFleet(null)); leaderboard = new FlexibleLeaderboardImpl(leaderboardNames[1], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowPoint(), null); leaderboards.add(leaderboard); @@ -427,7 +426,7 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe final FlexibleLeaderboard leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowPoint(), null); final Fleet fleet = leaderboard.getFleet(null); - final RaceColumn race = leaderboard.addRaceColumn(columnName, false, EmptyRaceLogStore.INSTANCE, fleet); + final RaceColumn race = leaderboard.addRaceColumn(columnName, false, fleet); leaderboards.add(leaderboard); final LeaderboardGroup group = new LeaderboardGroupImpl(groupName, groupDescription, false, leaderboards); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java index 10555bab769..e4f64e1ab8f 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java @@ -34,7 +34,6 @@ import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.persistence.impl.DomainObjectFactoryImpl; import com.sap.sailing.domain.persistence.impl.MongoObjectFactoryImpl; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.test.mock.MockedTrackedRaceWithFixedRank; import com.sap.sailing.domain.test.mock.MockedTrackedRaceWithFixedRankAndManyCompetitors; import com.sap.sailing.domain.tracking.TrackedRace; @@ -50,10 +49,10 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { final int[] discardIndexResultsStartingWithHowManyRaces = new int[] { 5, 8 }; FlexibleLeaderboardImpl leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowPoint(), null); - leaderboard.addRaceColumn("R1", /* medalRace */ false, EmptyRaceLogStore.INSTANCE); - RaceColumn r2 = leaderboard.addRaceColumn("R2", /* medalRace */ false, EmptyRaceLogStore.INSTANCE); + leaderboard.addRaceColumn("R1", /* medalRace */ false); + RaceColumn r2 = leaderboard.addRaceColumn("R2", /* medalRace */ false); r2.setFactor(1.5); - RaceColumn r3 = leaderboard.addRaceColumn("R3", /* medalRace */ false, EmptyRaceLogStore.INSTANCE); + RaceColumn r3 = leaderboard.addRaceColumn("R3", /* medalRace */ false); r3.setFactor(2.5); new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); Leaderboard loadedLeaderboard = new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); @@ -77,8 +76,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { final String raceColumnName1 = "My First Race 1"; MockedTrackedRaceWithFixedRankAndManyCompetitors raceWithTwoCompetitors = new MockedTrackedRaceWithFixedRankAndManyCompetitors(wolfgang, /* rank */ 1, /* started */ true); raceWithTwoCompetitors.addCompetitor(hasso); - leaderboard.addRace(raceWithTwoCompetitors, raceColumnName1, /* medalRace */ false, EmptyRaceLogStore.INSTANCE, - leaderboard.getFleet(null)); + leaderboard.addRace(raceWithTwoCompetitors, raceColumnName1, /* medalRace */ false, leaderboard.getFleet(null)); leaderboard.setSuppressed(wolfgang, true); assertTrue(Util.contains(leaderboard.getSuppressedCompetitors(), wolfgang)); assertFalse(Util.contains(leaderboard.getSuppressedCompetitors(), hasso)); @@ -117,16 +115,14 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { Competitor competitor = createCompetitor(); TrackedRace raceWithOneCompetitor1 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 1, /* started */ true); final String raceColumnName1 = "My First Race 1"; - leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, EmptyRaceLogStore.INSTANCE, - leaderboard.getFleet(null)); + leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, leaderboard.getFleet(null)); final String displayName = "$$$ ... The Renamed Competitor ... $$$"; leaderboard.setDisplayName(competitor, displayName); new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard( leaderboardName, /* regattaRegistry */null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly - loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, EmptyRaceLogStore.INSTANCE, - leaderboard.getFleet(null)); + loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); Competitor loadedCompetitor = loadedLeaderboard.getCompetitorByName(competitor.getName()); assertEquals(displayName, loadedLeaderboard.getDisplayName(loadedCompetitor)); } @@ -166,14 +162,12 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowPoint(), null); Competitor competitor = createCompetitor(); TrackedRace raceWithOneCompetitor = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 1, /* started */ true); - leaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace */ false, EmptyRaceLogStore.INSTANCE, - leaderboard.getFleet(null)); + leaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace */ false, leaderboard.getFleet(null)); leaderboard.setCarriedPoints(competitor, carriedPointsForWolfgangHunger); new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly - loadedLeaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace, ignored */ false, EmptyRaceLogStore.INSTANCE, - leaderboard.getFleet(null)); + loadedLeaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace, ignored */ false, leaderboard.getFleet(null)); assertEquals(leaderboardName, loadedLeaderboard.getName()); assertTrue(Arrays.equals(discardIndexResultsStartingWithHowManyRaces, loadedLeaderboard.getResultDiscardingRule() .getDiscardIndexResultsStartingWithHowManyRaces())); @@ -194,18 +188,16 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { Competitor competitor = createCompetitor(); TrackedRace raceWithOneCompetitor1 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 1, /* started */ true); TrackedRace raceWithOneCompetitor2 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 2, /* started */ true); - leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, EmptyRaceLogStore.INSTANCE, - leaderboard.getFleet(null)); - leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, EmptyRaceLogStore.INSTANCE, - leaderboard.getFleet(null)); + leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, leaderboard.getFleet(null)); + leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().correctScore(competitor, leaderboard.getRaceColumnByName(raceColumnName1), correctedPoints); new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, - EmptyRaceLogStore.INSTANCE, leaderboard.getFleet(null)); + leaderboard.getFleet(null)); RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false, - EmptyRaceLogStore.INSTANCE, leaderboard.getFleet(null)); + leaderboard.getFleet(null)); assertEquals(leaderboardName, loadedLeaderboard.getName()); assertTrue(loadedLeaderboard.getScoreCorrection().isScoreCorrected(competitor, loadedColumn1)); assertEquals(correctedPoints, (double) loadedLeaderboard.getScoreCorrection().getExplicitScoreCorrection(competitor, loadedColumn1), 0.00000001); @@ -224,18 +216,16 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { Competitor competitor = createCompetitor(); TrackedRace raceWithOneCompetitor1 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 1, /* started */ true); TrackedRace raceWithOneCompetitor2 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 2, /* started */ true); - leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, EmptyRaceLogStore.INSTANCE, - leaderboard.getFleet(null)); - leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, EmptyRaceLogStore.INSTANCE, - leaderboard.getFleet(null)); + leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, leaderboard.getFleet(null)); + leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().setMaxPointsReason(competitor, leaderboard.getRaceColumnByName(raceColumnName2), maxPointsReason); new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, - EmptyRaceLogStore.INSTANCE, leaderboard.getFleet(null)); + leaderboard.getFleet(null)); RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false, - EmptyRaceLogStore.INSTANCE, leaderboard.getFleet(null)); + leaderboard.getFleet(null)); assertEquals(leaderboardName, loadedLeaderboard.getName()); assertFalse(loadedLeaderboard.getScoreCorrection().isScoreCorrected(competitor, loadedColumn1)); assertTrue(loadedLeaderboard.getScoreCorrection().isScoreCorrected(competitor, loadedColumn2)); @@ -256,18 +246,18 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { TrackedRace raceWithOneCompetitor1 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 1, /* started */ true); TrackedRace raceWithOneCompetitor2 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 2, /* started */ true); leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, - EmptyRaceLogStore.INSTANCE, leaderboard.getFleet(null)); + leaderboard.getFleet(null)); leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, - EmptyRaceLogStore.INSTANCE, leaderboard.getFleet(null)); + leaderboard.getFleet(null)); leaderboard.getScoreCorrection().correctScore(competitor, leaderboard.getRaceColumnByName(raceColumnName1), correctedPoints); leaderboard.getScoreCorrection().setMaxPointsReason(competitor, leaderboard.getRaceColumnByName(raceColumnName2), maxPointsReason); new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, - EmptyRaceLogStore.INSTANCE, leaderboard.getFleet(null)); + leaderboard.getFleet(null)); RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false, - EmptyRaceLogStore.INSTANCE, leaderboard.getFleet(null)); + leaderboard.getFleet(null)); assertEquals(leaderboardName, loadedLeaderboard.getName()); assertTrue(loadedLeaderboard.getScoreCorrection().isScoreCorrected(competitor, loadedColumn1)); assertEquals(correctedPoints, (double) loadedLeaderboard.getScoreCorrection().getExplicitScoreCorrection(competitor, loadedColumn1), 0.000000001); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogsTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogsTest.java index 49ba83cd720..995c9536613 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogsTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogsTest.java @@ -19,7 +19,6 @@ import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.racelog.RaceLog; import com.sap.sailing.domain.racelog.RaceLogEventFactory; import com.sap.sailing.domain.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.test.AbstractTracTracLiveTest; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; @@ -60,8 +59,7 @@ public class TestStoringAndRetrievingRaceLogsTest extends AbstractTracTracLiveTe @Test public void testStoreAFewRaceLogEntries() throws UnknownHostException, MongoException, InterruptedException { DomainFactory domainFactory = DomainFactory.INSTANCE; - Regatta domainEvent = domainFactory.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null, - EmptyRaceLogStore.INSTANCE); + Regatta domainEvent = domainFactory.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null); DynamicTrackedRegatta trackedRegatta = new RacingEventServiceImpl().getOrCreateTrackedRegatta(domainEvent); Iterable typeControllers = domainFactory.getUpdateReceivers(trackedRegatta, getTracTracEvent(), EmptyWindStore.INSTANCE, diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java index 4650dcaca84..84a940648de 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java @@ -27,7 +27,6 @@ import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.impl.WindSourceImpl; import com.sap.sailing.domain.persistence.impl.DomainObjectFactoryImpl; import com.sap.sailing.domain.persistence.impl.MongoObjectFactoryImpl; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.test.AbstractTracTracLiveTest; import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; @@ -71,8 +70,7 @@ public class TestStoringAndRetrievingWindTracksTest extends AbstractTracTracLive @Test public void testStoreAFewWindEntries() throws UnknownHostException, MongoException, InterruptedException { DomainFactory domainFactory = DomainFactory.INSTANCE; - Regatta domainEvent = domainFactory.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null, - EmptyRaceLogStore.INSTANCE); + Regatta domainEvent = domainFactory.getOrCreateDefaultRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null); DynamicTrackedRegatta trackedRegatta = new RacingEventServiceImpl().getOrCreateTrackedRegatta(domainEvent); Iterable typeControllers = domainFactory.getUpdateReceivers(trackedRegatta, getTracTracEvent(), EmptyWindStore.INSTANCE, diff --git a/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/serialization/impl/leaderboard/SeriesDataOfLeaderboardExtensionSerializer.java b/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/serialization/impl/leaderboard/SeriesDataOfLeaderboardExtensionSerializer.java index d5b93907bab..27ea987eb3d 100644 --- a/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/serialization/impl/leaderboard/SeriesDataOfLeaderboardExtensionSerializer.java +++ b/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/serialization/impl/leaderboard/SeriesDataOfLeaderboardExtensionSerializer.java @@ -1,73 +1,72 @@ -package com.sap.sailing.server.gateway.serialization.impl.leaderboard; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.json.simple.JSONArray; - -import com.sap.sailing.domain.base.Fleet; -import com.sap.sailing.domain.base.RaceColumn; -import com.sap.sailing.domain.base.RaceColumnInSeries; -import com.sap.sailing.domain.base.Series; -import com.sap.sailing.domain.base.SeriesData; -import com.sap.sailing.domain.base.impl.FleetImpl; -import com.sap.sailing.domain.base.impl.SeriesImpl; -import com.sap.sailing.domain.leaderboard.Leaderboard; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; -import com.sap.sailing.server.gateway.serialization.ExtensionJsonSerializer; -import com.sap.sailing.server.gateway.serialization.JsonSerializer; - -public class SeriesDataOfLeaderboardExtensionSerializer extends ExtensionJsonSerializer { - public static final String FIELD_SERIES = "series"; - - - public SeriesDataOfLeaderboardExtensionSerializer(JsonSerializer extensionSerializer) { - super(extensionSerializer); - } - - @Override - public String getExtensionFieldName() { - return FIELD_SERIES; - } - - @Override - public Object serializeExtension(Leaderboard parent) { - Map> seriesToRaceColumns = new HashMap>(); - - Series defaultSeries = null; - for (RaceColumn raceColumn : parent.getRaceColumns()) { - if (raceColumn instanceof RaceColumnInSeries) { - RaceColumnInSeries raceColumnInSeries = (RaceColumnInSeries) raceColumn; - insertSeriesIfNew(seriesToRaceColumns, raceColumnInSeries.getSeries()).add(raceColumnInSeries); - } else { - if (defaultSeries == null) { - defaultSeries = new SeriesImpl( - "Default Series", - false, - Collections.singleton(new FleetImpl("Default Fleet")), - Collections.emptyList(), - null, EmptyRaceLogStore.INSTANCE); - insertSeriesIfNew(seriesToRaceColumns, defaultSeries); - } - seriesToRaceColumns.get(defaultSeries).add(raceColumn); - } - } - - JSONArray result = new JSONArray(); - for (Series series : seriesToRaceColumns.keySet()) { - result.add(serialize(series)); - } - - return result; - } - - private List insertSeriesIfNew(Map> target, Series newSeries) { - if (!target.containsKey(newSeries)) { - target.put(newSeries, new ArrayList()); - } - return target.get(newSeries); - } -} +package com.sap.sailing.server.gateway.serialization.impl.leaderboard; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.json.simple.JSONArray; + +import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnInSeries; +import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.base.SeriesData; +import com.sap.sailing.domain.base.impl.FleetImpl; +import com.sap.sailing.domain.base.impl.SeriesImpl; +import com.sap.sailing.domain.leaderboard.Leaderboard; +import com.sap.sailing.server.gateway.serialization.ExtensionJsonSerializer; +import com.sap.sailing.server.gateway.serialization.JsonSerializer; + +public class SeriesDataOfLeaderboardExtensionSerializer extends ExtensionJsonSerializer { + public static final String FIELD_SERIES = "series"; + + + public SeriesDataOfLeaderboardExtensionSerializer(JsonSerializer extensionSerializer) { + super(extensionSerializer); + } + + @Override + public String getExtensionFieldName() { + return FIELD_SERIES; + } + + @Override + public Object serializeExtension(Leaderboard parent) { + Map> seriesToRaceColumns = new HashMap>(); + + Series defaultSeries = null; + for (RaceColumn raceColumn : parent.getRaceColumns()) { + if (raceColumn instanceof RaceColumnInSeries) { + RaceColumnInSeries raceColumnInSeries = (RaceColumnInSeries) raceColumn; + insertSeriesIfNew(seriesToRaceColumns, raceColumnInSeries.getSeries()).add(raceColumnInSeries); + } else { + if (defaultSeries == null) { + defaultSeries = new SeriesImpl( + "Default Series", + false, + Collections.singleton(new FleetImpl("Default Fleet")), + Collections.emptyList(), + null); + insertSeriesIfNew(seriesToRaceColumns, defaultSeries); + } + seriesToRaceColumns.get(defaultSeries).add(raceColumn); + } + } + + JSONArray result = new JSONArray(); + for (Series series : seriesToRaceColumns.keySet()) { + result.add(serialize(series)); + } + + return result; + } + + private List insertSeriesIfNew(Map> target, Series newSeries) { + if (!target.containsKey(newSeries)) { + target.put(newSeries, new ArrayList()); + } + return target.get(newSeries); + } +} diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/AdminApp.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/AdminApp.java index 4b9f3988497..d4bd9d567ed 100755 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/AdminApp.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/AdminApp.java @@ -38,10 +38,7 @@ import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.common.impl.WindSourceImpl; import com.sap.sailing.domain.persistence.MongoFactory; -import com.sap.sailing.domain.persistence.MongoRaceLogStoreFactory; import com.sap.sailing.domain.persistence.MongoWindStoreFactory; -import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.Wind; @@ -118,8 +115,6 @@ public class AdminApp extends SailingServerHttpServlet { private static final String PARAM_NAME_WINDSTORE = "windstore"; - private static final String PARAM_NAME_RACELOGSTORE = "racelogstore"; - private static final String STORE_EMPTY = "empty"; private static final String STORE_MONGO = "mongo"; @@ -471,7 +466,7 @@ public class AdminApp extends SailingServerHttpServlet { URL jsonURL = new URL(req.getParameter(PARAM_NAME_EVENT_JSON_URL)); URI liveURI = new URI(req.getParameter(PARAM_NAME_LIVE_URI)); URI storedURI = new URI(req.getParameter(PARAM_NAME_STORED_URI)); - getService().addRegatta(jsonURL, liveURI, storedURI, getWindStore(req), /* timeoutInMilliseconds */ 60000, getRaceLogStore(req)); + getService().addRegatta(jsonURL, liveURI, storedURI, getWindStore(req), /* timeoutInMilliseconds */ 60000); } private WindStore getWindStore(HttpServletRequest req) throws UnknownHostException, MongoException { @@ -490,29 +485,12 @@ public class AdminApp extends SailingServerHttpServlet { } return EmptyWindStore.INSTANCE; } - - private RaceLogStore getRaceLogStore(HttpServletRequest req) throws UnknownHostException, MongoException { - String raceLogStore = req.getParameter(PARAM_NAME_RACELOGSTORE); - if (raceLogStore != null) { - if (raceLogStore.equals(STORE_EMPTY)) { - return EmptyRaceLogStore.INSTANCE; - } else if (raceLogStore.equals(STORE_MONGO)) { - return MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore( - MongoFactory.INSTANCE.getDefaultMongoObjectFactory(), - MongoFactory.INSTANCE.getDefaultDomainObjectFactory()); - } else { - log("Couldn't find wind store "+raceLogStore+". Using EmptyWindStore instead."); - return EmptyRaceLogStore.INSTANCE; - } - } - return EmptyRaceLogStore.INSTANCE; - } private void addRace(HttpServletRequest req, HttpServletResponse resp) throws MongoException, Exception { URL paramURL = new URL(req.getParameter(PARAM_NAME_PARAM_URL)); URI liveURI = new URI(req.getParameter(PARAM_NAME_LIVE_URI)); URI storedURI = new URI(req.getParameter(PARAM_NAME_STORED_URI)); - getService().addTracTracRace(paramURL, liveURI, storedURI, getWindStore(req), /* timeoutInMilliseconds */ 60000, getRaceLogStore(req)); + getService().addTracTracRace(paramURL, liveURI, storedURI, getWindStore(req), /* timeoutInMilliseconds */ 60000); } private void stopRace(HttpServletRequest req, HttpServletResponse resp) throws MalformedURLException, IOException, InterruptedException { diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java index d804082982e..3fc7f7df493 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java @@ -22,7 +22,6 @@ import com.sap.sailing.domain.base.impl.SeriesImpl; import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.ScoringSchemeType; import com.sap.sailing.domain.common.impl.Util; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; public class RegattaReplicationTest extends AbstractServerReplicationTest { @Test @@ -31,8 +30,7 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest { final String boatClassName = "49er"; final Iterable series = Collections.emptyList(); Regatta masterRegatta = master.createRegatta(baseEventName, boatClassName, UUID.randomUUID(), series, - /* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), - EmptyRaceLogStore.INSTANCE); + /* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT)); Thread.sleep(1000); Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName())); assertNotNull(replicatedRegatta); @@ -46,17 +44,13 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest { final String boatClassName = "49er"; final List emptyRaceColumnNamesList = Collections.emptyList(); Series qualification = new SeriesImpl("Qualification", /* isMedal */ false, - Arrays.asList(new Fleet[] { new FleetImpl("Yellow"), new FleetImpl("Blue") }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null, - EmptyRaceLogStore.INSTANCE); + Arrays.asList(new Fleet[] { new FleetImpl("Yellow"), new FleetImpl("Blue") }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null); Series finals = new SeriesImpl("Finals", /* isMedal */ false, - Arrays.asList(new Fleet[] { new FleetImpl("Gold", 1), new FleetImpl("Silver", 2) }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null, - EmptyRaceLogStore.INSTANCE); + Arrays.asList(new Fleet[] { new FleetImpl("Gold", 1), new FleetImpl("Silver", 2) }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null); Series medal = new SeriesImpl("Medal", /* isMedal */ true, - Arrays.asList(new Fleet[] { new FleetImpl("Medal") }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null, - EmptyRaceLogStore.INSTANCE); + Arrays.asList(new Fleet[] { new FleetImpl("Medal") }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null); Regatta masterRegatta = master.createRegatta(baseEventName, boatClassName, - UUID.randomUUID(), Arrays.asList(new Series[] { qualification, finals, medal }), /* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), - EmptyRaceLogStore.INSTANCE); + UUID.randomUUID(), Arrays.asList(new Series[] { qualification, finals, medal }), /* persistent */ true, DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT)); Thread.sleep(1000); Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName())); assertNotNull(replicatedRegatta); diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java index 6b3fb2ca077..a9ec8fc1e74 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java @@ -28,7 +28,6 @@ import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.WindSourceImpl; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.impl.LowPoint; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.test.AbstractTracTracLiveTest; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters; @@ -81,7 +80,7 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { }); trackingParams = com.sap.sailing.domain.tractracadapter.DomainFactory.INSTANCE.createTrackingConnectivityParameters(paramURL, liveURI, storedURI, startOfTracking, endOfTracking, /* delayToLiveInMillis */ - 0l, /* simulateWithStartTimeNow */false, EmptyWindStore.INSTANCE, EmptyRaceLogStore.INSTANCE); + 0l, /* simulateWithStartTimeNow */false, EmptyWindStore.INSTANCE); } private void startTracking() throws Exception, InterruptedException { diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java index ae8d48cceca..3f46033611e 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java @@ -22,7 +22,6 @@ import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.impl.HighPoint; import com.sap.sailing.domain.leaderboard.impl.LowPoint; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.test.AbstractLeaderboardTest; import com.sap.sailing.domain.test.mock.MockedTrackedRaceWithFixedRank; import com.sap.sailing.domain.tracking.TrackedRace; @@ -71,15 +70,15 @@ public class LeaderboardDiscardingRulesTest { Competitor hasso = AbstractLeaderboardTest.createCompetitor("Dr. Hasso Plattner"); final TrackedRace race1 = new MockedTrackedRaceWithFixedRank(hasso, /* rank */ 123, /* started */ true, boatClass); - leaderboard.addRace(race1, "R1", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race1, "R1", /* medalRace */ false, fleet); final TrackedRace race2 = new MockedTrackedRaceWithFixedRank(hasso, /* rank */ 123, /* started */ true, boatClass); - leaderboard.addRace(race2, "R2", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race2, "R2", /* medalRace */ false, fleet); Competitor wolfgang = AbstractLeaderboardTest.createCompetitor("Wolfgang Hunger"); final TrackedRace race3 = new MockedTrackedRaceWithFixedRank(wolfgang, /* rank */ 123, /* started */ true, boatClass); - leaderboard.addRace(race3, "R3", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race3, "R3", /* medalRace */ false, fleet); final TrackedRace race4 = new MockedTrackedRaceWithFixedRank(wolfgang, /* rank */ 124, /* started */ true, boatClass); - leaderboard.addRace(race4, "R4", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race4, "R4", /* medalRace */ false, fleet); leaderboard.getScoreCorrection().correctScore(hasso, leaderboard.getRaceColumnByName("R3"), 123.); leaderboard.getScoreCorrection().correctScore(hasso, leaderboard.getRaceColumnByName("R4"), 123.); @@ -111,19 +110,19 @@ public class LeaderboardDiscardingRulesTest { Competitor rasmus = AbstractLeaderboardTest.createCompetitor("Rasmus"); final TrackedRace race1 = new MockedTrackedRaceWithFixedRank(rasmus, /* rank */ 2, /* started */ true, boatClass); // score 2.0 - leaderboard.addRace(race1, "R1", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race1, "R1", /* medalRace */ false, fleet); final TrackedRace race2 = new MockedTrackedRaceWithFixedRank(rasmus, /* rank */ 2, /* started */ true, boatClass); // score 2.0 - leaderboard.addRace(race2, "R2", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race2, "R2", /* medalRace */ false, fleet); Competitor jes = AbstractLeaderboardTest.createCompetitor("Jes"); final TrackedRace race3 = new MockedTrackedRaceWithFixedRank(jes, /* rank */ 2, /* started */ true, boatClass); // score 2.0 - leaderboard.addRace(race3, "R3", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race3, "R3", /* medalRace */ false, fleet); final TrackedRace race4 = new MockedTrackedRaceWithFixedRank(jes, /* rank */ 3, /* started */ true, boatClass); // score 1.0 - leaderboard.addRace(race4, "R4", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race4, "R4", /* medalRace */ false, fleet); Competitor nobody = AbstractLeaderboardTest.createCompetitor("Nobody"); final TrackedRace race5 = new MockedTrackedRaceWithFixedRank(nobody, /* rank */ 3, /* started */ true, boatClass); // score 1.0 - leaderboard.addRace(race5, "R5", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race5, "R5", /* medalRace */ false, fleet); leaderboard.getScoreCorrection().correctScore(rasmus, leaderboard.getRaceColumnByName("R3"), 2.0); leaderboard.getScoreCorrection().correctScore(rasmus, leaderboard.getRaceColumnByName("R4"), 2.0); @@ -156,15 +155,15 @@ public class LeaderboardDiscardingRulesTest { Competitor hasso = AbstractLeaderboardTest.createCompetitor("Dr. Hasso Plattner"); final TrackedRace race1 = new MockedTrackedRaceWithFixedRank(hasso, /* rank */ 123, /* started */ true, boatClass); - leaderboard.addRace(race1, "R1", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race1, "R1", /* medalRace */ false, fleet); final TrackedRace race2 = new MockedTrackedRaceWithFixedRank(hasso, /* rank */ 123, /* started */ true, boatClass); - leaderboard.addRace(race2, "R2", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race2, "R2", /* medalRace */ false, fleet); Competitor wolfgang = AbstractLeaderboardTest.createCompetitor("Wolfgang Hunger"); final TrackedRace race3 = new MockedTrackedRaceWithFixedRank(wolfgang, /* rank */ 123, /* started */ true, boatClass); - leaderboard.addRace(race3, "R3", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race3, "R3", /* medalRace */ false, fleet); final TrackedRace race4 = new MockedTrackedRaceWithFixedRank(wolfgang, /* rank */ 124, /* started */ true, boatClass); - leaderboard.addRace(race4, "R4", /* medalRace */ false, EmptyRaceLogStore.INSTANCE, fleet); + leaderboard.addRace(race4, "R4", /* medalRace */ false, fleet); leaderboard.getScoreCorrection().correctScore(hasso, leaderboard.getRaceColumnByName("R3"), 123.); leaderboard.getScoreCorrection().correctScore(hasso, leaderboard.getRaceColumnByName("R4"), 123.); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java index 6855ddb9b82..417521e7b3f 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java @@ -29,7 +29,6 @@ import com.sap.sailing.domain.base.impl.CourseImpl; import com.sap.sailing.domain.base.impl.RaceDefinitionImpl; import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.common.ScoringSchemeType; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.RaceTracker; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegatta; @@ -62,8 +61,7 @@ public class RaceTrackerStartStopTest { racingEventService = new RacingEventServiceImplMock(); boatClass = new BoatClassImpl(BOATCLASSNAME, /* typicallyStartsUpwind */ true); regatta = new RegattaImpl(EVENTNAME, boatClass, /* trackedRegattaRegistry */ null, - DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), UUID.randomUUID(), - EmptyRaceLogStore.INSTANCE); + DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), UUID.randomUUID()); racingEventService.getEventsByName().put(EVENTNAME, regatta); TrackedRegatta trackedRegatta1 = racingEventService.getOrCreateTrackedRegatta(regatta); racingEventService.getEventsByNameMap().put(EVENTNAME, regatta); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java index a34523b6670..f4885841fa1 100755 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java @@ -20,7 +20,6 @@ import org.junit.Test; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.common.impl.Util; -import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.tracking.RaceListener; import com.sap.sailing.domain.tracking.RacesHandle; import com.sap.sailing.domain.tracking.TrackedRace; @@ -61,8 +60,7 @@ public class RaceTrackerTest { public void setUp() throws Exception { service = new RacingEventServiceImpl(); logger.info("Calling service.addTracTracRace"); - raceHandle = service.addTracTracRace(paramUrl, liveUri, storedUri, EmptyWindStore.INSTANCE, /* timeoutInMilliseconds */ 60000, - EmptyRaceLogStore.INSTANCE); + raceHandle = service.addTracTracRace(paramUrl, liveUri, storedUri, EmptyWindStore.INSTANCE, /* timeoutInMilliseconds */ 60000); logger.info("Calling raceHandle.getRaces()"); Set races = raceHandle.getRaces(); // wait for RaceDefinition to be completely wired in Regatta logger.info("Obtained races: "+races); @@ -118,8 +116,7 @@ public class RaceTrackerTest { RaceDefinition oldRaceDefinition = oldTrackedRace.getRace(); assertTrue(!Util.isEmpty(raceHandle.getRegatta().getAllRaces())); service.removeRegatta(raceHandle.getRegatta()); - RacesHandle myRaceHandle = service.addTracTracRace(paramUrl, liveUri, storedUri, EmptyWindStore.INSTANCE, /* timeoutInMilliseconds */ 60000, - EmptyRaceLogStore.INSTANCE); + RacesHandle myRaceHandle = service.addTracTracRace(paramUrl, liveUri, storedUri, EmptyWindStore.INSTANCE, /* timeoutInMilliseconds */ 60000); TrackedRegatta newTrackedRegatta = myRaceHandle.getTrackedRegatta(); assertNotSame(oldTrackedRegatta, newTrackedRegatta); TrackedRace newTrackedRace = getTrackedRace(newTrackedRegatta); @@ -143,8 +140,7 @@ public class RaceTrackerTest { logger.entering(getClass().getName(), "testTrackingSameRaceWithoutStopping"); TrackedRegatta oldTrackedRegatta = raceHandle.getTrackedRegatta(); TrackedRace oldTrackedRace = getTrackedRace(oldTrackedRegatta); - RacesHandle myRaceHandle = service.addTracTracRace(paramUrl, liveUri, storedUri, EmptyWindStore.INSTANCE, /* timeoutInMilliseconds */ 60000, - EmptyRaceLogStore.INSTANCE); + RacesHandle myRaceHandle = service.addTracTracRace(paramUrl, liveUri, storedUri, EmptyWindStore.INSTANCE, /* timeoutInMilliseconds */ 60000); TrackedRegatta newTrackedEvent = myRaceHandle.getTrackedRegatta(); TrackedRace newTrackedRace = getTrackedRace(newTrackedEvent); // expecting a new tracked race to be created when starting over with tracking diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index ee31231c0bb..34abf96ebb9 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -40,7 +40,7 @@ import com.sap.sailing.domain.leaderboard.LeaderboardRegistry; import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.leaderboard.ScoringScheme; import com.sap.sailing.domain.racelog.RaceLogEvent; -import com.sap.sailing.domain.racelog.RaceLogStore; +import com.sap.sailing.domain.racelog.RaceLogIdentifier; import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; import com.sap.sailing.domain.tracking.RaceListener; import com.sap.sailing.domain.tracking.RaceTracker; @@ -111,7 +111,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch * if a race definition is not received for a race of this event within this time, the race tracker for * that race is stopped; use -1 to wait forever */ - Regatta addRegatta(URL jsonURL, URI liveURI, URI storedURI, WindStore windStore, long timeoutInMilliseconds, RaceLogStore raceLogStore) + Regatta addRegatta(URL jsonURL, URI liveURI, URI storedURI, WindStore windStore, long timeoutInMilliseconds) throws MalformedURLException, FileNotFoundException, URISyntaxException, IOException, ParseException, org.json.simple.parser.ParseException, Exception; @@ -132,12 +132,11 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch * already being tracked, then regardless of the windStore selection the existing tracker will be used * and its race handle will be returned. A log message will indicate a potential wind store mismatch (based on * {@link WindStore#equals(Object)}). - * * @param timeoutInMilliseconds * if the race definition is not received for the race within this time, the race tracker for * that race is stopped; use -1 to wait forever */ - RacesHandle addTracTracRace(URL paramURL, URI liveURI, URI storedURI, WindStore windStore, long timeoutInMilliseconds, RaceLogStore raceLogStore) + RacesHandle addTracTracRace(URL paramURL, URI liveURI, URI storedURI, WindStore windStore, long timeoutInMilliseconds) throws MalformedURLException, FileNotFoundException, URISyntaxException, Exception; /** @@ -154,7 +153,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch */ RacesHandle addTracTracRace(RegattaIdentifier regattaToAddTo, URL paramURL, URI liveURI, URI storedURI, TimePoint trackingStartTime, TimePoint trackingEndTime, WindStore windStore, - long timeoutForReceivingRaceDefinitionInMilliseconds, boolean simulateWithStartTimeNow, RaceLogStore raceLogStore) + long timeoutForReceivingRaceDefinitionInMilliseconds, boolean simulateWithStartTimeNow) throws MalformedURLException, FileNotFoundException, URISyntaxException, Exception; /** @@ -289,7 +288,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch * to add the races to. Otherwise, a default regatta as described above will be created and used. */ RacesHandle addSwissTimingRace(RegattaIdentifier regattaToAddTo, String raceID, String hostname, int port, - boolean canSendRequests, WindStore windStore, long timeoutInMilliseconds, RaceLogStore raceLogStore) + boolean canSendRequests, WindStore windStore, long timeoutInMilliseconds) throws InterruptedException, UnknownHostException, IOException, ParseException, Exception; @@ -376,7 +375,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch Regatta getOrCreateRegatta(String regattaName, String boatClassName, Serializable id); - Regatta createRegatta(String baseName, String boatClassName, Serializable id, Iterable series, boolean persistent, ScoringScheme scoringScheme, RaceLogStore raceLogStore); + Regatta createRegatta(String baseName, String boatClassName, Serializable id, Iterable series, boolean persistent, ScoringScheme scoringScheme); /** * Adds raceDefinition to the {@link Regatta} such that it will appear in {@link Regatta#getAllRaces()} @@ -497,6 +496,6 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch CourseArea getCourseArea(Serializable courseAreaId); - void recordRaceLogEvent(String leaderboardName, String raceColumnName, String fleetName, RaceLogEvent event); + void recordRaceLogEvent(RaceLogIdentifier identifier, RaceLogEvent event); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 333004c7247..a8b1fc3a3b7 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -71,11 +71,8 @@ import com.sap.sailing.domain.leaderboard.meta.LeaderboardGroupMetaLeaderboard; import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; -import com.sap.sailing.domain.persistence.MongoRaceLogStoreFactory; -import com.sap.sailing.domain.racelog.RaceColumnIdentifier; import com.sap.sailing.domain.racelog.RaceLogEvent; -import com.sap.sailing.domain.racelog.RaceLogStore; -import com.sap.sailing.domain.racelog.impl.RaceColumnIdentifierImpl; +import com.sap.sailing.domain.racelog.RaceLogIdentifier; import com.sap.sailing.domain.swisstimingadapter.Race; import com.sap.sailing.domain.swisstimingadapter.SailMasterConnector; import com.sap.sailing.domain.swisstimingadapter.SailMasterMessage; @@ -118,7 +115,6 @@ import com.sap.sailing.server.operationaltransformation.CreateEvent; import com.sap.sailing.server.operationaltransformation.CreateTrackedRace; import com.sap.sailing.server.operationaltransformation.RecordCompetitorGPSFix; import com.sap.sailing.server.operationaltransformation.RecordMarkGPSFix; -import com.sap.sailing.server.operationaltransformation.RecordRaceLogEvent; import com.sap.sailing.server.operationaltransformation.RecordWindFix; import com.sap.sailing.server.operationaltransformation.RemoveEvent; import com.sap.sailing.server.operationaltransformation.RemoveWindFix; @@ -364,10 +360,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen if (leaderboard != null) { if (leaderboard instanceof FlexibleLeaderboard) { // uses the default fleet as the single fleet for the new column - RaceColumnIdentifier columnIdentifier = new RaceColumnIdentifierImpl(leaderboardName, columnName); RaceColumn result = ((FlexibleLeaderboard) leaderboard).addRaceColumn(columnName, medalRace, - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(mongoObjectFactory, domainObjectFactory, columnIdentifier), - leaderboard.getFleet(null)); + leaderboard.getFleet(null)); updateStoredLeaderboard((FlexibleLeaderboard) leaderboard); return result; } else { @@ -605,13 +599,12 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } @Override - public Regatta addRegatta(URL jsonURL, URI liveURI, URI storedURI, WindStore windStore, long timeoutInMilliseconds, - RaceLogStore raceLogStore) throws Exception { + public Regatta addRegatta(URL jsonURL, URI liveURI, URI storedURI, WindStore windStore, long timeoutInMilliseconds) throws Exception { JSONService jsonService = getTracTracDomainFactory().parseJSONURL(jsonURL); Regatta regatta = null; for (RaceRecord rr : jsonService.getRaceRecords()) { URL paramURL = rr.getParamURL(); - regatta = addTracTracRace(paramURL, liveURI, storedURI, windStore, timeoutInMilliseconds, raceLogStore).getRegatta(); + regatta = addTracTracRace(paramURL, liveURI, storedURI, windStore, timeoutInMilliseconds).getRegatta(); } return regatta; } @@ -620,8 +613,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen public Regatta getOrCreateRegatta(String baseEventName, String boatClassName, Serializable id) { Regatta regatta = new RegattaImpl(baseEventName, getBaseDomainFactory().getOrCreateBoatClass( boatClassName), this, com.sap.sailing.domain.base.DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT), - RegattaImpl.getFullName(baseEventName, boatClassName), - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(mongoObjectFactory, domainObjectFactory)); + RegattaImpl.getFullName(baseEventName, boatClassName)); Regatta result = regattasByName.get(regatta.getName()); if (result == null) { result = regatta; @@ -633,11 +625,11 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public Regatta createRegatta(String baseEventName, String boatClassName, - Serializable id, Iterable series, boolean persistent, ScoringScheme scoringScheme, RaceLogStore raceLogStore) { + Serializable id, Iterable series, boolean persistent, ScoringScheme scoringScheme) { Regatta regatta = new RegattaImpl(baseEventName, getBaseDomainFactory().getOrCreateBoatClass(boatClassName), series, persistent, scoringScheme, id); logger.info("Created regatta " + regatta.getName() + " (" + hashCode() + ") on "+this); - cacheAndReplicateSpecificRegattaWithoutRaceColumns(regatta, raceLogStore); + cacheAndReplicateSpecificRegattaWithoutRaceColumns(regatta); if (persistent) { updateStoredRegatta(regatta); } @@ -667,20 +659,20 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public RacesHandle addSwissTimingRace(RegattaIdentifier regattaToAddTo, String raceID, String hostname, - int port, boolean canSendRequests, WindStore windStore, long timeoutInMilliseconds, RaceLogStore raceLogStore) throws Exception { + int port, boolean canSendRequests, WindStore windStore, long timeoutInMilliseconds) throws Exception { return addRace( regattaToAddTo, swissTimingDomainFactory.createTrackingConnectivityParameters(hostname, port, raceID, canSendRequests, delayToLiveInMillis, - swissTimingFactory, swissTimingDomainFactory, windStore, swissTimingAdapterPersistence, raceLogStore), windStore, timeoutInMilliseconds); + swissTimingFactory, swissTimingDomainFactory, windStore, swissTimingAdapterPersistence), windStore, timeoutInMilliseconds); } @Override public RacesHandle addTracTracRace(URL paramURL, URI liveURI, URI storedURI, WindStore windStore, - long timeoutInMilliseconds, RaceLogStore raceLogStore) throws Exception { + long timeoutInMilliseconds) throws Exception { return addRace( /* regattaToAddTo */null, getTracTracDomainFactory().createTrackingConnectivityParameters(paramURL, liveURI, storedURI, /* startOfTracking */null, - /* endOfTracking */null, delayToLiveInMillis, /* simulateWithStartTimeNow */false, windStore, raceLogStore), windStore, + /* endOfTracking */null, delayToLiveInMillis, /* simulateWithStartTimeNow */false, windStore), windStore, timeoutInMilliseconds); } @@ -771,14 +763,14 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen * the series of this regatta must not have any {@link Series#getRaceColumns() race columns associated * (yet)}. */ - private void cacheAndReplicateSpecificRegattaWithoutRaceColumns(Regatta regatta, RaceLogStore raceLogStore) { + private void cacheAndReplicateSpecificRegattaWithoutRaceColumns(Regatta regatta) { if (!regattasByName.containsKey(regatta.getName())) { logger.info("putting regatta "+regatta.getName()+" ("+regatta.hashCode()+") into regattasByName of "+this); regattasByName.put(regatta.getName(), regatta); regatta.addRegattaListener(this); replicate(new AddSpecificRegatta(regatta.getBaseName(), regatta.getBoatClass() == null ? null : regatta .getBoatClass().getName(), regatta.getId(), getSeriesWithoutRaceColumnsConstructionParametersAsMap(regatta), - regatta.isPersistent(), regatta.getScoringScheme(), raceLogStore)); + regatta.isPersistent(), regatta.getScoringScheme())); RegattaIdentifier regattaIdentifier = regatta.getRegattaIdentifier(); for (RaceDefinition race : regatta.getAllRaces()) { replicate(new AddRaceDefinition(regattaIdentifier, race)); @@ -831,9 +823,9 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public RacesHandle addTracTracRace(RegattaIdentifier regattaToAddTo, URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, - WindStore windStore, long timeoutInMilliseconds, boolean simulateWithStartTimeNow, RaceLogStore raceLogStore) throws Exception { + WindStore windStore, long timeoutInMilliseconds, boolean simulateWithStartTimeNow) throws Exception { return addRace(regattaToAddTo, getTracTracDomainFactory().createTrackingConnectivityParameters(paramURL, liveURI, storedURI, startOfTracking, - endOfTracking, delayToLiveInMillis, simulateWithStartTimeNow, windStore, raceLogStore), windStore, timeoutInMilliseconds); + endOfTracking, delayToLiveInMillis, simulateWithStartTimeNow, windStore), windStore, timeoutInMilliseconds); } private void ensureRegattaIsObservedForDefaultLeaderboardAndAutoLeaderboardLinking(DynamicTrackedRegatta trackedRegatta) { @@ -889,10 +881,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen final FlexibleLeaderboard defaultLeaderboard = (FlexibleLeaderboard) leaderboardsByName.get(LeaderboardNameConstants.DEFAULT_LEADERBOARD_NAME); if (defaultLeaderboard != null) { String columnName = trackedRace.getRace().getName(); - RaceColumnIdentifier columnIdentifier = new RaceColumnIdentifierImpl(defaultLeaderboard.getName(), columnName); defaultLeaderboard.addRace(trackedRace, columnName, /* medalRace */false, - MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(mongoObjectFactory, domainObjectFactory, columnIdentifier), - defaultLeaderboard.getFleet(null)); + defaultLeaderboard.getFleet(null)); } TrackedRaceReplicator trackedRaceReplicator = new TrackedRaceReplicator(trackedRace); trackedRaceReplicators.put(trackedRace, trackedRaceReplicator); @@ -1654,9 +1644,9 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } @Override - public void recordRaceLogEvent(String leaderboardName, String raceColumnName, String fleetName, RaceLogEvent event) { - RecordRaceLogEvent command = new RecordRaceLogEvent(leaderboardName, raceColumnName, fleetName, event); - apply(command); + public void recordRaceLogEvent(RaceLogIdentifier identifier, RaceLogEvent event) { + //RaceLog raceLog = getRaceLog(identifier); + //raceLog.add(event); } } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java index f3fb877de15..b4f9d3e0b20 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java @@ -3,18 +3,14 @@ package com.sap.sailing.server.operationaltransformation; import com.sap.sailing.domain.base.RaceColumnInSeries; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.RegattaIdentifier; -import com.sap.sailing.domain.racelog.RaceLogStore; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; public class AddColumnToSeries extends AbstractColumnInSeriesOperation { private static final long serialVersionUID = 8987540636040301063L; - private RaceLogStore raceLogStore; - - public AddColumnToSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, RaceLogStore raceLogStore) { + public AddColumnToSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { super(regattaIdentifier, seriesName, columnName); - this.raceLogStore = raceLogStore; } @Override @@ -22,7 +18,7 @@ public class AddColumnToSeries extends AbstractColumnInSeriesOperation>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal; private final boolean persistent; private final ScoringScheme scoringScheme; - private final RaceLogStore raceLogStore; public AddSpecificRegatta(String regattaName, String boatClassName, Serializable id, Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrdering, - boolean persistent, ScoringScheme scoringScheme, RaceLogStore raceLogStore) { + boolean persistent, ScoringScheme scoringScheme) { super(regattaName, boatClassName, id); this.seriesNamesWithFleetNamesAndFleetOrderingAndMedal = seriesNamesWithFleetNamesAndFleetOrdering; this.persistent = persistent; this.scoringScheme = scoringScheme; - this.raceLogStore = raceLogStore; } @Override public Regatta internalApplyTo(RacingEventService toState) throws Exception { return toState.createRegatta(getBaseEventName(), getBoatClassName(), getId(), createSeries(toState), - persistent, scoringScheme, raceLogStore); + persistent, scoringScheme); } private Iterable createSeries(TrackedRegattaRegistry trackedRegattaRegistry) { @@ -48,7 +45,7 @@ public class AddSpecificRegatta extends AbstractAddRegattaOperation { for (Map.Entry>, Boolean>> e : seriesNamesWithFleetNamesAndFleetOrderingAndMedal.entrySet()) { final List emptyRaceColumnNamesList = Collections.emptyList(); Series s = new SeriesImpl(e.getKey(), /* isMedal */e.getValue().getB(), createFleets(e.getValue().getA()), - emptyRaceColumnNamesList, trackedRegattaRegistry, raceLogStore); + emptyRaceColumnNamesList, trackedRegattaRegistry); result.add(s); } return result; diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RecordRaceLogEvent.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RecordRaceLogEvent.java index 1b0b5683dea..cbf628f69af 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RecordRaceLogEvent.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RecordRaceLogEvent.java @@ -28,7 +28,6 @@ public class RecordRaceLogEvent extends AbstractRacingEventServiceOperation