From f8fbbb35dc59395778157a5812eff2ed8ffb1576 Mon Sep 17 00:00:00 2001 From: Fredrik Teschke Date: Mon, 2 Nov 2015 22:06:42 +0100 Subject: [PATCH 01/10] remove RaceLogEvent[Restore]Factory and RaceLogEvent* housekeeping - the factories were not used for any factory purposes, and only resulted in maintenance effort - unified order of constructor parameters for LogEvent-classes - standard values for an event-id and createdAt-timestamp are now set once in base classes, instead of all over the place --- .../impl/DomainObjectFactoryImpl.java | 100 +++-- .../test/AbstractGPSFixStoreTest.java | 11 +- .../impl/CreateAndTrackWithRaceLogTest.java | 17 +- .../impl/RaceLogTrackingAdapterImpl.java | 47 +- .../test/DependentStartTimeFinderTest.java | 26 +- .../analyzing/test/MultiLogAnalyzerTest.java | 16 +- .../state/test/DependentRaceStateTest.java | 77 ++-- .../racelog/state/test/RaceStateTest.java | 13 +- .../racelog/test/RaceLogEventImplTest.java | 2 +- .../racelog/test/RaceLogRevocationTest.java | 4 +- .../domain/racelog/test/RaceLogTest.java | 12 +- .../test/SerializeRaceLogEventsTest.java | 13 +- .../test/AbstractRaceLogTrackingTest.java | 2 - .../test/DeviceMappingFinderTest.java | 6 +- .../analyzing/test/RevokeEventTest.java | 16 +- .../impl/AbstractLogEventImpl.java | 14 +- .../abstractlog/impl/RevokeEventImpl.java | 6 +- .../abstractlog/race/RaceLogEventFactory.java | 148 ------- .../race/RaceLogEventRestoreFactory.java | 106 ----- .../analyzing/impl/MarkPassingDataFinder.java | 2 +- .../race/impl/BaseRaceLogEventVisitor.java | 6 +- .../RaceLogCourseAreaChangeEventImpl.java | 15 +- .../RaceLogCourseDesignChangedEventImpl.java | 15 +- .../RaceLogDependentStartTimeEventImpl.java | 20 +- .../impl/RaceLogEndOfTrackingEventImpl.java | 15 +- .../race/impl/RaceLogEventFactoryImpl.java | 329 -------------- .../race/impl/RaceLogEventImpl.java | 21 +- .../impl/RaceLogEventRestoreFactoryImpl.java | 201 --------- ...ogFinishPositioningConfirmedEventImpl.java | 19 +- .../RaceLogFinishPositioningEventImpl.java | 17 +- ...FinishPositioningListChangedEventImpl.java | 19 +- .../RaceLogFixedMarkPassingEventImpl.java | 13 +- .../race/impl/RaceLogFlagEventImpl.java | 11 +- .../RaceLogGateLineOpeningTimeEventImpl.java | 14 +- .../abstractlog/race/impl/RaceLogImpl.java | 3 +- .../race/impl/RaceLogPassChangeEventImpl.java | 10 +- .../race/impl/RaceLogPathfinderEventImpl.java | 14 +- .../RaceLogProtestStartTimeEventImpl.java | 10 +- .../race/impl/RaceLogRaceStatusEventImpl.java | 14 +- .../race/impl/RaceLogRevokeEventImpl.java | 4 +- .../impl/RaceLogStartOfTrackingEventImpl.java | 12 +- ...RaceLogStartProcedureChangedEventImpl.java | 11 +- .../race/impl/RaceLogStartTimeEventImpl.java | 14 +- ...aceLogSuppressedMarkPassingsEventImpl.java | 23 +- .../race/impl/RaceLogWindFixEventImpl.java | 11 +- ...AdditionalScoringInformationEventImpl.java | 10 +- .../race/state/impl/RaceStateImpl.java | 58 +-- .../basic/impl/BasicRacingProcedureImpl.java | 5 +- .../ess/impl/ESSRacingProcedureImpl.java | 85 ++-- .../impl/GateStartRacingProcedureImpl.java | 50 ++- .../impl/BaseRacingProcedure.java | 54 +-- .../impl/RacingProcedureFactoryImpl.java | 7 +- .../impl/ReadonlyRacingProcedureFactory.java | 15 +- .../impl/LeagueRacingProcedureImpl.java | 5 +- .../rrs26/impl/RRS26RacingProcedureImpl.java | 8 +- .../RaceLogOpenEndedDeviceMappingCloser.java | 4 +- ...AbstractRaceLogDeviceMappingEventImpl.java | 11 +- ...gCloseOpenEndedDeviceMappingEventImpl.java | 21 +- .../impl/RaceLogDefineMarkEventImpl.java | 12 +- .../RaceLogDenoteForTrackingEventImpl.java | 22 +- ...ceLogDeviceCompetitorMappingEventImpl.java | 14 +- .../RaceLogDeviceMarkMappingEventImpl.java | 16 +- .../RaceLogRegisterCompetitorEventImpl.java | 17 +- .../impl/RaceLogStartTrackingEventImpl.java | 13 +- ...gCloseOpenEndedDeviceMappingEventImpl.java | 2 +- ...taLogDeviceCompetitorMappingEventImpl.java | 16 +- .../RegattaLogDeviceMarkMappingEventImpl.java | 7 +- ...RegattaLogRegisterCompetitorEventImpl.java | 15 +- .../impl/RegattaLogRevokeEventImpl.java | 4 +- ...LogSetCompetitorHandicapInfoEventImpl.java | 6 +- ...anceAllowancePerNauticalMileEventImpl.java | 4 +- ...etCompetitorTimeOnTimeFactorEventImpl.java | 6 +- .../impl/AbstractDeviceMappingEventImpl.java | 12 +- ...eCloseOpenEndedDeviceMappingEventImpl.java | 18 +- .../impl/BaseRegisterCompetitorEventImpl.java | 23 +- ...mpetitorProviderCacheInvalidationTest.java | 23 +- .../LeaderboardScoringAndRankingTest.java | 4 +- .../StoreAndLoadDeviceIdentifierTest.java | 6 +- .../test/StoreAndLoadRaceLogEventsTest.java | 92 ++-- .../test/StoreAndLoadRaceLogsTest.java | 5 +- .../mongodb/test/StoreGPSFixTrackTest.java | 7 +- .../test/TestRaceLogRemovalInRegatta.java | 7 +- ...tStoringAndRetrievingRaceLogEventData.java | 4 +- ...ingAndRetrievingRaceLogInLeaderboards.java | 49 ++- ...tStoringAndRetrievingRaceLogInRegatta.java | 42 +- .../LeagueConfigurationJsonDeserializer.java | 3 +- .../RegattaConfigurationJsonDeserializer.java | 3 +- .../impl/BaseRaceLogEventDeserializer.java | 3 - ...alScoringInformationEventDeserializer.java | 3 +- ...enEndedDeviceMappingEventDeserializer.java | 3 +- ...LogCourseAreaChangedEventDeserializer.java | 3 +- ...gCourseDesignChangedEventDeserializer.java | 3 +- .../RaceLogDefineMarkEventDeserializer.java | 3 +- ...LogDenoteForTrackingEventDeserializer.java | 3 +- ...ogDependentStartTimeEventDeserializer.java | 3 +- ...iceCompetitorMappingEventDeserializer.java | 5 +- ...LogDeviceMarkMappingEventDeserializer.java | 5 +- ...RaceLogEndOfTrackingEventDeserializer.java | 3 +- ...PositioningConfirmedEventDeserializer.java | 3 +- ...sitioningListChangedEventDeserializer.java | 3 +- ...eLogFixedMarkPassingEventDeserializer.java | 3 +- .../impl/RaceLogFlagEventDeserializer.java | 3 +- ...gGateLineOpeningTimeEventDeserializer.java | 12 +- .../RaceLogPassChangeEventDeserializer.java | 4 +- .../RaceLogPathFinderEventDeserializer.java | 3 +- ...eLogProtestStartTimeEventDeserializer.java | 3 +- .../RaceLogRaceStatusEventDeserializer.java | 3 +- ...ogRegisterCompetitorEventDeserializer.java | 3 +- .../impl/RaceLogRevokeEventDeserializer.java | 3 +- ...ceLogStartOfTrackingEventDeserializer.java | 3 +- ...tartProcedureChangedEventDeserializer.java | 3 +- .../RaceLogStartTimeEventDeserializer.java | 4 +- ...RaceLogStartTrackingEventDeserializer.java | 3 +- ...ppressedMarkPassingsEventDeserializer.java | 3 +- .../impl/RaceLogWindFixEventDeserializer.java | 3 +- .../racelog/impl/RaceLogEventSerializer.java | 6 +- ...aceLogFixedMarkPassingEventSerializer.java | 2 +- ...ourseDesignChangedEventSerializerTest.java | 4 +- .../racelog/RaceLogEventSerializerTest.java | 70 +-- ...sitioningConfirmedEventSerializerTest.java | 8 +- .../RaceLogWindFixEventSerializerTest.java | 4 +- .../TrackingTimesEventSerializerTest.java | 29 +- .../test/RaceLogSerializationTest.java | 14 +- .../jaxrs/api/LeaderboardsResource.java | 4 +- ...tialLoadReplicationObjectIdentityTest.java | 6 +- .../test/RaceLogReplicationTest.java | 17 +- .../test/RegattaLogReplicationTest.java | 2 +- .../server/test/MasterDataImportTest.java | 402 ++++++++++-------- .../server/test/RaceLogInRaceColumnTest.java | 16 +- .../RaceLogOperationalTransformationTest.java | 8 +- .../server/test/WindByRaceLogTest.java | 14 +- .../app/data/OfflineDataManager.java | 9 +- 132 files changed, 1285 insertions(+), 1693 deletions(-) delete mode 100644 java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/RaceLogEventFactory.java delete mode 100644 java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/RaceLogEventRestoreFactory.java delete mode 100644 java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventFactoryImpl.java delete mode 100644 java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventRestoreFactoryImpl.java 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 d132dd645c7..e1e07e7fae5 100644 --- 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 @@ -41,7 +41,6 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogDependentStartTimeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventRestoreFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningListChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; @@ -59,10 +58,30 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogSuppressedMarkPassingsEven import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier; import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultsImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseAreaChangeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseDesignChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogDependentStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEndOfTrackingEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningConfirmedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningListChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFixedMarkPassingEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogGateLineOpeningTimeEventImpl; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPassChangeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPathfinderEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogProtestStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRaceStatusEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRevokeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartOfTrackingEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartProcedureChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogSuppressedMarkPassingsEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogWindFixEventImpl; import com.sap.sailing.domain.abstractlog.race.impl.SimpleRaceLogIdentifierImpl; import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType; import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent; +import com.sap.sailing.domain.abstractlog.race.scoring.impl.RaceLogAdditionalScoringInformationEventImpl; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogCloseOpenEndedDeviceMappingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDenoteForTrackingEvent; @@ -70,6 +89,13 @@ import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceCompetitorM import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceMarkMappingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogRegisterCompetitorEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogStartTrackingEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogCloseOpenEndedDeviceMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDefineMarkEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDenoteForTrackingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceMarkMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogRegisterCompetitorEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogStartTrackingEventImpl; import com.sap.sailing.domain.abstractlog.regatta.RegattaLog; import com.sap.sailing.domain.abstractlog.regatta.RegattaLogEvent; import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogCloseOpenEndedDeviceMappingEvent; @@ -209,8 +235,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { private final CompetitorJsonDeserializer competitorDeserializer; private final DB database; - - private RaceLogEventRestoreFactory raceLogEventFactory; + private final DomainFactory baseDomainFactory; private final TypeBasedServiceFinder deviceIdentifierServiceFinder; private final TypeBasedServiceFinderFactory serviceFinderFactory; @@ -235,7 +260,6 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { this.baseDomainFactory = baseDomainFactory; this.competitorDeserializer = CompetitorJsonDeserializer.create(baseDomainFactory); this.database = db; - this.raceLogEventFactory = RaceLogEventRestoreFactory.INSTANCE; } @Override @@ -1363,7 +1387,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { Serializable id, Integer passId, List competitors, DBObject dbObject) { Wind wind = loadWind((DBObject) dbObject.get(FieldNames.WIND.name())); Boolean isMagnetic = (Boolean) dbObject.get(FieldNames.IS_MAGNETIC.name()); - return raceLogEventFactory.createWindFixEvent(createdAt, author, logicalTimePoint, id, competitors, passId, wind, isMagnetic == null ? true : isMagnetic); + return new RaceLogWindFixEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, wind, isMagnetic == null ? true : isMagnetic); } private RaceLogEvent loadRaceLogDeviceCompetitorMappingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, @@ -1380,7 +1404,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { (Serializable) dbObject.get(FieldNames.COMPETITOR_ID.name())); TimePoint from = loadTimePoint(dbObject, FieldNames.RACE_LOG_FROM); TimePoint to = loadTimePoint(dbObject, FieldNames.RACE_LOG_TO); - return raceLogEventFactory.createDeviceCompetitorMappingEvent(createdAt, author, logicalTimePoint, id, device, mappedTo, passId, from, to); + return new RaceLogDeviceCompetitorMappingEventImpl(createdAt, logicalTimePoint, author, id, passId, mappedTo, device, from, to); } private RaceLogEvent loadRaceLogDeviceMarkMappingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, @@ -1397,7 +1421,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { Mark mappedTo = loadMark((DBObject) dbObject.get(FieldNames.MARK.name())); TimePoint from = loadTimePoint(dbObject, FieldNames.RACE_LOG_FROM); TimePoint to = loadTimePoint(dbObject, FieldNames.RACE_LOG_TO); - return raceLogEventFactory.createDeviceMarkMappingEvent(createdAt, author, logicalTimePoint, id, device, mappedTo, passId, from, to); + return new RaceLogDeviceMarkMappingEventImpl(createdAt, logicalTimePoint, author, id, passId, mappedTo, device, from, to); } private RaceLogEvent loadRaceLogDenoteForTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, @@ -1405,12 +1429,12 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { String raceName = (String) dbObject.get(FieldNames.RACE_NAME.name()); BoatClass boatClass = baseDomainFactory.getOrCreateBoatClass((String) dbObject.get(FieldNames.BOAT_CLASS_NAME.name())); Serializable raceId = (Serializable) dbObject.get(FieldNames.RACE_ID.name()); - return raceLogEventFactory.createDenoteForTrackingEvent(createdAt, author, logicalTimePoint, id, passId, raceName, boatClass, raceId); + return new RaceLogDenoteForTrackingEventImpl(createdAt, logicalTimePoint, author, id, passId, raceName, boatClass, raceId); } private RaceLogEvent loadRaceLogStartTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { - return raceLogEventFactory.createStartTrackingEvent(createdAt, author, logicalTimePoint, id, passId); + return new RaceLogStartTrackingEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId); } private RaceLogEvent loadRaceLogRevokeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, @@ -1420,7 +1444,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { String revokedEventType = (String) dbObject.get(FieldNames.RACE_LOG_REVOKED_EVENT_TYPE.name()); String revokedEventShortInfo = (String) dbObject.get(FieldNames.RACE_LOG_REVOKED_EVENT_SHORT_INFO.name()); String reason = (String) dbObject.get(FieldNames.RACE_LOG_REVOKED_REASON.name()); - return raceLogEventFactory.createRevokeEvent(createdAt, author, logicalTimePoint, id, passId, + return new RaceLogRevokeEventImpl(createdAt, logicalTimePoint, author, id, passId, revokedEventId, revokedEventType, revokedEventShortInfo, reason); } @@ -1428,20 +1452,20 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { Serializable id, Integer passId, List competitors, DBObject dbObject) { Serializable competitorId = (Serializable) dbObject.get(FieldNames.RACE_LOG_COMPETITOR_ID.name()); Competitor comp = baseDomainFactory.getCompetitorStore().getExistingCompetitorById(competitorId); - return raceLogEventFactory.createRegisterCompetitorEvent(createdAt, author, logicalTimePoint, id, passId, comp); + return new RaceLogRegisterCompetitorEventImpl(createdAt, logicalTimePoint, author, id, passId, comp); } private RaceLogEvent loadRaceLogDefineMarkEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { Mark mark = loadMark((DBObject) dbObject.get(FieldNames.RACE_LOG_MARK.name())); - return raceLogEventFactory.createDefineMarkEvent(createdAt, author, logicalTimePoint, id, passId, mark); + return new RaceLogDefineMarkEventImpl(createdAt, logicalTimePoint, author, id, passId, mark); } private RaceLogEvent loadRaceLogCloseOpenEndedDeviceMappingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { Serializable deviceMappingEventId = Helpers.tryUuidConversion((Serializable) dbObject.get(FieldNames.RACE_LOG_DEVICE_MAPPING_EVENT_ID.name())); TimePoint closingTimePoint = loadTimePoint(dbObject, FieldNames.RACE_LOG_CLOSING_TIMEPOINT); - return raceLogEventFactory.createCloseOpenEndedDeviceMappingEvent(createdAt, author, logicalTimePoint, id, passId, + return new RaceLogCloseOpenEndedDeviceMappingEventImpl(createdAt, logicalTimePoint, author, id, passId, deviceMappingEventId, closingTimePoint); } @@ -1454,19 +1478,19 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } else { logger.warning("Could not find additional scoring information attached to db log for " + dbObject.toString()); } - return raceLogEventFactory.createAdditionalScoringInformationEvent(createdAt, author, logicalTimePoint, id, competitors, passId, informationType); + return new RaceLogAdditionalScoringInformationEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, informationType); } private RaceLogEvent loadRaceLogProtestStartTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { TimePoint protestStartTime = loadTimePoint(dbObject, FieldNames.RACE_LOG_PROTEST_START_TIME); - return raceLogEventFactory.createProtestStartTimeEvent(createdAt, author, logicalTimePoint, id, competitors, passId, protestStartTime); + return new RaceLogProtestStartTimeEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, protestStartTime); } private RaceLogEvent loadRaceLogStartProcedureChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { RacingProcedureType type = RacingProcedureType.valueOf(dbObject.get(FieldNames.RACE_LOG_START_PROCEDURE_TYPE.name()).toString()); - return raceLogEventFactory.createStartProcedureChangedEvent(createdAt, author, logicalTimePoint, id, competitors, passId, type); + return new RaceLogStartProcedureChangedEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, type); } private RaceLogEvent loadRaceLogGateLineOpeningTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, @@ -1476,14 +1500,14 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { if (dbObject.containsField(FieldNames.RACE_LOG_GOLF_DOWN_TIME.name())) { golfDownTime = (Number) dbObject.get(FieldNames.RACE_LOG_GOLF_DOWN_TIME.name()); } - return raceLogEventFactory.createGateLineOpeningTimeEvent(createdAt, author, logicalTimePoint, id, competitors, + return new RaceLogGateLineOpeningTimeEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, gateLaunchStopTime == null ? null : gateLaunchStopTime.longValue(), golfDownTime.longValue()); } private RaceLogEvent loadRaceLogPathfinderEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { String pathfinderId = dbObject.get(FieldNames.RACE_LOG_PATHFINDER_ID.name()).toString(); - return raceLogEventFactory.createPathfinderEvent(createdAt, author, logicalTimePoint, id, competitors, passId, pathfinderId); + return new RaceLogPathfinderEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, pathfinderId); } private RaceLogEvent loadRaceLogFinishPositioningConfirmedEvent(TimePoint createdAt, AbstractLogEventAuthor author, @@ -1496,7 +1520,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { positionedCompetitors = loadPositionedCompetitors(dbPositionedCompetitorList); } - return raceLogEventFactory.createFinishPositioningConfirmedEvent(createdAt, author, logicalTimePoint, id, competitors, passId, positionedCompetitors); + return new RaceLogFinishPositioningConfirmedEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, positionedCompetitors); } private RaceLogEvent loadRaceLogFinishPositioningListChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, @@ -1504,36 +1528,36 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { BasicDBList dbPositionedCompetitorList = (BasicDBList) dbObject.get(FieldNames.RACE_LOG_POSITIONED_COMPETITORS.name()); CompetitorResults positionedCompetitors = loadPositionedCompetitors(dbPositionedCompetitorList); - return raceLogEventFactory.createFinishPositioningListChangedEvent(createdAt, author, logicalTimePoint, id, competitors, passId, positionedCompetitors); + return new RaceLogFinishPositioningListChangedEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, positionedCompetitors); } private RaceLogEvent loadRaceLogPassChangeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors) { - return raceLogEventFactory.createPassChangeEvent(createdAt, author, logicalTimePoint, id, competitors, passId); + return new RaceLogPassChangeEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId); } private RaceLogCourseDesignChangedEvent loadRaceLogCourseDesignChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { String courseName = (String) dbObject.get(FieldNames.RACE_LOG_COURSE_DESIGN_NAME.name()); CourseBase courseData = loadCourseData((BasicDBList) dbObject.get(FieldNames.RACE_LOG_COURSE_DESIGN.name()), courseName); - return raceLogEventFactory.createCourseDesignChangedEvent(createdAt, author, logicalTimePoint, id, competitors, passId, courseData); + return new RaceLogCourseDesignChangedEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, courseData); } private RaceLogCourseAreaChangedEvent loadRaceLogCourseAreaChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { Serializable courseAreaId = (Serializable) dbObject.get(FieldNames.COURSE_AREA_ID.name()); - return raceLogEventFactory.createCourseAreaChangedEvent(createdAt, author, logicalTimePoint, id, competitors, passId, courseAreaId); + return new RaceLogCourseAreaChangeEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, courseAreaId); } private RaceLogEvent loadRaceLogFixedMarkPassingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { TimePoint ofFixedPassing = loadTimePoint(dbObject, FieldNames.TIMEPOINT_OF_FIXED_MARKPASSING); Integer zeroBasedIndexOfWaypoint = (Integer) dbObject.get(FieldNames.INDEX_OF_PASSED_WAYPOINT.name()); - return raceLogEventFactory.createFixedMarkPassingEvent(logicalTimePoint, author, id, competitors, passId, ofFixedPassing, zeroBasedIndexOfWaypoint); + return new RaceLogFixedMarkPassingEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, ofFixedPassing, zeroBasedIndexOfWaypoint); } private RaceLogEvent loadRaceLogSuppressedMarkPassingsEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { Integer zeroBasedIndexOfFirstSuppressedWaypoint = (Integer) dbObject.get(FieldNames.INDEX_OF_FIRST_SUPPRESSED_WAYPOINT.name()); - return raceLogEventFactory.createSuppressedMarkPassingsEvent(logicalTimePoint, author, id, competitors, passId, zeroBasedIndexOfFirstSuppressedWaypoint); + return new RaceLogSuppressedMarkPassingsEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, zeroBasedIndexOfFirstSuppressedWaypoint); } private CompetitorResults loadPositionedCompetitors(BasicDBList dbPositionedCompetitorList) { @@ -1581,22 +1605,20 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return null; } - return raceLogEventFactory.createFlagEvent(createdAt, author, logicalTimePoint, id, competitors, passId, upperFlag, lowerFlag, displayed); + return new RaceLogFlagEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, upperFlag, lowerFlag, displayed); } private RaceLogStartTimeEvent loadRaceLogStartTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { TimePoint startTime = loadTimePoint(dbObject, FieldNames.RACE_LOG_EVENT_START_TIME); - final String nextStatusName = (String) dbObject.get(FieldNames.RACE_LOG_EVENT_NEXT_STATUS.name()); - final RaceLogRaceStatus nextStatus = nextStatusName==null?null:RaceLogRaceStatus.valueOf(nextStatusName); - return raceLogEventFactory.createStartTimeEvent(createdAt, author, logicalTimePoint, id, competitors, passId, startTime, nextStatus); + return new RaceLogStartTimeEventImpl(createdAt, logicalTimePoint, author, id, passId, startTime); } private RaceLogStartOfTrackingEvent loadRaceLogStartOfTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { - return raceLogEventFactory.createStartOfTrackingEvent(logicalTimePoint, author, id, competitors, passId); + return new RaceLogStartOfTrackingEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId); } private RaceLogEndOfTrackingEvent loadRaceLogEndOfTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { - return raceLogEventFactory.createEndOfTrackingEvent(logicalTimePoint, author, id, competitors, passId); + return new RaceLogEndOfTrackingEventImpl(createdAt, logicalTimePoint, author, id, passId); } private RaceLogDependentStartTimeEvent loadRaceLogDependentStartTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { @@ -1611,13 +1633,13 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { final Duration startTimeDifference = startTimeDifferenceObject == null ? null : new MillisecondsDurationImpl(((Number) startTimeDifferenceObject).longValue()); RaceLogRaceStatus nextStatus = RaceLogRaceStatus.valueOf((String) dbObject.get(FieldNames.RACE_LOG_EVENT_NEXT_STATUS.name())); - return raceLogEventFactory.createDependentStartTimeEvent(createdAt, author, logicalTimePoint, id, competitors, + return new RaceLogDependentStartTimeEventImpl(createdAt, logicalTimePoint, author, id, passId, dependentRaceLog, startTimeDifference, nextStatus); } private RaceLogRaceStatusEvent loadRaceLogRaceStatusEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { RaceLogRaceStatus nextStatus = RaceLogRaceStatus.valueOf((String) dbObject.get(FieldNames.RACE_LOG_EVENT_NEXT_STATUS.name())); - return raceLogEventFactory.createRaceStatusEvent(createdAt, author, logicalTimePoint, id, competitors, passId, nextStatus); + return new RaceLogRaceStatusEventImpl(createdAt, logicalTimePoint, author, id, passId, nextStatus); } @Override @@ -1689,7 +1711,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, DBObject dbObject) { final Competitor comp = getCompetitorByID(dbObject); final Double timeOnTimeFactor = (Double) dbObject.get(FieldNames.REGATTA_LOG_TIME_ON_TIME_FACTOR.name()); - return new RegattaLogSetCompetitorTimeOnTimeFactorEventImpl(createdAt, author, logicalTimePoint, id, comp, timeOnTimeFactor); + return new RegattaLogSetCompetitorTimeOnTimeFactorEventImpl(createdAt, logicalTimePoint, author, id, comp, timeOnTimeFactor); } private RegattaLogEvent loadRegattaLogSetCompetitorTimeOnTimeFactorEvent(TimePoint createdAt, @@ -1698,7 +1720,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { final Double timeOnDistanceSecondsAllowancePerNauticalMile = (Double) dbObject.get(FieldNames.REGATTA_LOG_TIME_ON_DISTANCE_SECONDS_ALLOWANCE_PER_NAUTICAL_MILE.name()); final Duration timeOnDistanceAllowancePerNauticalMile = timeOnDistanceSecondsAllowancePerNauticalMile == null ? null : new MillisecondsDurationImpl((long) (timeOnDistanceSecondsAllowancePerNauticalMile*1000)); - return new RegattaLogSetCompetitorTimeOnDistanceAllowancePerNauticalMileEventImpl(createdAt, author, logicalTimePoint, id, comp, timeOnDistanceAllowancePerNauticalMile); + return new RegattaLogSetCompetitorTimeOnDistanceAllowancePerNauticalMileEventImpl(createdAt, logicalTimePoint, author, id, comp, timeOnDistanceAllowancePerNauticalMile); } private RegattaLogRevokeEvent loadRegattaLogRevokeEvent(TimePoint createdAt, AbstractLogEventAuthor author, @@ -1708,14 +1730,14 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { String revokedEventType = (String) dbObject.get(FieldNames.REGATTA_LOG_REVOKED_EVENT_TYPE.name()); String revokedEventShortInfo = (String) dbObject.get(FieldNames.REGATTA_LOG_REVOKED_EVENT_SHORT_INFO.name()); String reason = (String) dbObject.get(FieldNames.REGATTA_LOG_REVOKED_REASON.name()); - return new RegattaLogRevokeEventImpl(createdAt, author, logicalTimePoint, id, + return new RegattaLogRevokeEventImpl(createdAt, logicalTimePoint, author, id, revokedEventId, revokedEventType, revokedEventShortInfo, reason); } private RegattaLogRegisterCompetitorEvent loadRegattaLogRegisterCompetitorEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, DBObject dbObject) { Competitor comp = getCompetitorByID(dbObject); - return new RegattaLogRegisterCompetitorEventImpl(createdAt, author, logicalTimePoint, id, comp); + return new RegattaLogRegisterCompetitorEventImpl(createdAt, logicalTimePoint, author, id, comp); } private RegattaLogCloseOpenEndedDeviceMappingEvent loadRegattaLogCloseOpenEndedDeviceMappingEvent(TimePoint createdAt, @@ -1742,7 +1764,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { Triple times = loadFromToTimePoint(dbObject, FieldNames.REGATTA_LOG_FROM, FieldNames.RACE_LOG_FROM, FieldNames.REGATTA_LOG_TO, FieldNames.RACE_LOG_TO); final TimePoint from = times.getA(); final TimePoint to = times.getB(); - final RegattaLogDeviceMarkMappingEventImpl result = new RegattaLogDeviceMarkMappingEventImpl(createdAt, author, logicalTimePoint, id, mappedTo, device, from, to); + final RegattaLogDeviceMarkMappingEventImpl result = new RegattaLogDeviceMarkMappingEventImpl(createdAt, logicalTimePoint, author, id, mappedTo, device, from, to); final boolean needsMigration = times.getC(); if (needsMigration) { // remove old version of mapping event @@ -1804,7 +1826,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { final TimePoint from = times.getA(); final TimePoint to = times.getB(); final boolean needsMigration = times.getC(); - final RegattaLogDeviceCompetitorMappingEventImpl result = new RegattaLogDeviceCompetitorMappingEventImpl(createdAt, author, logicalTimePoint, id, mappedTo, device, from, to); + final RegattaLogDeviceCompetitorMappingEventImpl result = new RegattaLogDeviceCompetitorMappingEventImpl(createdAt, logicalTimePoint, author, id, mappedTo, device, from, to); if (needsMigration) { // remove old version of mapping event WriteResult removeResult = database.getCollection(CollectionNames.REGATTA_LOGS.name()).remove(outerDBObject); diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/AbstractGPSFixStoreTest.java b/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/AbstractGPSFixStoreTest.java index 679b6b97455..f48a27959ec 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/AbstractGPSFixStoreTest.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/AbstractGPSFixStoreTest.java @@ -9,8 +9,9 @@ import org.junit.Before; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceMarkMappingEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.Mark; @@ -66,8 +67,8 @@ public class AbstractGPSFixStoreTest { } protected void map(RaceLog raceLog, Competitor comp, DeviceIdentifier device, long from, long to) { - raceLog.add(RaceLogEventFactory.INSTANCE.createDeviceCompetitorMappingEvent(MillisecondsTimePoint.now(), author, device, - comp, 0, new MillisecondsTimePoint(from), new MillisecondsTimePoint(to))); + raceLog.add(new RaceLogDeviceCompetitorMappingEventImpl(MillisecondsTimePoint.now(), author, 0, + comp, device, new MillisecondsTimePoint(from), new MillisecondsTimePoint(to))); } protected void map(Competitor comp, DeviceIdentifier device, long from, long to) { @@ -75,8 +76,8 @@ public class AbstractGPSFixStoreTest { } protected void map(Mark mark, DeviceIdentifier device, long from, long to) { - raceLog.add(RaceLogEventFactory.INSTANCE.createDeviceMarkMappingEvent(MillisecondsTimePoint.now(), author, device, - mark, 0, new MillisecondsTimePoint(from), new MillisecondsTimePoint(to))); + raceLog.add(new RaceLogDeviceMarkMappingEventImpl(MillisecondsTimePoint.now(), author, 0, + mark, device, new MillisecondsTimePoint(from), new MillisecondsTimePoint(to))); } protected void testNumberOfRawFixes(Track track, long expected) { diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/impl/CreateAndTrackWithRaceLogTest.java b/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/impl/CreateAndTrackWithRaceLogTest.java index f43277c8b1d..17302ae2345 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/impl/CreateAndTrackWithRaceLogTest.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter.test/src/com/sap/sailing/domain/racelogtracking/test/impl/CreateAndTrackWithRaceLogTest.java @@ -19,7 +19,8 @@ import org.junit.rules.ExpectedException; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogRegisterCompetitorEventImpl; import com.sap.sailing.domain.abstractlog.regatta.RegattaLog; import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogDeviceCompetitorMappingEventImpl; import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogRegisterCompetitorEventImpl; @@ -68,8 +69,6 @@ public class CreateAndTrackWithRaceLogTest { private long time = 0; - private static final RaceLogEventFactory factory = RaceLogEventFactory.INSTANCE; - @Before public void setup() { service = new RacingEventServiceImpl(true, new MockSmartphoneImeiServiceFinderFactory()); @@ -172,9 +171,9 @@ public class CreateAndTrackWithRaceLogTest { Competitor comp1 = DomainFactory.INSTANCE.getOrCreateCompetitor("comp1", "comp1", null, null, null, null, null, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); DeviceIdentifier dev1 = new SmartphoneImeiIdentifier("dev1"); - raceLog.add(factory.createDeviceCompetitorMappingEvent(t(), author, dev1, comp1, 0, t(0), t(10))); + raceLog.add(new RaceLogDeviceCompetitorMappingEventImpl(t(), author, 0, comp1, dev1, t(0), t(10))); addFixes0(dev1); - raceLog.add(factory.createRegisterCompetitorEvent(t(), author, 0, comp1)); + raceLog.add(new RaceLogRegisterCompetitorEventImpl(t(), author, 0, comp1)); // start tracking adapter.startTracking(service, leaderboard, column, fleet); @@ -185,7 +184,7 @@ public class CreateAndTrackWithRaceLogTest { race.waitForLoadingFromGPSFixStoreToFinishRunning(raceLog); addFixes1(race, comp1, dev1); - raceLog.add(factory.createDeviceCompetitorMappingEvent(t(), author, dev1, comp1, 0, t(11), t(20))); + raceLog.add(new RaceLogDeviceCompetitorMappingEventImpl(t(), author, 0, comp1, dev1, t(11), t(20))); // add another mapping on the fly, other old fixes should be loaded addFixes2(race, comp1, dev1); @@ -207,10 +206,10 @@ public class CreateAndTrackWithRaceLogTest { Competitor comp1 = DomainFactory.INSTANCE.getOrCreateCompetitor("comp1", "comp1", null, null, null, null, null, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); DeviceIdentifier dev1 = new SmartphoneImeiIdentifier("dev1"); - regattaLog.add(new RegattaLogDeviceCompetitorMappingEventImpl(t(), author, t(), UUID.randomUUID(), comp1, dev1, + regattaLog.add(new RegattaLogDeviceCompetitorMappingEventImpl(t(), t(), author, UUID.randomUUID(), comp1, dev1, t(0), t(10))); addFixes0(dev1); - regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(t(), author, t(), UUID.randomUUID(), comp1)); + regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(t(), t(), author, UUID.randomUUID(), comp1)); // start tracking adapter.startTracking(service, leaderboard, column, fleet); @@ -223,7 +222,7 @@ public class CreateAndTrackWithRaceLogTest { addFixes1(race, comp1, dev1); // add another mapping on the fly, other old fixes should be loaded - regattaLog.add(new RegattaLogDeviceCompetitorMappingEventImpl(t(), author, t(), UUID.randomUUID(), comp1, dev1, + regattaLog.add(new RegattaLogDeviceCompetitorMappingEventImpl(t(), t(), author, UUID.randomUUID(), comp1, dev1, t(11), t(20))); addFixes2(race, comp1, dev1); diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogTrackingAdapterImpl.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogTrackingAdapterImpl.java index 309f42ec296..9f80842f083 100755 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogTrackingAdapterImpl.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/RaceLogTrackingAdapterImpl.java @@ -29,13 +29,18 @@ import com.sap.sailing.domain.abstractlog.impl.AllEventsOfTypeFinder; import com.sap.sailing.domain.abstractlog.impl.LastEventOfTypeFinder; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.LastPublishedCourseDesignFinder; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseDesignChangedEventImpl; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDenoteForTrackingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceMarkMappingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogStartTrackingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.analyzing.impl.RaceLogTrackingStateAnalyzer; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDefineMarkEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDenoteForTrackingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceMarkMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogRegisterCompetitorEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogStartTrackingEventImpl; import com.sap.sailing.domain.abstractlog.regatta.RegattaLog; import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogDeviceMarkMappingEventImpl; import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogRegisterCompetitorEventImpl; @@ -101,7 +106,7 @@ public class RaceLogTrackingAdapterImpl implements RaceLogTrackingAdapter { } RegattaIdentifier regatta = ((RegattaLeaderboard) leaderboard).getRegatta().getRegattaIdentifier(); if (raceLogTrackingState != RaceLogTrackingState.TRACKING) { - RaceLogEvent event = RaceLogEventFactory.INSTANCE.createStartTrackingEvent(MillisecondsTimePoint.now(), + RaceLogEvent event = new RaceLogStartTrackingEventImpl(MillisecondsTimePoint.now(), service.getServerAuthor(), raceLog.getCurrentPassId()); raceLog.add(event); } @@ -157,7 +162,7 @@ public class RaceLogTrackingAdapterImpl implements RaceLogTrackingAdapter { throw new NotDenotableForRaceLogTrackingException("Already denoted for tracking"); } - RaceLogEvent event = RaceLogEventFactory.INSTANCE.createDenoteForTrackingEvent(MillisecondsTimePoint.now(), + RaceLogEvent event = new RaceLogDenoteForTrackingEventImpl(MillisecondsTimePoint.now(), service.getServerAuthor(), raceLog.getCurrentPassId(), raceName, boatClass, UUID.randomUUID()); raceLog.add(event); } @@ -225,15 +230,15 @@ public class RaceLogTrackingAdapterImpl implements RaceLogTrackingAdapter { newCourse.addWaypoint(i++, oldWaypoint); } for (Mark mark : marks) { - RaceLogEvent event = RaceLogEventFactory.INSTANCE.createDefineMarkEvent(now, - service.getServerAuthor(), toRaceLog.getCurrentPassId(), mark); + RaceLogEvent event = new RaceLogDefineMarkEventImpl(now, service.getServerAuthor(), + toRaceLog.getCurrentPassId(), mark); toRaceLog.add(event); } for (RaceLogEvent raceLogDeviceMarkMappingEvent : raceLogDeviceMarkMappingEvents) { toRaceLog.add(raceLogDeviceMarkMappingEvent); } int passId = toRaceLog.getCurrentPassId(); - RaceLogEvent newCourseEvent = RaceLogEventFactory.INSTANCE.createCourseDesignChangedEvent(now, + RaceLogEvent newCourseEvent = new RaceLogCourseDesignChangedEventImpl(now, service.getServerAuthor(), passId, newCourse); toRaceLog.add(newCourseEvent); } @@ -243,8 +248,7 @@ public class RaceLogTrackingAdapterImpl implements RaceLogTrackingAdapter { } @Override - public void copyCompetitors(RaceLog fromRaceLog, Set toRaceLogs, - RacingEventService service) { + public void copyCompetitors(RaceLog fromRaceLog, Set toRaceLogs, RacingEventService service) { final Set competitors = new RegisteredCompetitorsAnalyzer<>(fromRaceLog).analyze(); for (RaceLog toRaceLog : toRaceLogs) { registerCompetitors(service, toRaceLog, competitors); @@ -271,17 +275,21 @@ public class RaceLogTrackingAdapterImpl implements RaceLogTrackingAdapter { @Override public void pingMark(RaceLog raceLog, Mark mark, GPSFix gpsFix, RacingEventService service) { - pingMark(raceLog, mark, gpsFix, service, - (DeviceIdentifier dev, TimePoint timePoint) -> RaceLogEventFactory.INSTANCE - .createDeviceMarkMappingEvent(timePoint, service.getServerAuthor(), dev, mark, - raceLog.getCurrentPassId(), timePoint, timePoint), new PingDeviceIdentifierImpl()); + pingMark( + raceLog, + mark, + gpsFix, + service, + (DeviceIdentifier dev, TimePoint timePoint) -> new RaceLogDeviceMarkMappingEventImpl(timePoint, service + .getServerAuthor(), raceLog.getCurrentPassId(), mark, dev, timePoint, timePoint), + new PingDeviceIdentifierImpl()); } @Override public void pingMark(RegattaLog regattaLog, Mark mark, GPSFix gpsFix, RacingEventService service) { pingMark(regattaLog, mark, gpsFix, service, (DeviceIdentifier dev, TimePoint timePoint) -> new RegattaLogDeviceMarkMappingEventImpl(timePoint, - service.getServerAuthor(), timePoint, UUID.randomUUID(), mark, dev, timePoint, timePoint), + timePoint, service.getServerAuthor(), UUID.randomUUID(), mark, dev, timePoint, timePoint), new PingDeviceIdentifierImpl()); } @@ -337,19 +345,16 @@ public class RaceLogTrackingAdapterImpl implements RaceLogTrackingAdapter { @Override public void registerCompetitors(RacingEventService service, RaceLog raceLog, Set competitors) { - registerCompetitors( - service.getServerAuthor(), - raceLog, - competitors, - c -> RaceLogEventFactory.INSTANCE.createRegisterCompetitorEvent(MillisecondsTimePoint.now(), - service.getServerAuthor(), raceLog.getCurrentPassId(), c)); + registerCompetitors(service.getServerAuthor(), raceLog, competitors, + c -> new RaceLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), service.getServerAuthor(), + raceLog.getCurrentPassId(), c)); } @Override public void registerCompetitors(RacingEventService service, RegattaLog regattaLog, Set competitors) { registerCompetitors(service.getServerAuthor(), regattaLog, competitors, - c -> new RegattaLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), service.getServerAuthor(), - MillisecondsTimePoint.now(), UUID.randomUUID(), c)); + c -> new RegattaLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), + MillisecondsTimePoint.now(), service.getServerAuthor(), UUID.randomUUID(), c)); } private MailService getMailService() { diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java index a9653af5044..afed08d7e74 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java @@ -64,16 +64,16 @@ public class DependentStartTimeFinderTest { @Test public void testDependentStartTimeUpdate() { final MillisecondsDurationImpl cAfterB = new MillisecondsDurationImpl(5000); - raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, author, nowMock, "12", null, 12, - new SimpleRaceLogIdentifierImpl("B", "", ""), cAfterB)); + raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, + new SimpleRaceLogIdentifierImpl("B", "", ""), cAfterB, null)); StartTimeFinder finder = new StartTimeFinder(raceLogResolver, raceLogC); // Tests for correct behaviour, when race depending on has no start time set assertNull(finder.analyze().getStartTime()); final MillisecondsDurationImpl bAfterA = new MillisecondsDurationImpl(6000); - raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, author, nowMock, "12", null, 12, - new SimpleRaceLogIdentifierImpl("A", "", ""), bAfterA)); + raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, + new SimpleRaceLogIdentifierImpl("A", "", ""), bAfterA, null)); finder = new StartTimeFinder(raceLogResolver, raceLogB); StartTimeFinderResult result = finder.analyze(); @@ -98,7 +98,7 @@ public class DependentStartTimeFinderTest { assertEquals(expectedDependingOnRaces, result.getRacesDependingOn()); TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, author, now, "12", null, 12, new MillisecondsTimePoint(5000))); + raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000))); finder = new StartTimeFinder(raceLogResolver, raceLogB); result = finder.analyze(); @@ -111,7 +111,7 @@ public class DependentStartTimeFinderTest { assertEquals(5000, result.getStartTimeDiff().asMillis()); // Test correct behaviour, when middle element changes - raceLogB.add(new RaceLogStartTimeEventImpl(now, author, now, "12", null, 12, new MillisecondsTimePoint(15000))); + raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(15000))); finder = new StartTimeFinder(raceLogResolver, raceLogA); result = finder.analyze(); assertEquals(5000, result.getStartTime().asMillis()); @@ -131,16 +131,16 @@ public class DependentStartTimeFinderTest { @Test public void testDependentStartTimeCycle() { final MillisecondsDurationImpl cAfterB = new MillisecondsDurationImpl(6000); - raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, author, nowMock, "12", null, 12, - new SimpleRaceLogIdentifierImpl("B", "", ""), cAfterB)); + raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, + new SimpleRaceLogIdentifierImpl("B", "", ""), cAfterB, null)); final MillisecondsDurationImpl bAfterA = new MillisecondsDurationImpl(7000); - raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, author, nowMock, "12", null, 12, - new SimpleRaceLogIdentifierImpl("A", "", ""), bAfterA)); + raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, + new SimpleRaceLogIdentifierImpl("A", "", ""), bAfterA, null)); final MillisecondsDurationImpl aAfterC = new MillisecondsDurationImpl(8000); - raceLogA.add(new RaceLogDependentStartTimeEventImpl(nowMock, author, nowMock, "12", null, 12, - new SimpleRaceLogIdentifierImpl("C", "", ""), aAfterC)); + raceLogA.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, + new SimpleRaceLogIdentifierImpl("C", "", ""), aAfterC, null)); // Check that all resolve to null in case of a cycle StartTimeFinder finder = new StartTimeFinder(raceLogResolver, raceLogC); @@ -157,7 +157,7 @@ public class DependentStartTimeFinderTest { // Check that all resolve correctly after changing some element in cycle TimePoint now = MillisecondsTimePoint.now(); - raceLogB.add(new RaceLogStartTimeEventImpl(now, author, now, "12", null, 12, new MillisecondsTimePoint(5000))); + raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000))); // now A -> C -> B finder = new StartTimeFinder(raceLogResolver, raceLogA); diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/MultiLogAnalyzerTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/MultiLogAnalyzerTest.java index 02ceb503d7e..d7734f9bd2a 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/MultiLogAnalyzerTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/MultiLogAnalyzerTest.java @@ -72,11 +72,11 @@ public class MultiLogAnalyzerTest { Competitor c2 = createCompetitor(2); Competitor c3 = createCompetitor(3); - raceLog.add(new RaceLogRegisterCompetitorEventImpl(now(), author, now(), uuid(), 0, c1)); - regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(now(), author, now(), uuid(), c2)); + raceLog.add(new RaceLogRegisterCompetitorEventImpl(now(), now(), author, uuid(), 0, c1)); + regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(now(), now(), author, uuid(), c2)); - raceLog.add(new RaceLogRegisterCompetitorEventImpl(now(), author, now(), uuid(), 0, c3)); - regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(now(), author, now(), uuid(), c3)); + raceLog.add(new RaceLogRegisterCompetitorEventImpl(now(), now(), author, uuid(), 0, c3)); + regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(now(), now(), author, uuid(), c3)); Set result = new MultiLogAnalyzer<>( RegisteredCompetitorsAnalyzer.Factory.INSTANCE, new MultiLogAnalyzer.SetReducer(), raceLog, @@ -96,12 +96,12 @@ public class MultiLogAnalyzerTest { DeviceIdentifier d1 = createDevice(); DeviceIdentifier d2 = createDevice(); - raceLog.add(new RaceLogDeviceCompetitorMappingEventImpl(now(), author, now(), 0, 0, c1, d1, t(0), t(10))); - raceLog.add(new RaceLogDeviceCompetitorMappingEventImpl(now(), author, now(), 1, 0, c1, d2, t(30), t(40))); - regattaLog.add(new RegattaLogDeviceCompetitorMappingEventImpl(now(), author, now(), 2, c2, d2, t(10), t(20))); + raceLog.add(new RaceLogDeviceCompetitorMappingEventImpl(now(), now(), author, 0, 0, c1, d1, t(0), t(10))); + raceLog.add(new RaceLogDeviceCompetitorMappingEventImpl(now(), now(), author, 1, 0, c1, d2, t(30), t(40))); + regattaLog.add(new RegattaLogDeviceCompetitorMappingEventImpl(now(), now(), author, 2, c2, d2, t(10), t(20))); // and one for same item (competitor) in other log - regattaLog.add(new RegattaLogDeviceCompetitorMappingEventImpl(now(), author, now(), 3, c1, d1, t(10), + regattaLog.add(new RegattaLogDeviceCompetitorMappingEventImpl(now(), now(), author, 3, c1, d1, t(10), t(20))); Map>> result = new MultiLogAnalyzer<>( diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java index 534c6fcfbb5..ee4461ebfe4 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java @@ -11,7 +11,6 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogDependentStartTimeEventImpl; @@ -46,17 +45,15 @@ public class DependentRaceStateTest { private RaceStateChangedListener listenerC; private AbstractLogEventAuthor author; - private RaceLogEventFactory factory; private ConfigurationLoader configuration; private TimePoint nowMock; - + private RaceLogResolver raceLogResolver; @Before public void setUp() { author = new LogEventAuthorImpl("Test", 1); - factory = RaceLogEventFactory.INSTANCE; configuration = new EmptyRegattaConfiguration(); raceLogA = new RaceLogImpl("raceLogA"); @@ -82,12 +79,12 @@ public class DependentRaceStateTest { } }; - stateA = new RaceStateImpl(raceLogResolver, raceLogA, author, factory, new RacingProcedureFactoryImpl(author, - factory, configuration)); - stateB = new RaceStateImpl(raceLogResolver, raceLogB, author, factory, new RacingProcedureFactoryImpl(author, - factory, configuration)); - stateC = new RaceStateImpl(raceLogResolver, raceLogC, author, factory, new RacingProcedureFactoryImpl(author, - factory, configuration)); + stateA = new RaceStateImpl(raceLogResolver, raceLogA, author, new RacingProcedureFactoryImpl(author, + configuration)); + stateB = new RaceStateImpl(raceLogResolver, raceLogB, author, new RacingProcedureFactoryImpl(author, + configuration)); + stateC = new RaceStateImpl(raceLogResolver, raceLogC, author, new RacingProcedureFactoryImpl(author, + configuration)); stateA.addChangedListener(listenerA); stateB.addChangedListener(listenerB); @@ -96,27 +93,27 @@ public class DependentRaceStateTest { @Test public void testCorrectAmountOfStartTimeChanges() { - raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, author, nowMock, "12", null, 12, - new SimpleRaceLogIdentifierImpl("B", "", ""), new MillisecondsDurationImpl(5000))); + raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, + new SimpleRaceLogIdentifierImpl("B", "", ""), new MillisecondsDurationImpl(5000), null)); - raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, author, nowMock, "12", null, 12, - new SimpleRaceLogIdentifierImpl("A", "", ""), new MillisecondsDurationImpl(5000))); - - TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, author, now, "12", null, 12, new MillisecondsTimePoint(5000))); - - verify(listenerC, times(3)).onStartTimeChanged(stateC); - verify(listenerB, times(2)).onStartTimeChanged(stateB); - verify(listenerA, times(1)).onStartTimeChanged(stateA); + raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, + new SimpleRaceLogIdentifierImpl("A", "", ""), new MillisecondsDurationImpl(5000), null)); + + TimePoint now = MillisecondsTimePoint.now(); + raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000))); + + verify(listenerC, times(3)).onStartTimeChanged(stateC); + verify(listenerB, times(2)).onStartTimeChanged(stateB); + verify(listenerA, times(1)).onStartTimeChanged(stateA); } @Test public void testInitialRegistrationOfRaceState() { final MillisecondsDurationImpl delta = new MillisecondsDurationImpl(5000); - raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, author, nowMock, "12", null, 12, - new SimpleRaceLogIdentifierImpl("A", "", ""), delta)); - final RaceState stateB2 = new RaceStateImpl(raceLogResolver, raceLogB, author, factory, - new RacingProcedureFactoryImpl(author, factory, configuration)); + raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, + new SimpleRaceLogIdentifierImpl("A", "", ""), delta, null)); + final RaceState stateB2 = new RaceStateImpl(raceLogResolver, raceLogB, author, new RacingProcedureFactoryImpl( + author, configuration)); final TimePoint[] bTime = new TimePoint[1]; stateB2.addChangedListener(new BaseRaceStateChangedListener() { @Override @@ -125,25 +122,25 @@ public class DependentRaceStateTest { } }); TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, author, now, "12", null, 12, now)); + raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, now)); assertEquals(now.plus(delta), bTime[0]); - } + } @Test public void testCorrectAmountOfStartTimeChanges2() { - raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, author, nowMock, "12", null, 12, - new SimpleRaceLogIdentifierImpl("B", "", ""), new MillisecondsDurationImpl(5000))); + raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, + new SimpleRaceLogIdentifierImpl("B", "", ""), new MillisecondsDurationImpl(5000), null)); - raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, author, nowMock, "12", null, 12, - new SimpleRaceLogIdentifierImpl("A", "", ""), new MillisecondsDurationImpl(5000))); - - TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, author, now, "12", null, 12, new MillisecondsTimePoint(5000))); - - raceLogB.add(new RaceLogStartTimeEventImpl(now, author, now, "12", null, 12, new MillisecondsTimePoint(20000))); - - verify(listenerA, times(1)).onStartTimeChanged(stateA); - verify(listenerB, times(3)).onStartTimeChanged(stateB); - verify(listenerC, times(4)).onStartTimeChanged(stateC); + raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, + new SimpleRaceLogIdentifierImpl("A", "", ""), new MillisecondsDurationImpl(5000), null)); + + TimePoint now = MillisecondsTimePoint.now(); + raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000))); + + raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(20000))); + + verify(listenerA, times(1)).onStartTimeChanged(stateA); + verify(listenerB, times(3)).onStartTimeChanged(stateB); + verify(listenerC, times(4)).onStartTimeChanged(stateC); } } diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/RaceStateTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/RaceStateTest.java index 99937e4f81a..aee069049b4 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/RaceStateTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/RaceStateTest.java @@ -19,7 +19,6 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; @@ -48,7 +47,6 @@ public class RaceStateTest { private RaceLog raceLog; private AbstractLogEventAuthor author; - private RaceLogEventFactory factory; private RacingProcedureType defaultRacingProcedureType; private ConfigurationLoader configuration; private RaceStateChangedListener listener; @@ -60,13 +58,12 @@ public class RaceStateTest { public void setUp() { raceLog = new RaceLogImpl("test-log"); author = new LogEventAuthorImpl("Test", 1); - factory = RaceLogEventFactory.INSTANCE; defaultRacingProcedureType = RacingProcedureType.RRS26; configuration = new EmptyRegattaConfiguration(); listener = mock(RaceStateChangedListener.class); nowMock = mock(TimePoint.class); - state = new RaceStateImpl(mock(RaceLogResolver.class), raceLog, author, factory, new RacingProcedureFactoryImpl(author, factory, configuration)); + state = new RaceStateImpl(mock(RaceLogResolver.class), raceLog, author, new RacingProcedureFactoryImpl(author, configuration)); } @Test @@ -96,7 +93,7 @@ public class RaceStateTest { config.setBasicConfiguration(mock(RacingProcedureConfiguration.class)); configuration = mock(ConfigurationLoader.class); when(configuration.load()).thenReturn(config); - state = new RaceStateImpl(mock(RaceLogResolver.class), raceLog, author, factory, new RacingProcedureFactoryImpl(author, factory, configuration)); + state = new RaceStateImpl(mock(RaceLogResolver.class), raceLog, author, new RacingProcedureFactoryImpl(author, configuration)); assertEquals(RacingProcedureType.BASIC, state.getRacingProcedure().getType()); } @@ -110,8 +107,8 @@ public class RaceStateTest { config.setESSConfiguration(mock(ESSConfiguration.class)); configuration = mock(ConfigurationLoader.class); when(configuration.load()).thenReturn(config); - raceLog.add(new RaceLogStartProcedureChangedEventImpl(nowMock, author, nowMock, "12", null, 0, RacingProcedureType.ESS)); - state = new RaceStateImpl(mock(RaceLogResolver.class), raceLog, author, factory, new RacingProcedureFactoryImpl(author, factory, configuration)); + raceLog.add(new RaceLogStartProcedureChangedEventImpl(nowMock, nowMock, author, "12", null, 0, RacingProcedureType.ESS)); + state = new RaceStateImpl(mock(RaceLogResolver.class), raceLog, author, new RacingProcedureFactoryImpl(author, configuration)); assertEquals(RacingProcedureType.ESS, state.getRacingProcedure().getType()); } @@ -136,7 +133,7 @@ public class RaceStateTest { @Test public void testSetIndividualRecall() { assertFalse(state.getRacingProcedure().isIndividualRecallDisplayed()); - raceLog.add(new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), author, MillisecondsTimePoint.now(), UUID + raceLog.add(new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), MillisecondsTimePoint.now(), author, UUID .randomUUID(), null, /* pass */0, Flags.XRAY, Flags.NONE, /* pIsDisplayed */true)); assertTrue(state.getRacingProcedure().isIndividualRecallDisplayed()); } diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogEventImplTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogEventImplTest.java index 91b10656b99..ecb4cf09cb5 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogEventImplTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogEventImplTest.java @@ -30,7 +30,7 @@ public class RaceLogEventImplTest { public TestRaceLogEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable pId, List pInvolvedBoats, int pPassId) { - super(createdAt, author, logicalTimePoint, pId, pInvolvedBoats, pPassId); + super(createdAt, logicalTimePoint, author, pId, pInvolvedBoats, pPassId); } @Override diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogRevocationTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogRevocationTest.java index 895ab6a854c..b6a6612727b 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogRevocationTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogRevocationTest.java @@ -14,10 +14,10 @@ import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogChangedListener; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogChangedVisitor; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDenoteForTrackingEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDenoteForTrackingEventImpl; import com.sap.sailing.domain.common.abstractlog.NotRevokableException; import com.sap.sse.common.TimePoint; import com.sap.sse.common.Util; @@ -107,7 +107,7 @@ public class RaceLogRevocationTest { @Test public void sameEventRevokedByTwoClientsBeforeSync() throws NotRevokableException { - RaceLogDenoteForTrackingEvent event = RaceLogEventFactory.INSTANCE.createDenoteForTrackingEvent( + RaceLogDenoteForTrackingEvent event = new RaceLogDenoteForTrackingEventImpl( now(), serverAuthor, 0, "race", null, null); serverRaceLog.add(event); diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogTest.java index 361816d7068..6d0b270353a 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogTest.java @@ -23,12 +23,12 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventImpl; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; import com.sap.sse.common.TimePoint; import com.sap.sse.common.Util; import com.sap.sse.common.impl.MillisecondsTimePoint; @@ -40,8 +40,8 @@ public class RaceLogTest { private static class MockRaceLogEventForSorting extends RaceLogEventImpl { public MockRaceLogEventForSorting(long createdAtMillis) { super(new MillisecondsTimePoint(createdAtMillis), - /* author */ new LogEventAuthorImpl("Dummy Author", /* priority */ 0), - MillisecondsTimePoint.now(), /* ID */ UUID.randomUUID(), /* pInvolvedBoats */ null, /* pass ID */ 1); + MillisecondsTimePoint.now(), + /* author */ new LogEventAuthorImpl("Dummy Author", /* priority */ 0), /* ID */ UUID.randomUUID(), /* pInvolvedBoats */ null, /* pass ID */ 1); } private static final long serialVersionUID = 4928452859543831451L; @@ -433,14 +433,14 @@ public class RaceLogTest { UUID client1Id = UUID.randomUUID(); UUID client2Id = UUID.randomUUID(); final TimePoint now = MillisecondsTimePoint.now(); - RaceLogStartTimeEvent startTimeEvent1 = RaceLogEventFactory.INSTANCE.createStartTimeEvent(now, author, 1, now.plus(1)); + RaceLogStartTimeEvent startTimeEvent1 = new RaceLogStartTimeEventImpl(now, author, 1, now.plus(1)); Iterable empty = raceLog.add(startTimeEvent1, client1Id); assertTrue(Util.isEmpty(empty)); - RaceLogStartTimeEvent startTimeEvent2 = RaceLogEventFactory.INSTANCE.createStartTimeEvent(now.plus(2), author, 1, now.plus(3)); + RaceLogStartTimeEvent startTimeEvent2 = new RaceLogStartTimeEventImpl(now.plus(2), author, 1, now.plus(3)); Iterable nonEmpty = raceLog.add(startTimeEvent2, client2Id); assertEquals(1, Util.size(nonEmpty)); assertSame(startTimeEvent1, nonEmpty.iterator().next()); - RaceLogStartTimeEvent startTimeEvent3 = RaceLogEventFactory.INSTANCE.createStartTimeEvent(now.plus(4), author, 1, now.plus(5)); + RaceLogStartTimeEvent startTimeEvent3 = new RaceLogStartTimeEventImpl(now.plus(4), author, 1, now.plus(5)); Iterable nonEmpty2 = raceLog.add(startTimeEvent3, client1Id); assertEquals(1, Util.size(nonEmpty2)); assertSame(startTimeEvent2, nonEmpty2.iterator().next()); diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/SerializeRaceLogEventsTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/SerializeRaceLogEventsTest.java index 035e393f9c7..b2bc042d036 100755 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/SerializeRaceLogEventsTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/SerializeRaceLogEventsTest.java @@ -13,10 +13,11 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceCompetitorMappingEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; import com.sap.sailing.domain.racelog.tracking.test.mock.SmartphoneImeiIdentifier; import com.sap.sailing.domain.test.AbstractLeaderboardTest; import com.sap.sse.common.Util; @@ -32,14 +33,12 @@ public class SerializeRaceLogEventsTest { private ObjectOutputStream oos; private ByteArrayOutputStream bos; private RaceLog raceLog; - private RaceLogEventFactory eventFactory; @Before public void setUp() throws IOException { bos = new ByteArrayOutputStream(); oos = new ObjectOutputStream(bos); raceLog = new RaceLogImpl("Test Race Log"); - eventFactory = RaceLogEventFactory.INSTANCE; } @Test @@ -59,7 +58,7 @@ public class SerializeRaceLogEventsTest { @Test public void testRaceLogSerializationWithSingleEvent() throws IOException, ClassNotFoundException { - RaceLogStartTimeEvent startTimeEvent = eventFactory.createStartTimeEvent(MillisecondsTimePoint.now(), + RaceLogStartTimeEvent startTimeEvent = new RaceLogStartTimeEventImpl(MillisecondsTimePoint.now(), new LogEventAuthorImpl("Author Name", /* priority */0), /* passId */1, /* startTime */ MillisecondsTimePoint.now()); raceLog.add(startTimeEvent); @@ -79,9 +78,9 @@ public class SerializeRaceLogEventsTest { @Test public void testRaceLogSerializationWithEventContainingDeviceIdentifier() throws IOException, ClassNotFoundException { - RaceLogDeviceCompetitorMappingEvent mappingEvent = eventFactory.createDeviceCompetitorMappingEvent( - MillisecondsTimePoint.now(), new LogEventAuthorImpl("Author Name", /* priority */0), new SmartphoneImeiIdentifier("1948364938463903"), - AbstractLeaderboardTest.createCompetitor("Test Competitor"), 0, new MillisecondsTimePoint(0), new MillisecondsTimePoint(10)); + RaceLogDeviceCompetitorMappingEvent mappingEvent = new RaceLogDeviceCompetitorMappingEventImpl( + MillisecondsTimePoint.now(), new LogEventAuthorImpl("Author Name", /* priority */0), 0, + AbstractLeaderboardTest.createCompetitor("Test Competitor"), new SmartphoneImeiIdentifier("1948364938463903"), new MillisecondsTimePoint(0), new MillisecondsTimePoint(10)); raceLog.add(mappingEvent); oos.writeObject(raceLog); ObjectInputStream ois = getObjectInputStream(); diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/AbstractRaceLogTrackingTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/AbstractRaceLogTrackingTest.java index 251fa779f10..2235f824acd 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/AbstractRaceLogTrackingTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/AbstractRaceLogTrackingTest.java @@ -5,7 +5,6 @@ import org.junit.Before; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventRestoreFactory; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; import com.sap.sse.common.TimePoint; import com.sap.sse.common.impl.MillisecondsTimePoint; @@ -17,7 +16,6 @@ public abstract class AbstractRaceLogTrackingTest { protected final AbstractLogEventAuthor author1 = new LogEventAuthorImpl("author1", 1); protected final TimePoint now = MillisecondsTimePoint.now(); - protected final RaceLogEventRestoreFactory factory = RaceLogEventRestoreFactory.INSTANCE; public AbstractRaceLogTrackingTest() { super(); diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/DeviceMappingFinderTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/DeviceMappingFinderTest.java index bef31f43e99..212503f37c7 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/DeviceMappingFinderTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/DeviceMappingFinderTest.java @@ -12,6 +12,8 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogCloseOpenEndedDeviceMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; import com.sap.sailing.domain.abstractlog.shared.analyzing.DeviceCompetitorMappingFinder; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.impl.CompetitorImpl; @@ -41,14 +43,14 @@ public class DeviceMappingFinderTest extends AbstractRaceLogTrackingTest { } private Serializable addMapping(AbstractLogEventAuthor author, DeviceIdentifier device, Long from, Long to, Competitor item) { - RaceLogEvent mapping = factory.createDeviceCompetitorMappingEvent(t(), author, t(), UUID.randomUUID(), device, item, 0, + RaceLogEvent mapping = new RaceLogDeviceCompetitorMappingEventImpl(t(), t(), author, UUID.randomUUID(), 0, item, device, t(from), t(to)); log.add(mapping); return mapping.getId(); } private void closeMapping(AbstractLogEventAuthor author, DeviceIdentifier device, Serializable mappingId, long millis) { - RaceLogEvent mapping = factory.createCloseOpenEndedDeviceMappingEvent(t(), author, t(), UUID.randomUUID(), 0, mappingId, + RaceLogEvent mapping = new RaceLogCloseOpenEndedDeviceMappingEventImpl(t(), t(), author, UUID.randomUUID(), 0, mappingId, new MillisecondsTimePoint(millis)); log.add(mapping); } diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/RevokeEventTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/RevokeEventTest.java index 6344333f059..c3d00398143 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/RevokeEventTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/tracking/analyzing/test/RevokeEventTest.java @@ -8,13 +8,15 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogRevokeEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRevokeEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; import com.sap.sse.common.Util; public class RevokeEventTest extends AbstractRaceLogTrackingTest { @Test public void revokedEventIsExcluded() { - RaceLogEvent event = factory.createDeviceCompetitorMappingEvent(now, author, now, UUID.randomUUID(), null, null, 0, null, null); - RaceLogRevokeEvent revokeEvent = factory.createRevokeEvent(now.plus(1), author, now.plus(1), UUID.randomUUID(), 0, event.getId(), + RaceLogEvent event = new RaceLogDeviceCompetitorMappingEventImpl(now, now, author, UUID.randomUUID(), 0, null, null, null, null); + RaceLogRevokeEvent revokeEvent = new RaceLogRevokeEventImpl(now.plus(1), now.plus(1), author, UUID.randomUUID(), 0, event.getId(), null, null, null); log.add(event); @@ -27,8 +29,8 @@ public class RevokeEventTest extends AbstractRaceLogTrackingTest { @Test public void eventRevokedByAuthorWithLowerPrioIsNotExcluded() { - RaceLogEvent event = factory.createDeviceCompetitorMappingEvent(now, author, now, UUID.randomUUID(), null, null, 0, null, null); - RaceLogRevokeEvent revokeEvent = factory.createRevokeEvent(now.plus(1), author1, now.plus(1), UUID.randomUUID(), 0, event.getId(), + RaceLogEvent event = new RaceLogDeviceCompetitorMappingEventImpl(now, now, author, UUID.randomUUID(), 0, null, null, null, null); + RaceLogRevokeEvent revokeEvent = new RaceLogRevokeEventImpl(now.plus(1), now.plus(1), author1, UUID.randomUUID(), 0, event.getId(), null, null, null); log.add(event); @@ -41,10 +43,10 @@ public class RevokeEventTest extends AbstractRaceLogTrackingTest { @Test public void revokingRevokeEventIsNotHarmful() { - RaceLogEvent event = factory.createDeviceCompetitorMappingEvent(now, author, now, UUID.randomUUID(), null, null, 0, null, null); - RaceLogRevokeEvent revokeEvent = factory.createRevokeEvent(now.plus(1), author, now.plus(1), UUID.randomUUID(), 0, event.getId(), + RaceLogEvent event = new RaceLogDeviceCompetitorMappingEventImpl(now, now, author, UUID.randomUUID(), 0, null, null, null, null); + RaceLogRevokeEvent revokeEvent = new RaceLogRevokeEventImpl(now.plus(1), now.plus(1), author, UUID.randomUUID(), 0, event.getId(), null, null, null); - RaceLogRevokeEvent revokeEvent2 = factory.createRevokeEvent(now.plus(2), author, now.plus(2), UUID.randomUUID(), 2, revokeEvent.getId(), + RaceLogRevokeEvent revokeEvent2 = new RaceLogRevokeEventImpl(now.plus(2), now.plus(2), author, UUID.randomUUID(), 2, revokeEvent.getId(), null, null, null); log.add(event); diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java index d6e50866d1c..03adf4b7386 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java @@ -1,10 +1,12 @@ package com.sap.sailing.domain.abstractlog.impl; import java.io.Serializable; +import java.util.UUID; import com.sap.sailing.domain.abstractlog.AbstractLogEvent; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sse.common.TimePoint; +import com.sap.sse.common.impl.MillisecondsTimePoint; public abstract class AbstractLogEventImpl implements AbstractLogEvent { @@ -15,13 +17,23 @@ public abstract class AbstractLogEventImpl implements AbstractLogEvent private final Serializable id; private final AbstractLogEventAuthor author; - public AbstractLogEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, + /** + * Restore existing event. + */ + public AbstractLogEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId) { this.createdAt = createdAt; this.author = author; this.logicalTimePoint = logicalTimePoint; this.id = pId; } + + /** + * Create new event. + */ + public AbstractLogEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author) { + this(MillisecondsTimePoint.now(), logicalTimePoint, author, UUID.randomUUID()); + } @Override public TimePoint getCreatedAt() { diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/RevokeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/RevokeEventImpl.java index 57aa58e9890..8bc9a637983 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/RevokeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/RevokeEventImpl.java @@ -18,14 +18,14 @@ public abstract class RevokeEventImpl extends AbstractLogEventImpl toRevoke, String reason) { - this(MillisecondsTimePoint.now(), author, MillisecondsTimePoint.now(), UUID.randomUUID(), + this(MillisecondsTimePoint.now(), MillisecondsTimePoint.now(), author, UUID.randomUUID(), toRevoke.getId(), toRevoke.getClass().getName(), toRevoke.getShortInfo(), reason); } - public RevokeEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, + public RevokeEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, Serializable revokedEventId, String revokedEventType, String revokedEventShortInfo, String reason) { - super(createdAt, author, logicalTimePoint, pId); + super(createdAt, logicalTimePoint, author, pId); this.revokedEventId = revokedEventId; this.reason = reason; this.revokedEventType = revokedEventType; diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/RaceLogEventFactory.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/RaceLogEventFactory.java deleted file mode 100644 index dd6c9169caf..00000000000 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/RaceLogEventFactory.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.sap.sailing.domain.abstractlog.race; - -import java.io.Serializable; -import java.util.List; - -import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; -import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventFactoryImpl; -import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType; -import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogCloseOpenEndedDeviceMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDenoteForTrackingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceCompetitorMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceMarkMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogRegisterCompetitorEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogStartTrackingEvent; -import com.sap.sailing.domain.base.BoatClass; -import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CourseBase; -import com.sap.sailing.domain.base.Mark; -import com.sap.sailing.domain.common.Wind; -import com.sap.sailing.domain.common.racelog.Flags; -import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.RacingProcedureType; -import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; -import com.sap.sse.common.Duration; -import com.sap.sse.common.TimePoint; - -public interface RaceLogEventFactory { - RaceLogEventFactory INSTANCE = new RaceLogEventFactoryImpl(); - - RaceLogFlagEvent createFlagEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable id, List involvedBoats, - int passId, Flags upperFlag, Flags lowerFlag, boolean isDisplayed); - - RaceLogFlagEvent createFlagEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, Flags upperFlag, - Flags lowerFlag, boolean isDisplayed); - - RaceLogStartTimeEvent createStartTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable id, - List involvedBoats, int passId, TimePoint startTime); - - RaceLogStartTimeEvent createStartTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, TimePoint startTime); - - RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable id, - List competitors, int passId, RaceLogRaceStatus nextStatus); - - RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, RaceLogRaceStatus nextStatus); - - RaceLogPassChangeEvent createPassChangeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable id, - List competitors, int passId); - - RaceLogPassChangeEvent createPassChangeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId); - - RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, Serializable courseAreaId); - - RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, Serializable courseAreaId); - - RaceLogCourseDesignChangedEvent createCourseDesignChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, CourseBase courseData); - - RaceLogCourseDesignChangedEvent createCourseDesignChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, CourseBase courseData); - - RaceLogFinishPositioningListChangedEvent createFinishPositioningListChangedEvent(TimePoint logicalTimePoint, - AbstractLogEventAuthor author, Serializable id, List competitors, - int passId, CompetitorResults positionedCompetitors); - - RaceLogFinishPositioningListChangedEvent createFinishPositioningListChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, CompetitorResults positionedCompetitors); - - RaceLogFinishPositioningConfirmedEvent createFinishPositioningConfirmedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, CompetitorResults positionedCompetitors); - - RaceLogFinishPositioningConfirmedEvent createFinishPositioningConfirmedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, CompetitorResults positionedCompetitors); - - RaceLogPathfinderEvent createPathfinderEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable id, - List competitors, int passId, String pathfinderId); - - RaceLogPathfinderEvent createPathfinderEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, String pathfinderId); - - RaceLogGateLineOpeningTimeEvent createGateLineOpeningTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, Long gateLaunchStopTime, Long golfDownTime); - - RaceLogGateLineOpeningTimeEvent createGateLineOpeningTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, Long gateLaunchStopTime, Long golfDownTime); - - RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, RacingProcedureType type); - - RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, RacingProcedureType type); - - RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, TimePoint protestStartTime); - - RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, TimePoint protestStartTime); - - RaceLogWindFixEvent createWindFixEvent(TimePoint eventTime, AbstractLogEventAuthor author, int currentPassId, Wind wind, boolean isMagnetic); - - RaceLogWindFixEvent createWindFixEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, Wind wind, boolean isMagnetic); - - RaceLogDeviceCompetitorMappingEvent createDeviceCompetitorMappingEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - DeviceIdentifier device, Competitor mappedTo, int passId, TimePoint from, TimePoint to); - - RaceLogDeviceMarkMappingEvent createDeviceMarkMappingEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - DeviceIdentifier device, Mark mappedTo, int passId, TimePoint from, TimePoint to); - - RaceLogDenoteForTrackingEvent createDenoteForTrackingEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, - String raceName, BoatClass boatClass, Serializable raceId); - - RaceLogStartTrackingEvent createStartTrackingEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId); - - RaceLogRevokeEvent createRevokeEvent(AbstractLogEventAuthor author, int passId, RaceLogEvent toRevoke, String reason); - - RaceLogRegisterCompetitorEvent createRegisterCompetitorEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, Competitor competitor); - - RaceLogDefineMarkEvent createDefineMarkEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, Mark mark); - - RaceLogCloseOpenEndedDeviceMappingEvent createCloseOpenEndedDeviceMappingEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, - Serializable deviceMappingEventId, TimePoint closingTimePoint); - - RaceLogFixedMarkPassingEvent createFixedMarkPassingEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable id, - List competitors, Integer passId, TimePoint ofFixedPassing, Integer zeroBasedIndexOfWaypoint); - - RaceLogAdditionalScoringInformationEvent createAdditionalScoringInformationEvent(TimePoint timePoint, Serializable id, AbstractLogEventAuthor author, int currentPassId, - AdditionalScoringInformationType informationType); - - RaceLogSuppressedMarkPassingsEvent createSuppressedMarkPassingsEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable id, - List competitors, Integer passId, Integer zeroBasedIndexOfFirstSuppressedWaypoint); - - RaceLogDependentStartTimeEvent createDependentStartTimeEvent(TimePoint logicalTimePoint, - AbstractLogEventAuthor author, Serializable id, List involvedBoats, int passId, SimpleRaceLogIdentifier dependentOnRace, - Duration startTimeDifference); - - RaceLogDependentStartTimeEvent createDependentStartTimeEvent(TimePoint logicalTimePoint, - AbstractLogEventAuthor author, int passId, SimpleRaceLogIdentifier dependentOnRace, Duration startTimeDifference); - - RaceLogStartOfTrackingEvent createStartOfTrackingEvent(TimePoint startOfTracking, AbstractLogEventAuthor author, - Serializable id, List competitors, Integer passId); - - RaceLogEndOfTrackingEvent createEndOfTrackingEvent(TimePoint endOfTracking, AbstractLogEventAuthor author, - Serializable id, List competitors, Integer passId); - - -} diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/RaceLogEventRestoreFactory.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/RaceLogEventRestoreFactory.java deleted file mode 100644 index 1219911d501..00000000000 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/RaceLogEventRestoreFactory.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.sap.sailing.domain.abstractlog.race; - -import java.io.Serializable; -import java.util.List; - -import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; -import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventRestoreFactoryImpl; -import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType; -import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogCloseOpenEndedDeviceMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDenoteForTrackingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceCompetitorMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceMarkMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogRegisterCompetitorEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogStartTrackingEvent; -import com.sap.sailing.domain.base.BoatClass; -import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CourseBase; -import com.sap.sailing.domain.base.Mark; -import com.sap.sailing.domain.common.Wind; -import com.sap.sailing.domain.common.racelog.Flags; -import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.RacingProcedureType; -import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; -import com.sap.sse.common.Duration; -import com.sap.sse.common.TimePoint; - -public interface RaceLogEventRestoreFactory extends RaceLogEventFactory { - RaceLogEventRestoreFactory INSTANCE = new RaceLogEventRestoreFactoryImpl(); - - RaceLogFlagEvent createFlagEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable id, List involvedBoats, int passId, Flags upperFlag, Flags lowerFlag, boolean isDisplayed); - - RaceLogStartTimeEvent createStartTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable id, List involvedBoats, int passId, TimePoint startTime, RaceLogRaceStatus nextStatue); - - RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable id, List competitors, int passId, RaceLogRaceStatus nextStatus); - - RaceLogPassChangeEvent createPassChangeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable id, List competitors, int passId); - - RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId, Serializable courseAreaId); - - RaceLogCourseDesignChangedEvent createCourseDesignChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId, CourseBase courseData); - - RaceLogFinishPositioningListChangedEvent createFinishPositioningListChangedEvent(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, List competitors, - int passId, CompetitorResults positionedCompetitors); - - RaceLogFinishPositioningConfirmedEvent createFinishPositioningConfirmedEvent(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, List competitors, - int passId, CompetitorResults positionedCompetitors); - - RaceLogPathfinderEvent createPathfinderEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable id, List competitors, int passId, String pathfinderId); - - RaceLogGateLineOpeningTimeEvent createGateLineOpeningTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId, Long gateLaunchStopTime, - Long golfDownTime); - - RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId, RacingProcedureType type); - - RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId, TimePoint protestStartTime); - - RaceLogWindFixEvent createWindFixEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable id, List competitors, Integer passId, Wind wind, boolean isMagnetic); - - RaceLogDeviceCompetitorMappingEvent createDeviceCompetitorMappingEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, DeviceIdentifier device, Competitor mappedTo, int passId, TimePoint from, TimePoint to); - - RaceLogDeviceMarkMappingEvent createDeviceMarkMappingEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, DeviceIdentifier device, Mark mappedTo, int passId, TimePoint from, TimePoint to); - - RaceLogDenoteForTrackingEvent createDenoteForTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, int passId, String raceName, BoatClass boatClass, Serializable raceId); - - RaceLogStartTrackingEvent createStartTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, int passId); - - RaceLogRevokeEvent createRevokeEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, int passId, Serializable revokedEventId, - String revokedEventType, String revokedEventShortInfo, String reason); - - RaceLogRegisterCompetitorEvent createRegisterCompetitorEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, int passId, Competitor competitor); - - RaceLogDefineMarkEvent createDefineMarkEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, int passId, Mark mark); - - RaceLogCloseOpenEndedDeviceMappingEvent createCloseOpenEndedDeviceMappingEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, int passId, Serializable deviceMappingEventId, TimePoint closingTimePoint); - - RaceLogAdditionalScoringInformationEvent createAdditionalScoringInformationEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, List competitors, int passId, - AdditionalScoringInformationType informationType); - - RaceLogDependentStartTimeEvent createDependentStartTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List involvedBoats, int passId, - SimpleRaceLogIdentifier dependentOnRace, Duration startTimeDifference, RaceLogRaceStatus nextStatus); -} diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/MarkPassingDataFinder.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/MarkPassingDataFinder.java index edfc7a1d45a..e5ead97f468 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/MarkPassingDataFinder.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/MarkPassingDataFinder.java @@ -3,9 +3,9 @@ package com.sap.sailing.domain.abstractlog.race.analyzing.impl; import java.util.HashSet; import java.util.Set; -import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogSuppressedMarkPassingsEvent; import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/BaseRaceLogEventVisitor.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/BaseRaceLogEventVisitor.java index f0aed5f9999..1c9038da9a5 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/BaseRaceLogEventVisitor.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/BaseRaceLogEventVisitor.java @@ -1,13 +1,13 @@ package com.sap.sailing.domain.abstractlog.race.impl; -import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseAreaChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogDependentStartTimeEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningListChangedEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogGateLineOpeningTimeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogPassChangeEvent; @@ -18,8 +18,8 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogRevokeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartProcedureChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogSuppressedMarkPassingsEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogCloseOpenEndedDeviceMappingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseAreaChangeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseAreaChangeEventImpl.java index c56772b5540..e5f811bd4b1 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseAreaChangeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseAreaChangeEventImpl.java @@ -9,15 +9,20 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; -public class RaceLogCourseAreaChangeEventImpl extends RaceLogEventImpl implements -RaceLogCourseAreaChangedEvent { +public class RaceLogCourseAreaChangeEventImpl extends RaceLogEventImpl implements RaceLogCourseAreaChangedEvent { private static final long serialVersionUID = -3943108136024977860L; private final Serializable courseAreaId; - public RaceLogCourseAreaChangeEventImpl(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint pTimePoint, Serializable pId, List pInvolvedBoats, int pPassId, Serializable courseAreaId) { - super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId); + public RaceLogCourseAreaChangeEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, + Serializable pId, List pInvolvedBoats, int pPassId, Serializable courseAreaId) { + super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + this.courseAreaId = courseAreaId; + } + + public RaceLogCourseAreaChangeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + Serializable courseAreaId) { + super(pTimePoint, author, pPassId); this.courseAreaId = courseAreaId; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseDesignChangedEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseDesignChangedEventImpl.java index 5fd11a31252..5dd184bd3c3 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseDesignChangedEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseDesignChangedEventImpl.java @@ -12,12 +12,19 @@ import com.sap.sse.common.TimePoint; public class RaceLogCourseDesignChangedEventImpl extends RaceLogEventImpl implements RaceLogCourseDesignChangedEvent { private static final long serialVersionUID = 1565936170747420547L; - + private final CourseBase courseDesign; - public RaceLogCourseDesignChangedEventImpl(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint pTimePoint, Serializable pId, List pInvolvedBoats, int pPassId, CourseBase courseDesign) { - super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId); + public RaceLogCourseDesignChangedEventImpl(TimePoint createdAt, TimePoint pTimePoint, + AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, + CourseBase courseDesign) { + super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + this.courseDesign = courseDesign; + } + + public RaceLogCourseDesignChangedEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + CourseBase courseDesign) { + super(pTimePoint, author, pPassId); this.courseDesign = courseDesign; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogDependentStartTimeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogDependentStartTimeEventImpl.java index 8b082d54dce..16d94ae580a 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogDependentStartTimeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogDependentStartTimeEventImpl.java @@ -1,28 +1,34 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.Revokable; import com.sap.sailing.domain.abstractlog.race.RaceLogDependentStartTimeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier; -import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sse.common.Duration; import com.sap.sse.common.TimePoint; -public class RaceLogDependentStartTimeEventImpl extends RaceLogRaceStatusEventImpl implements RaceLogDependentStartTimeEvent, Revokable { +public class RaceLogDependentStartTimeEventImpl extends RaceLogRaceStatusEventImpl implements + RaceLogDependentStartTimeEvent, Revokable { private static final long serialVersionUID = -2555082771473210123L; private final Duration startTimeDifference; private SimpleRaceLogIdentifier dependentOnRace; - public RaceLogDependentStartTimeEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint pTimePoint, - Serializable pId, List pInvolvedBoats, int pPassId, SimpleRaceLogIdentifier dependentOnRace, - Duration startTimeDifference) { - super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId, RaceLogRaceStatus.SCHEDULED); + public RaceLogDependentStartTimeEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, + Serializable pId, int pPassId, SimpleRaceLogIdentifier dependentOnRace, + Duration startTimeDifference, RaceLogRaceStatus nextStatus) { + super(createdAt, pTimePoint, author, pId, pPassId, nextStatus); + this.dependentOnRace = dependentOnRace; + this.startTimeDifference = startTimeDifference; + } + + public RaceLogDependentStartTimeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + SimpleRaceLogIdentifier dependentOnRace, Duration startTimeDifference) { + super(pTimePoint, author, pPassId, RaceLogRaceStatus.SCHEDULED); this.dependentOnRace = dependentOnRace; this.startTimeDifference = startTimeDifference; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEndOfTrackingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEndOfTrackingEventImpl.java index 054933cba7b..29eb91d36c1 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEndOfTrackingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEndOfTrackingEventImpl.java @@ -1,31 +1,32 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogEndOfTrackingEventImpl extends RaceLogEventImpl implements RaceLogEndOfTrackingEvent { private static final long serialVersionUID = 3130293807404190473L; - public RaceLogEndOfTrackingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint endOfTracking, Serializable pId, List pInvolvedBoats, int pPassId) { - super(createdAt, author, endOfTracking, pId, pInvolvedBoats, pPassId); + public RaceLogEndOfTrackingEventImpl(TimePoint createdAt, TimePoint endOfTracking, AbstractLogEventAuthor author, + Serializable pId, int pPassId) { + super(createdAt, endOfTracking, author, pId, pPassId); + } + public RaceLogEndOfTrackingEventImpl(TimePoint endOfTracking, AbstractLogEventAuthor author, int pPassId) { + super(endOfTracking, author, pPassId); } @Override public void accept(RaceLogEventVisitor visitor) { visitor.visit(this); } - + @Override public String getShortInfo() { return "endOfTrackingTime=" + getLogicalTimePoint(); } - + } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventFactoryImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventFactoryImpl.java deleted file mode 100644 index ff3b35d6a20..00000000000 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventFactoryImpl.java +++ /dev/null @@ -1,329 +0,0 @@ -package com.sap.sailing.domain.abstractlog.race.impl; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.UUID; - -import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; -import com.sap.sailing.domain.abstractlog.race.CompetitorResults; -import com.sap.sailing.domain.abstractlog.race.RaceLogCourseAreaChangedEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogDependentStartTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; -import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogGateLineOpeningTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogPassChangeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogPathfinderEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogProtestStartTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogRaceStatusEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogRevokeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogStartOfTrackingEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogStartProcedureChangedEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogSuppressedMarkPassingsEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; -import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier; -import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType; -import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent; -import com.sap.sailing.domain.abstractlog.race.scoring.impl.RaceLogAdditionalScoringInformationEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogCloseOpenEndedDeviceMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDenoteForTrackingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceCompetitorMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceMarkMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogRegisterCompetitorEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogStartTrackingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogCloseOpenEndedDeviceMappingEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDefineMarkEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDenoteForTrackingEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceMarkMappingEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogRegisterCompetitorEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogStartTrackingEventImpl; -import com.sap.sailing.domain.base.BoatClass; -import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CourseBase; -import com.sap.sailing.domain.base.Mark; -import com.sap.sailing.domain.common.Wind; -import com.sap.sailing.domain.common.racelog.Flags; -import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.RacingProcedureType; -import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; -import com.sap.sse.common.Duration; -import com.sap.sse.common.TimePoint; -import com.sap.sse.common.impl.MillisecondsTimePoint; - -public class RaceLogEventFactoryImpl implements RaceLogEventFactory { - - @Override - public RaceLogFlagEvent createFlagEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable id, - List involvedBoats, int passId, Flags upperFlag, Flags lowerFlag, boolean isDisplayed) { - return new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, involvedBoats, passId, - upperFlag, lowerFlag, isDisplayed); - } - - @Override - public RaceLogFlagEvent createFlagEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, Flags upperFlag, - Flags lowerFlag, boolean isDisplayed) { - return createFlagEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), passId, upperFlag, - lowerFlag, isDisplayed); - } - - @Override - public RaceLogStartTimeEvent createStartTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List involvedBoats, int passId, TimePoint startTime) { - return new RaceLogStartTimeEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, involvedBoats, - passId, startTime); - } - - @Override - public RaceLogStartTimeEvent createStartTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, TimePoint startTime) { - return createStartTimeEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), passId, startTime); - } - - @Override - public RaceLogDependentStartTimeEvent createDependentStartTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List involvedBoats, int passId, SimpleRaceLogIdentifier dependentOnRace, Duration startTimeDifference) { - return new RaceLogDependentStartTimeEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, involvedBoats, - passId, dependentOnRace, startTimeDifference); - } - - @Override - public RaceLogDependentStartTimeEvent createDependentStartTimeEvent(TimePoint logicalTimePoint, - AbstractLogEventAuthor author, int passId, SimpleRaceLogIdentifier dependentOnRace, Duration startTimeDifference) { - return createDependentStartTimeEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), passId, - dependentOnRace, startTimeDifference); - } - - @Override - public RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, RaceLogRaceStatus nextStatus) { - return new RaceLogRaceStatusEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, competitors, - passId, nextStatus); - } - - @Override - public RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, RaceLogRaceStatus nextStatus) { - return createRaceStatusEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), passId, nextStatus); - } - - @Override - public RaceLogPassChangeEvent createPassChangeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId) { - return new RaceLogPassChangeEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, competitors, passId); - } - - @Override - public RaceLogPassChangeEvent createPassChangeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId) { - return createPassChangeEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), passId); - } - - @Override - public RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, Serializable courseAreaId) { - return new RaceLogCourseAreaChangeEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, competitors, - passId, courseAreaId); - } - - @Override - public RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, Serializable courseAreaId) { - return createCourseAreaChangedEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), - passId, courseAreaId); - } - - @Override - public RaceLogCourseDesignChangedEvent createCourseDesignChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, CourseBase courseData) { - return new RaceLogCourseDesignChangedEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, competitors, - passId, courseData); - } - - @Override - public RaceLogCourseDesignChangedEvent createCourseDesignChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, CourseBase courseData) { - return createCourseDesignChangedEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), - passId, courseData); - } - - @Override - public RaceLogFinishPositioningListChangedEventImpl createFinishPositioningListChangedEvent(TimePoint logicalTimePoint, - AbstractLogEventAuthor author, Serializable id, List competitors, - int passId, CompetitorResults positionedCompetitors) { - return new RaceLogFinishPositioningListChangedEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, - id, competitors, passId, positionedCompetitors); - } - - @Override - public RaceLogFinishPositioningListChangedEventImpl createFinishPositioningListChangedEvent(TimePoint logicalTimePoint, - AbstractLogEventAuthor author, int passId, CompetitorResults positionedCompetitors) { - return createFinishPositioningListChangedEvent(logicalTimePoint, author, UUID.randomUUID(), - new ArrayList(), passId, positionedCompetitors); - } - - @Override - public RaceLogFinishPositioningConfirmedEvent createFinishPositioningConfirmedEvent(TimePoint logicalTimePoint, - AbstractLogEventAuthor author, Serializable id, List competitors, int passId, CompetitorResults positionedCompetitors) { - return new RaceLogFinishPositioningConfirmedEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, - competitors, passId, positionedCompetitors); - } - - @Override - public RaceLogFinishPositioningConfirmedEvent createFinishPositioningConfirmedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, CompetitorResults positionedCompetitors) { - return createFinishPositioningConfirmedEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), passId, positionedCompetitors); - } - - @Override - public RaceLogPathfinderEvent createPathfinderEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, String pathfinderId) { - return new RaceLogPathfinderEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, competitors, - passId, pathfinderId); - } - - @Override - public RaceLogPathfinderEvent createPathfinderEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, String pathfinderId) { - return createPathfinderEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), passId, pathfinderId); - } - - @Override - public RaceLogGateLineOpeningTimeEvent createGateLineOpeningTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, Long gateLaunchStopTime, Long golfDownTime) { - return new RaceLogGateLineOpeningTimeEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, competitors, - passId, gateLaunchStopTime, golfDownTime); - } - - @Override - public RaceLogGateLineOpeningTimeEvent createGateLineOpeningTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, Long gateLaunchStopTime, Long golfDownTime) { - return createGateLineOpeningTimeEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), - passId, gateLaunchStopTime, golfDownTime); - } - - @Override - public RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, RacingProcedureType type) { - return new RaceLogStartProcedureChangedEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, - competitors, passId, type); - } - - @Override - public RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, RacingProcedureType type) { - return createStartProcedureChangedEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), passId, type); - } - - @Override - public RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, int passId, TimePoint protestStartTime) { - return new RaceLogProtestStartTimeEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, - competitors, passId, protestStartTime); - } - - @Override - public RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, TimePoint protestStartTime) { - return createProtestStartTimeEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), - passId, protestStartTime); - } - - @Override - public RaceLogWindFixEvent createWindFixEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, Wind wind, boolean isMagnetic) { - return createWindFixEvent(logicalTimePoint, author, UUID.randomUUID(), new ArrayList(), passId, wind, isMagnetic); - } - - @Override - public RaceLogWindFixEvent createWindFixEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable id, - List competitors, int passId, Wind wind, boolean isMagnetic) { - return new RaceLogWindFixEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, competitors, passId, wind, isMagnetic); - } - - @Override - public RaceLogDeviceCompetitorMappingEvent createDeviceCompetitorMappingEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - DeviceIdentifier device, Competitor mappedTo, int passId, TimePoint from, TimePoint to) { - return new RaceLogDeviceCompetitorMappingEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, UUID.randomUUID(), - passId, mappedTo, device, from, to); - } - - @Override - public RaceLogDeviceMarkMappingEvent createDeviceMarkMappingEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - DeviceIdentifier device, Mark mappedTo, int passId, TimePoint from, TimePoint to) { - return new RaceLogDeviceMarkMappingEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, UUID.randomUUID(), - passId, mappedTo, device, from, to); - } - - @Override - public RaceLogDenoteForTrackingEvent createDenoteForTrackingEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, - String raceName, BoatClass boatClass, Serializable raceId) { - return new RaceLogDenoteForTrackingEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, UUID.randomUUID(), passId, raceName, - boatClass, raceId); - } - - @Override - public RaceLogStartTrackingEvent createStartTrackingEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId) { - return new RaceLogStartTrackingEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, UUID.randomUUID(), passId); - } - - @Override - public RaceLogRevokeEvent createRevokeEvent(AbstractLogEventAuthor author, int passId, RaceLogEvent toRevoke, String reason) { - return new RaceLogRevokeEventImpl(author, passId, toRevoke, reason); - } - - @Override - public RaceLogRegisterCompetitorEvent createRegisterCompetitorEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, Competitor competitor) { - return new RaceLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, UUID.randomUUID(), passId, competitor); - } - - @Override - public RaceLogDefineMarkEvent createDefineMarkEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int passId, Mark mark) { - return new RaceLogDefineMarkEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, UUID.randomUUID(), passId, mark); - } - - @Override - public RaceLogCloseOpenEndedDeviceMappingEvent createCloseOpenEndedDeviceMappingEvent(TimePoint logicalTimePoint, - AbstractLogEventAuthor author, int passId, Serializable deviceMappingEventId, TimePoint closingTimePoint) { - return new RaceLogCloseOpenEndedDeviceMappingEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, - UUID.randomUUID(), passId, deviceMappingEventId, closingTimePoint); - } - - @Override - public RaceLogAdditionalScoringInformationEvent createAdditionalScoringInformationEvent(TimePoint timePoint, Serializable id, - AbstractLogEventAuthor author, int currentPassId, AdditionalScoringInformationType informationType) { - return new RaceLogAdditionalScoringInformationEventImpl(MillisecondsTimePoint.now(), author, timePoint, id, - Collections. emptyList(), currentPassId, informationType); - } - - @Override - public RaceLogFixedMarkPassingEvent createFixedMarkPassingEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable id, List competitors, Integer passId, TimePoint ofFixedPassing, Integer zeroBasedIndexOfWaypoint) { - return new RaceLogFixedMarkPassingEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, competitors, passId, ofFixedPassing, - zeroBasedIndexOfWaypoint); - } - - @Override - public RaceLogSuppressedMarkPassingsEvent createSuppressedMarkPassingsEvent(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable id, - List competitors, Integer passId, Integer zeroBasedIndexOfFirstSuppressedWaypoint) { - return new RaceLogSuppressedMarkPassingsEventImpl(MillisecondsTimePoint.now(), author, logicalTimePoint, id, competitors, passId, - zeroBasedIndexOfFirstSuppressedWaypoint); - } - - @Override - public RaceLogStartOfTrackingEvent createStartOfTrackingEvent(TimePoint startOfTracking, AbstractLogEventAuthor author, Serializable id, - List competitors, Integer passId) { - return new RaceLogStartOfTrackingEventImpl(MillisecondsTimePoint.now(), author, startOfTracking, id, competitors, passId); - } - - @Override - public RaceLogEndOfTrackingEvent createEndOfTrackingEvent(TimePoint endOfTracking, AbstractLogEventAuthor author, Serializable id, - List competitors, Integer passId) { - return new RaceLogEndOfTrackingEventImpl(MillisecondsTimePoint.now(), author, endOfTracking, id, competitors, passId); - } -} diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventImpl.java index d3d5ad55d8c..d1507b02f9d 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventImpl.java @@ -1,6 +1,7 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; +import java.util.Collections; import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; @@ -15,11 +16,27 @@ public abstract class RaceLogEventImpl extends AbstractLogEventImplemptyList(), pPassId); + } + + public RaceLogEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId) { - super(createdAt, author, logicalTimePoint, pId); + super(createdAt, logicalTimePoint, author, pId); this.raceLogEventData = new RaceLogEventDataImpl(pInvolvedBoats, pPassId); } + + public RaceLogEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Competitor competitor, int pPassId) { + super(logicalTimePoint, author); + this.raceLogEventData = new RaceLogEventDataImpl(Collections.singletonList(competitor), pPassId); + } + + public RaceLogEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId) { + super(logicalTimePoint, author); + this.raceLogEventData = new RaceLogEventDataImpl(Collections.emptyList(), pPassId); + } @Override public List getInvolvedBoats() { diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventRestoreFactoryImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventRestoreFactoryImpl.java deleted file mode 100644 index 36588de8091..00000000000 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventRestoreFactoryImpl.java +++ /dev/null @@ -1,201 +0,0 @@ -package com.sap.sailing.domain.abstractlog.race.impl; - -import java.io.Serializable; -import java.util.List; - -import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; -import com.sap.sailing.domain.abstractlog.race.CompetitorResults; -import com.sap.sailing.domain.abstractlog.race.RaceLogCourseAreaChangedEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogDependentStartTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventRestoreFactory; -import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningListChangedEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogGateLineOpeningTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogPassChangeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogPathfinderEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogProtestStartTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogRaceStatusEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogRevokeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogStartProcedureChangedEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; -import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier; -import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType; -import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent; -import com.sap.sailing.domain.abstractlog.race.scoring.impl.RaceLogAdditionalScoringInformationEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogCloseOpenEndedDeviceMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDenoteForTrackingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceCompetitorMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceMarkMappingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogRegisterCompetitorEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogStartTrackingEvent; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogCloseOpenEndedDeviceMappingEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDefineMarkEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDenoteForTrackingEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceMarkMappingEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogRegisterCompetitorEventImpl; -import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogStartTrackingEventImpl; -import com.sap.sailing.domain.base.BoatClass; -import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.CourseBase; -import com.sap.sailing.domain.base.Mark; -import com.sap.sailing.domain.common.Wind; -import com.sap.sailing.domain.common.racelog.Flags; -import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.RacingProcedureType; -import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; -import com.sap.sse.common.Duration; -import com.sap.sse.common.TimePoint; - -public class RaceLogEventRestoreFactoryImpl extends RaceLogEventFactoryImpl implements RaceLogEventRestoreFactory { - - @Override - public RaceLogFlagEvent createFlagEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable id, List involvedBoats, int passId, Flags upperFlag, Flags lowerFlag, boolean isDisplayed) { - return new RaceLogFlagEventImpl(createdAt, author, logicalTimePoint, id, involvedBoats, passId, upperFlag, lowerFlag, isDisplayed); - } - - @Override - public RaceLogStartTimeEvent createStartTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable id, List involvedBoats, int passId, TimePoint startTime, RaceLogRaceStatus nextStatue) { - return new RaceLogStartTimeEventImpl(createdAt, author, logicalTimePoint, id, involvedBoats, passId, startTime); - } - - @Override - public RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId, RaceLogRaceStatus nextStatus) { - return new RaceLogRaceStatusEventImpl(createdAt, author, logicalTimePoint, id, competitors, passId, nextStatus); - } - - @Override - public RaceLogPassChangeEvent createPassChangeEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId) { - return new RaceLogPassChangeEventImpl(createdAt, author, logicalTimePoint, id, competitors, passId); - } - - @Override - public RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId, Serializable courseAreaId) { - return new RaceLogCourseAreaChangeEventImpl(createdAt, author, logicalTimePoint, id, competitors, passId, courseAreaId); - } - - @Override - public RaceLogCourseDesignChangedEvent createCourseDesignChangedEvent(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, List competitors, int passId, CourseBase courseData) { - return new RaceLogCourseDesignChangedEventImpl(createdAt, author, logicalTimePoint, id, competitors, passId, courseData); - } - - @Override - public RaceLogFinishPositioningListChangedEvent createFinishPositioningListChangedEvent(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, List competitors, int passId, CompetitorResults positionedCompetitors) { - return new RaceLogFinishPositioningListChangedEventImpl(createdAt, author, logicalTimePoint, id, competitors, passId, positionedCompetitors); - } - - @Override - public RaceLogFinishPositioningConfirmedEvent createFinishPositioningConfirmedEvent(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, List competitors, int passId, CompetitorResults positionedCompetitors) { - return new RaceLogFinishPositioningConfirmedEventImpl(createdAt, author, logicalTimePoint, id, competitors, passId, positionedCompetitors); - } - - @Override - public RaceLogPathfinderEvent createPathfinderEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId, String pathfinderId) { - return new RaceLogPathfinderEventImpl(createdAt, author, logicalTimePoint, id, competitors, passId, pathfinderId); - } - - @Override - public RaceLogGateLineOpeningTimeEvent createGateLineOpeningTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId, Long gateLaunchStopTime, - Long golfDownTime) { - return new RaceLogGateLineOpeningTimeEventImpl(createdAt, author, logicalTimePoint, id, competitors, passId, gateLaunchStopTime, - golfDownTime); - } - - @Override - public RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId, RacingProcedureType type) { - return new RaceLogStartProcedureChangedEventImpl(createdAt, author, logicalTimePoint, id, competitors, passId, type); - } - - @Override - public RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, List competitors, int passId, TimePoint protestStartTime) { - return new RaceLogProtestStartTimeEventImpl(createdAt, author, logicalTimePoint, id, competitors, passId, protestStartTime); - } - - @Override - public RaceLogWindFixEvent createWindFixEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable id, List competitors, Integer passId, Wind wind, boolean isMagnetic) { - return new RaceLogWindFixEventImpl(createdAt, author, logicalTimePoint, id, competitors, passId, wind, isMagnetic); - } - - @Override - public RaceLogDeviceCompetitorMappingEvent createDeviceCompetitorMappingEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, DeviceIdentifier device, Competitor mappedTo, int passId, TimePoint from, TimePoint to) { - return new RaceLogDeviceCompetitorMappingEventImpl(createdAt, author, logicalTimePoint, pId, passId, mappedTo, device, from, to); - } - - @Override - public RaceLogDeviceMarkMappingEvent createDeviceMarkMappingEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, DeviceIdentifier device, Mark mappedTo, int passId, TimePoint from, - TimePoint to) { - return new RaceLogDeviceMarkMappingEventImpl(createdAt, author, logicalTimePoint, pId, passId, mappedTo, device, from, to); - } - - @Override - public RaceLogDenoteForTrackingEvent createDenoteForTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, int passId, String raceName, BoatClass boatClass, Serializable raceId) { - return new RaceLogDenoteForTrackingEventImpl(createdAt, author, logicalTimePoint, pId, passId, raceName, boatClass, raceId); - } - - @Override - public RaceLogStartTrackingEvent createStartTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable pId, int passId) { - return new RaceLogStartTrackingEventImpl(createdAt, author, logicalTimePoint, pId, passId); - } - - @Override - public RaceLogRevokeEvent createRevokeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable pId, int passId, Serializable revokedEventId, String revokedEventType, String revokedEventShortInfo, String reason) { - return new RaceLogRevokeEventImpl(createdAt, author, logicalTimePoint, pId, passId, revokedEventId, revokedEventType, revokedEventShortInfo, reason); - } - - @Override - public RaceLogRegisterCompetitorEvent createRegisterCompetitorEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable pId, int passId, Competitor competitor) { - return new RaceLogRegisterCompetitorEventImpl(createdAt, author, logicalTimePoint, pId, passId, competitor); - } - - @Override - public RaceLogDefineMarkEvent createDefineMarkEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable pId, int passId, Mark mark) { - return new RaceLogDefineMarkEventImpl(createdAt, author, logicalTimePoint, pId, passId, mark); - } - - @Override - public RaceLogCloseOpenEndedDeviceMappingEvent createCloseOpenEndedDeviceMappingEvent(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable pId, int passId, - Serializable deviceMappingEventId, TimePoint closingTimePoint) { - return new RaceLogCloseOpenEndedDeviceMappingEventImpl(createdAt, author, logicalTimePoint, pId, passId, - deviceMappingEventId, closingTimePoint); - } - - @Override - public RaceLogAdditionalScoringInformationEvent createAdditionalScoringInformationEvent(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable pId, List competitors, int passId, - AdditionalScoringInformationType informationType) { - return new RaceLogAdditionalScoringInformationEventImpl(createdAt, author, logicalTimePoint, pId, competitors, passId, informationType); - } - - @Override - public RaceLogDependentStartTimeEvent createDependentStartTimeEvent(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, List involvedBoats, - int passId, SimpleRaceLogIdentifier dependentOnRace, Duration startTimeDifference, RaceLogRaceStatus nextStatus) { - return new RaceLogDependentStartTimeEventImpl(createdAt, author, logicalTimePoint, id, involvedBoats, passId, - dependentOnRace, startTimeDifference); - } -} diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningConfirmedEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningConfirmedEventImpl.java index 7ce91ea3d68..472bcd4bd0f 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningConfirmedEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningConfirmedEventImpl.java @@ -10,13 +10,20 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmed import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; -public class RaceLogFinishPositioningConfirmedEventImpl extends RaceLogFinishPositioningEventImpl implements RaceLogFinishPositioningConfirmedEvent { - +public class RaceLogFinishPositioningConfirmedEventImpl extends RaceLogFinishPositioningEventImpl implements + RaceLogFinishPositioningConfirmedEvent { + private static final long serialVersionUID = 5028181339200048499L; - - public RaceLogFinishPositioningConfirmedEventImpl(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint pTimePoint, Serializable pId, List pCompetitors, int pPassId, CompetitorResults positionedCompetitors) { - super(createdAt, author, pTimePoint, pId, pCompetitors, pPassId, positionedCompetitors); + + public RaceLogFinishPositioningConfirmedEventImpl(TimePoint createdAt, TimePoint pTimePoint, + AbstractLogEventAuthor author, Serializable pId, List pCompetitors, int pPassId, + CompetitorResults positionedCompetitors) { + super(createdAt, pTimePoint, author, pId, pCompetitors, pPassId, positionedCompetitors); + } + + public RaceLogFinishPositioningConfirmedEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + CompetitorResults positionedCompetitors) { + super(pTimePoint, author, pPassId, positionedCompetitors); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningEventImpl.java index 6d8b84c3734..d04cbf45008 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningEventImpl.java @@ -9,18 +9,25 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningEvent; import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; -public abstract class RaceLogFinishPositioningEventImpl extends RaceLogEventImpl implements RaceLogFinishPositioningEvent { +public abstract class RaceLogFinishPositioningEventImpl extends RaceLogEventImpl implements + RaceLogFinishPositioningEvent { private static final long serialVersionUID = -8168584588697908309L; - + private final CompetitorResults positionedCompetitors; - public RaceLogFinishPositioningEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint pTimePoint, + public RaceLogFinishPositioningEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, CompetitorResults positionedCompetitors) { - super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId); + super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); this.positionedCompetitors = positionedCompetitors; } - + + public RaceLogFinishPositioningEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + CompetitorResults positionedCompetitors) { + super(pTimePoint, author, pPassId); + this.positionedCompetitors = positionedCompetitors; + } + @Override public CompetitorResults getPositionedCompetitorsIDsNamesMaxPointsReasons() { return positionedCompetitors; diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningListChangedEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningListChangedEventImpl.java index 0a744893e8b..6429b5f98e2 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningListChangedEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningListChangedEventImpl.java @@ -10,13 +10,20 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningListChang import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; -public class RaceLogFinishPositioningListChangedEventImpl extends RaceLogFinishPositioningEventImpl implements RaceLogFinishPositioningListChangedEvent { - +public class RaceLogFinishPositioningListChangedEventImpl extends RaceLogFinishPositioningEventImpl implements + RaceLogFinishPositioningListChangedEvent { + private static final long serialVersionUID = -8167472925561954739L; - - public RaceLogFinishPositioningListChangedEventImpl(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint pTimePoint, Serializable pId, List competitors, int pPassId, CompetitorResults positionedCompetitors) { - super(createdAt, author, pTimePoint, pId, competitors, pPassId, positionedCompetitors); + + public RaceLogFinishPositioningListChangedEventImpl(TimePoint createdAt, TimePoint pTimePoint, + AbstractLogEventAuthor author, Serializable pId, List competitors, int pPassId, + CompetitorResults positionedCompetitors) { + super(createdAt, pTimePoint, author, pId, competitors, pPassId, positionedCompetitors); + } + + public RaceLogFinishPositioningListChangedEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, + int pPassId, CompetitorResults positionedCompetitors) { + super(pTimePoint, author, pPassId, positionedCompetitors); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFixedMarkPassingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFixedMarkPassingEventImpl.java index 71b6978ac43..16d0e6eed87 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFixedMarkPassingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFixedMarkPassingEventImpl.java @@ -4,8 +4,8 @@ import java.io.Serializable; import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; -import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; +import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; @@ -16,9 +16,16 @@ public class RaceLogFixedMarkPassingEventImpl extends RaceLogEventImpl implement private final TimePoint timePointOfPassing; - public RaceLogFixedMarkPassingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, + public RaceLogFixedMarkPassingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, TimePoint timePoint, Integer zeroBasedIndexOfWaypointOfPassing) { - super(createdAt, author, logicalTimePoint, pId, pInvolvedBoats, pPassId); + super(createdAt, logicalTimePoint, author, pId, pInvolvedBoats, pPassId); + this.timePointOfPassing = timePoint; + this.zeroBasedIndexOfWaypointOfPassing = zeroBasedIndexOfWaypointOfPassing; + } + + public RaceLogFixedMarkPassingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, + Competitor competitor, int pPassId, TimePoint timePoint, Integer zeroBasedIndexOfWaypointOfPassing) { + super(logicalTimePoint, author, competitor, pPassId); this.timePointOfPassing = timePoint; this.zeroBasedIndexOfWaypointOfPassing = zeroBasedIndexOfWaypointOfPassing; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFlagEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFlagEventImpl.java index 2ce2aba9444..79fca481973 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFlagEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFlagEventImpl.java @@ -17,8 +17,15 @@ public class RaceLogFlagEventImpl extends RaceLogEventImpl implements RaceLogFla private final Flags lowerFlag; private final boolean isDisplayed; - public RaceLogFlagEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint pTimePoint, Serializable pId, List pInvolvedBoats, int pPassId, Flags pUpperFlag, Flags pLowerFlag, boolean pIsDisplayed) { - super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId); + public RaceLogFlagEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, Flags pUpperFlag, Flags pLowerFlag, boolean pIsDisplayed) { + super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + this.upperFlag = pUpperFlag; + this.lowerFlag = pLowerFlag; + this.isDisplayed = pIsDisplayed; + } + + public RaceLogFlagEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, Flags pUpperFlag, Flags pLowerFlag, boolean pIsDisplayed) { + super(pTimePoint, author, pPassId); this.upperFlag = pUpperFlag; this.lowerFlag = pLowerFlag; this.isDisplayed = pIsDisplayed; diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogGateLineOpeningTimeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogGateLineOpeningTimeEventImpl.java index 77c6a3a72b3..8187b4a027e 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogGateLineOpeningTimeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogGateLineOpeningTimeEventImpl.java @@ -10,14 +10,20 @@ import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogGateLineOpeningTimeEventImpl extends RaceLogEventImpl implements RaceLogGateLineOpeningTimeEvent { - + private static final long serialVersionUID = 793529890804809490L; private final GateLineOpeningTimes gateLineOpeningTimes; - public RaceLogGateLineOpeningTimeEventImpl(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint pTimePoint, Serializable pId, List pCompetitors, int pPassId, + public RaceLogGateLineOpeningTimeEventImpl(TimePoint createdAt, TimePoint pTimePoint, + AbstractLogEventAuthor author, Serializable pId, List pCompetitors, int pPassId, long gateLaunchStopTime, long golfDownTime) { - super(createdAt, author, pTimePoint, pId, pCompetitors, pPassId); + super(createdAt, pTimePoint, author, pId, pCompetitors, pPassId); + this.gateLineOpeningTimes = new GateLineOpeningTimes(gateLaunchStopTime, golfDownTime); + } + + public RaceLogGateLineOpeningTimeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + long gateLaunchStopTime, long golfDownTime) { + super(pTimePoint, author, pPassId); this.gateLineOpeningTimes = new GateLineOpeningTimes(gateLaunchStopTime, golfDownTime); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogImpl.java index 408ca29df46..290bbea15e9 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogImpl.java @@ -7,7 +7,6 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.AbstractLogImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.tracking.Track; import com.sap.sailing.domain.tracking.impl.PartialNavigableSetView; @@ -55,7 +54,7 @@ public class RaceLogImpl extends AbstractLogImpl pInvolvedBoats, int pPassId) { - super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId); + public RaceLogPassChangeEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, + Serializable pId, List pInvolvedBoats, int pPassId) { + super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + } + + public RaceLogPassChangeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId) { + super(pTimePoint, author, pPassId); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPathfinderEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPathfinderEventImpl.java index 821ec6d6ec3..64feecd110d 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPathfinderEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPathfinderEventImpl.java @@ -10,13 +10,19 @@ import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogPathfinderEventImpl extends RaceLogEventImpl implements RaceLogPathfinderEvent { - + private static final long serialVersionUID = -1654474931330970804L; private final String pathfinderId; - public RaceLogPathfinderEventImpl(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint pTimePoint, Serializable pId, List pCompetitors, int pPassId, String pathfinderId) { - super(createdAt, author, pTimePoint, pId, pCompetitors, pPassId); + public RaceLogPathfinderEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, + Serializable pId, List pCompetitors, int pPassId, String pathfinderId) { + super(createdAt, pTimePoint, author, pId, pCompetitors, pPassId); + this.pathfinderId = pathfinderId; + } + + public RaceLogPathfinderEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + String pathfinderId) { + super(pTimePoint, author, pPassId); this.pathfinderId = pathfinderId; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogProtestStartTimeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogProtestStartTimeEventImpl.java index 0fe7db6e07f..422dcf3ef12 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogProtestStartTimeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogProtestStartTimeEventImpl.java @@ -14,9 +14,15 @@ public class RaceLogProtestStartTimeEventImpl extends RaceLogEventImpl implement private final TimePoint protestStartTime; - public RaceLogProtestStartTimeEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint pTimePoint, + public RaceLogProtestStartTimeEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, TimePoint protestStartTime) { - super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId); + super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + this.protestStartTime = protestStartTime; + } + + public RaceLogProtestStartTimeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, + int pPassId, TimePoint protestStartTime) { + super(pTimePoint, author, pPassId); this.protestStartTime = protestStartTime; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRaceStatusEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRaceStatusEventImpl.java index 69a92a9b13a..447f62d9807 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRaceStatusEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRaceStatusEventImpl.java @@ -1,12 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogRaceStatusEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sse.common.TimePoint; @@ -15,9 +13,15 @@ public class RaceLogRaceStatusEventImpl extends RaceLogEventImpl implements Race private final RaceLogRaceStatus nextStatus; - public RaceLogRaceStatusEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint pTimePoint, - Serializable pId, List pInvolvedBoats, int pPassId, RaceLogRaceStatus nextStatus) { - super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId); + public RaceLogRaceStatusEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, + Serializable pId, int pPassId, RaceLogRaceStatus nextStatus) { + super(createdAt, pTimePoint, author, pId, pPassId); + this.nextStatus = nextStatus; + } + + public RaceLogRaceStatusEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + RaceLogRaceStatus nextStatus) { + super(pTimePoint, author, pPassId); this.nextStatus = nextStatus; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRevokeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRevokeEventImpl.java index faaadf7faf7..8f5d7560275 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRevokeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRevokeEventImpl.java @@ -21,10 +21,10 @@ public class RaceLogRevokeEventImpl extends RevokeEventImpl this.raceLogEventData = new RaceLogEventDataImpl(null, passId); } - public RaceLogRevokeEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, + public RaceLogRevokeEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, int passId, Serializable revokedEventId, String revokedEventType, String revokedEventShortInfo, String reason) { - super(createdAt, author, logicalTimePoint, pId, revokedEventId, revokedEventType, revokedEventShortInfo, reason); + super(createdAt, logicalTimePoint, author, pId, revokedEventId, revokedEventType, revokedEventShortInfo, reason); this.raceLogEventData = new RaceLogEventDataImpl(null, passId); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java index 58005300c6a..f5502e38f31 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java @@ -12,16 +12,20 @@ import com.sap.sse.common.TimePoint; public class RaceLogStartOfTrackingEventImpl extends RaceLogEventImpl implements RaceLogStartOfTrackingEvent { private static final long serialVersionUID = -4134608549471817247L; - public RaceLogStartOfTrackingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint startOfTracking, Serializable pId, List pInvolvedBoats, int pPassId) { - super(createdAt, author, startOfTracking, pId, pInvolvedBoats, pPassId); + public RaceLogStartOfTrackingEventImpl(TimePoint createdAt, TimePoint startOfTracking, + AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId) { + super(createdAt, startOfTracking, author, pId, pInvolvedBoats, pPassId); + } + + public RaceLogStartOfTrackingEventImpl(TimePoint startOfTracking, AbstractLogEventAuthor author, int pPassId) { + super(startOfTracking, author, pPassId); } @Override public void accept(RaceLogEventVisitor visitor) { visitor.visit(this); } - + @Override public String getShortInfo() { return "startOfTrackingTime=" + getLogicalTimePoint(); diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartProcedureChangedEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartProcedureChangedEventImpl.java index 896b6c723af..1911efc8f5b 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartProcedureChangedEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartProcedureChangedEventImpl.java @@ -17,10 +17,15 @@ public class RaceLogStartProcedureChangedEventImpl extends RaceLogEventImpl impl private final RacingProcedureType startProcedureType; - public RaceLogStartProcedureChangedEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint pTimePoint, Serializable pId, List pInvolvedBoats, int pPassId, RacingProcedureType startProcedureType) { - super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId); + public RaceLogStartProcedureChangedEventImpl(TimePoint createdAt, TimePoint pTimePoint, + AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, RacingProcedureType startProcedureType) { + super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + this.startProcedureType = startProcedureType; + } + public RaceLogStartProcedureChangedEventImpl(TimePoint pTimePoint, + AbstractLogEventAuthor author, int pPassId, RacingProcedureType startProcedureType) { + super(pTimePoint, author, pPassId); this.startProcedureType = startProcedureType; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartTimeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartTimeEventImpl.java index 3d926a02016..ab93e31bb0d 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartTimeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartTimeEventImpl.java @@ -1,12 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sse.common.TimePoint; @@ -15,9 +13,15 @@ public class RaceLogStartTimeEventImpl extends RaceLogRaceStatusEventImpl implem private static final long serialVersionUID = 8185811395997196162L; private final TimePoint startTime; - public RaceLogStartTimeEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint pTimePoint, - Serializable pId, List pInvolvedBoats, int pPassId, TimePoint pStartTime) { - super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId, RaceLogRaceStatus.SCHEDULED); + public RaceLogStartTimeEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, + Serializable pId, int pPassId, TimePoint pStartTime) { + super(createdAt, pTimePoint, author, pId, pPassId, RaceLogRaceStatus.SCHEDULED); + this.startTime = pStartTime; + } + + public RaceLogStartTimeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + TimePoint pStartTime) { + super(pTimePoint, author, pPassId, RaceLogRaceStatus.SCHEDULED); this.startTime = pStartTime; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogSuppressedMarkPassingsEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogSuppressedMarkPassingsEventImpl.java index 87c45b3e975..f2d2b9d0692 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogSuppressedMarkPassingsEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogSuppressedMarkPassingsEventImpl.java @@ -9,17 +9,30 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogSuppressedMarkPassingsEven import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; -public class RaceLogSuppressedMarkPassingsEventImpl extends RaceLogEventImpl implements RaceLogSuppressedMarkPassingsEvent { +public class RaceLogSuppressedMarkPassingsEventImpl extends RaceLogEventImpl implements + RaceLogSuppressedMarkPassingsEvent { private static final long serialVersionUID = 3665678555023150888L; private final Integer indexOfFirstSuppressedWaypoint; - public RaceLogSuppressedMarkPassingsEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable pId, - List pInvolvedBoats, int pPassId, Integer indexOfFirstSuppressedWaypoint) { - super(createdAt, author, logicalTimePoint, pId, pInvolvedBoats, pPassId); + public RaceLogSuppressedMarkPassingsEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, + Integer indexOfFirstSuppressedWaypoint) { + super(createdAt, logicalTimePoint, author, pId, pInvolvedBoats, pPassId); this.indexOfFirstSuppressedWaypoint = indexOfFirstSuppressedWaypoint; + } + public RaceLogSuppressedMarkPassingsEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, + Competitor competitor, int pPassId, Integer indexOfFirstSuppressedWaypoint) { + super(logicalTimePoint, author, competitor, pPassId); + this.indexOfFirstSuppressedWaypoint = indexOfFirstSuppressedWaypoint; + } + + public RaceLogSuppressedMarkPassingsEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, + int pPassId, Integer indexOfFirstSuppressedWaypoint) { + super(logicalTimePoint, author, pPassId); + this.indexOfFirstSuppressedWaypoint = indexOfFirstSuppressedWaypoint; } @Override @@ -34,6 +47,6 @@ public class RaceLogSuppressedMarkPassingsEventImpl extends RaceLogEventImpl imp @Override public String getShortInfo() { - return getInvolvedBoats().get(0).getName()+" at mark "+getZeroBasedIndexOfFirstSuppressedWaypoint(); + return getInvolvedBoats().get(0).getName() + " at mark " + getZeroBasedIndexOfFirstSuppressedWaypoint(); } } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogWindFixEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogWindFixEventImpl.java index e12b27465a9..dec89aff3ec 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogWindFixEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogWindFixEventImpl.java @@ -16,9 +16,16 @@ public class RaceLogWindFixEventImpl extends RaceLogEventImpl implements RaceLog private final Wind windFix; private final boolean isMagnetic; - public RaceLogWindFixEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint pTimePoint, + public RaceLogWindFixEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, Wind windFix, boolean isMagnetic) { - super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId); + super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + this.windFix = windFix; + this.isMagnetic = isMagnetic; + } + + public RaceLogWindFixEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, + int pPassId, Wind windFix, boolean isMagnetic) { + super(pTimePoint, author, pPassId); this.windFix = windFix; this.isMagnetic = isMagnetic; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/scoring/impl/RaceLogAdditionalScoringInformationEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/scoring/impl/RaceLogAdditionalScoringInformationEventImpl.java index f6c54428bc5..c6945e60bf7 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/scoring/impl/RaceLogAdditionalScoringInformationEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/scoring/impl/RaceLogAdditionalScoringInformationEventImpl.java @@ -16,9 +16,15 @@ public class RaceLogAdditionalScoringInformationEventImpl extends RaceLogEventIm private final AdditionalScoringInformationType informationType; - public RaceLogAdditionalScoringInformationEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, + public RaceLogAdditionalScoringInformationEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, List competitors, int pPassId, AdditionalScoringInformationType informationType) { - super(createdAt, author, logicalTimePoint, pId, competitors, pPassId); + super(createdAt, logicalTimePoint, author, pId, competitors, pPassId); + this.informationType = informationType; + } + + public RaceLogAdditionalScoringInformationEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, + int pPassId, AdditionalScoringInformationType informationType) { + super(logicalTimePoint, author, pPassId); this.informationType = informationType; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/impl/RaceStateImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/impl/RaceStateImpl.java index 5ce1d637e05..96ec8bb31cb 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/impl/RaceStateImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/impl/RaceStateImpl.java @@ -1,7 +1,6 @@ package com.sap.sailing.domain.abstractlog.race.state.impl; import java.util.Collections; -import java.util.UUID; import java.util.logging.Level; import java.util.logging.Logger; @@ -9,14 +8,25 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.CompetitorResults; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogDependentStartTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.AdditionalScoringInformationFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.DependentStartTimeResolver; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceStatusAnalyzer; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseDesignChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogDependentStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningConfirmedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningListChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPassChangeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogProtestStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRaceStatusEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartProcedureChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogWindFixEventImpl; import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType; import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent; +import com.sap.sailing.domain.abstractlog.race.scoring.impl.RaceLogAdditionalScoringInformationEventImpl; import com.sap.sailing.domain.abstractlog.race.state.RaceState; import com.sap.sailing.domain.abstractlog.race.state.ReadonlyRaceState; import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.RacingProcedure; @@ -42,7 +52,6 @@ public class RaceStateImpl extends ReadonlyRaceStateImpl implements RaceState { private static final Logger logger = Logger.getLogger(RaceStateImpl.class.getName()); private final AbstractLogEventAuthor author; - private final RaceLogEventFactory factory; public static ReadonlyRaceState create(RaceLogResolver raceLogResolver, RaceLog raceLog) { return create(raceLogResolver, raceLog, /* forRaceLogIdentifier */ null, Collections.emptyMap()); @@ -60,22 +69,19 @@ public class RaceStateImpl extends ReadonlyRaceStateImpl implements RaceState { */ public static RaceState create(RaceLogResolver raceLogResolver, RaceLog raceLog, AbstractLogEventAuthor author, ConfigurationLoader configuration) { return new RaceStateImpl(raceLogResolver, raceLog, author, - RaceLogEventFactory.INSTANCE, - new RacingProcedureFactoryImpl(author, RaceLogEventFactory.INSTANCE, configuration)); + new RacingProcedureFactoryImpl(author, configuration)); } - public RaceStateImpl(RaceLogResolver raceLogResolver, RaceLog raceLog, AbstractLogEventAuthor author, RaceLogEventFactory eventFactory, + public RaceStateImpl(RaceLogResolver raceLogResolver, RaceLog raceLog, AbstractLogEventAuthor author, RacingProcedureFactory procedureFactory) { - this(raceLogResolver, raceLog, author, eventFactory, new RaceStatusAnalyzer.StandardClock(), procedureFactory); + this(raceLogResolver, raceLog, author, new RaceStatusAnalyzer.StandardClock(), procedureFactory); } - private RaceStateImpl(RaceLogResolver raceLogResolver, RaceLog raceLog, AbstractLogEventAuthor author, - RaceLogEventFactory eventFactory, RaceStatusAnalyzer.Clock analyzersClock, + private RaceStateImpl(RaceLogResolver raceLogResolver, RaceLog raceLog, AbstractLogEventAuthor author, RaceStatusAnalyzer.Clock analyzersClock, RacingProcedureFactory procedureFactory) { super(raceLogResolver, raceLog, /* forRaceLogIdentifier */ null, analyzersClock, procedureFactory, Collections.emptyMap(), /* update */ true); this.author = author; - this.factory = eventFactory; } @Override @@ -107,7 +113,7 @@ public class RaceStateImpl extends ReadonlyRaceStateImpl implements RaceState { @Override public void setRacingProcedure(TimePoint timePoint, RacingProcedureType newType) { - raceLog.add(factory.createStartProcedureChangedEvent(timePoint, author, raceLog.getCurrentPassId(), newType)); + raceLog.add(new RaceLogStartProcedureChangedEventImpl(timePoint, author, raceLog.getCurrentPassId(), newType)); } @Override @@ -115,7 +121,7 @@ public class RaceStateImpl extends ReadonlyRaceStateImpl implements RaceState { RacingProcedurePrerequisite.FulfillmentFunction function = new RacingProcedurePrerequisite.FulfillmentFunction() { @Override public void execute() { - raceLog.add(factory.createStartTimeEvent(now, author, raceLog.getCurrentPassId(), startTime)); + raceLog.add(new RaceLogStartTimeEventImpl(now, author, raceLog.getCurrentPassId(), startTime)); } }; @@ -124,12 +130,12 @@ public class RaceStateImpl extends ReadonlyRaceStateImpl implements RaceState { @Override public void forceNewStartTime(TimePoint now, TimePoint startTime) { - raceLog.add(factory.createStartTimeEvent(now, author, raceLog.getCurrentPassId(), startTime)); + raceLog.add(new RaceLogStartTimeEventImpl(now, author, raceLog.getCurrentPassId(), startTime)); } @Override public void requestNewDependentStartTime(final TimePoint now, final Duration startTimeDifference, final SimpleRaceLogIdentifier dependentRace, RaceLogResolver raceLogResolver, RacingProcedurePrerequisite.Resolver resolver) { - final RaceLogDependentStartTimeEvent dependentStartTimeEvent = factory.createDependentStartTimeEvent(now, author, raceLog.getCurrentPassId(), dependentRace, startTimeDifference); + final RaceLogDependentStartTimeEvent dependentStartTimeEvent = new RaceLogDependentStartTimeEventImpl(now, author, raceLog.getCurrentPassId(), dependentRace, startTimeDifference); RacingProcedurePrerequisite.FulfillmentFunction function = new RacingProcedurePrerequisite.FulfillmentFunction() { @Override @@ -148,60 +154,60 @@ public class RaceStateImpl extends ReadonlyRaceStateImpl implements RaceState { @Override public void forceNewDependentStartTime(TimePoint now, final Duration startTimeDifference, final SimpleRaceLogIdentifier dependentOnRace) { - raceLog.add(factory.createDependentStartTimeEvent(now, author, raceLog.getCurrentPassId(), dependentOnRace, startTimeDifference)); + raceLog.add(new RaceLogDependentStartTimeEventImpl(now, author, raceLog.getCurrentPassId(), dependentOnRace, startTimeDifference)); } @Override public void setFinishingTime(TimePoint timePoint) { - raceLog.add(factory.createRaceStatusEvent(timePoint, author, raceLog.getCurrentPassId(), RaceLogRaceStatus.FINISHING)); + raceLog.add(new RaceLogRaceStatusEventImpl(timePoint, author, raceLog.getCurrentPassId(), RaceLogRaceStatus.FINISHING)); } @Override public void setFinishedTime(TimePoint timePoint) { - raceLog.add(factory.createRaceStatusEvent(timePoint, author, raceLog.getCurrentPassId(), RaceLogRaceStatus.FINISHED)); + raceLog.add(new RaceLogRaceStatusEventImpl(timePoint, author, raceLog.getCurrentPassId(), RaceLogRaceStatus.FINISHED)); } @Override public void setProtestTime(TimePoint now, TimePoint timePoint) { - raceLog.add(factory.createProtestStartTimeEvent(now, author, raceLog.getCurrentPassId(), timePoint)); + raceLog.add(new RaceLogProtestStartTimeEventImpl(now, author, raceLog.getCurrentPassId(), timePoint)); } @Override public void setAdvancePass(TimePoint timePoint) { - raceLog.add(factory.createPassChangeEvent(timePoint, author, raceLog.getCurrentPassId() + 1)); + raceLog.add(new RaceLogPassChangeEventImpl(timePoint, author, raceLog.getCurrentPassId() + 1)); } @Override public void setAborted(TimePoint timePoint, boolean isPostponed, Flags reasonFlag) { Flags markerFlag = isPostponed ? Flags.AP : Flags.NOVEMBER; - raceLog.add(factory.createFlagEvent(timePoint, author, raceLog.getCurrentPassId(), markerFlag, reasonFlag, true)); + raceLog.add(new RaceLogFlagEventImpl(timePoint, author, raceLog.getCurrentPassId(), markerFlag, reasonFlag, true)); } @Override public void setGeneralRecall(TimePoint timePoint) { - raceLog.add(factory.createFlagEvent(timePoint, author, raceLog.getCurrentPassId(), Flags.FIRSTSUBSTITUTE, Flags.NONE, true)); + raceLog.add(new RaceLogFlagEventImpl(timePoint, author, raceLog.getCurrentPassId(), Flags.FIRSTSUBSTITUTE, Flags.NONE, true)); } @Override public void setFinishPositioningListChanged(TimePoint timePoint, CompetitorResults positionedCompetitors) { - raceLog.add(factory.createFinishPositioningListChangedEvent( + raceLog.add(new RaceLogFinishPositioningListChangedEventImpl( timePoint, author, raceLog.getCurrentPassId(), positionedCompetitors)); } @Override public void setFinishPositioningConfirmed(TimePoint timePoint) { - raceLog.add(factory.createFinishPositioningConfirmedEvent( + raceLog.add(new RaceLogFinishPositioningConfirmedEventImpl( timePoint, author, raceLog.getCurrentPassId(), getFinishPositioningList())); } @Override public void setCourseDesign(TimePoint timePoint, CourseBase courseDesign) { - raceLog.add(factory.createCourseDesignChangedEvent(timePoint, author, raceLog.getCurrentPassId(), courseDesign)); + raceLog.add(new RaceLogCourseDesignChangedEventImpl(timePoint, author, raceLog.getCurrentPassId(), courseDesign)); } @Override public void setWindFix(TimePoint timePoint, Wind wind, boolean isMagnetic) { - raceLog.add(factory.createWindFixEvent(timePoint, author, raceLog.getCurrentPassId(), wind, isMagnetic)); + raceLog.add(new RaceLogWindFixEventImpl(timePoint, author, raceLog.getCurrentPassId(), wind, isMagnetic)); } @Override @@ -209,7 +215,7 @@ public class RaceStateImpl extends ReadonlyRaceStateImpl implements RaceState { final RaceLogAdditionalScoringInformationEvent event = new AdditionalScoringInformationFinder(raceLog).analyze(/*filterBy*/informationType); if (enable) { if (event == null) { - raceLog.add(factory.createAdditionalScoringInformationEvent(timePoint, UUID.randomUUID(), author, raceLog.getCurrentPassId(), informationType)); + raceLog.add(new RaceLogAdditionalScoringInformationEventImpl(timePoint, author, raceLog.getCurrentPassId(), informationType)); } } else { if (event != null) { diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/basic/impl/BasicRacingProcedureImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/basic/impl/BasicRacingProcedureImpl.java index 909c4f138f7..88c96b8b79b 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/basic/impl/BasicRacingProcedureImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/basic/impl/BasicRacingProcedureImpl.java @@ -6,7 +6,6 @@ import java.util.Collections; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.state.RaceStateEvent; import com.sap.sailing.domain.abstractlog.race.state.impl.RaceStateEventImpl; @@ -25,9 +24,9 @@ import com.sap.sse.common.TimePoint; public class BasicRacingProcedureImpl extends BaseRacingProcedure { - public BasicRacingProcedureImpl(RaceLog raceLog, AbstractLogEventAuthor author, RaceLogEventFactory factory, + public BasicRacingProcedureImpl(RaceLog raceLog, AbstractLogEventAuthor author, RacingProcedureConfiguration configuration, RaceLogResolver raceLogResolver) { - super(raceLog, author, factory, configuration, raceLogResolver); + super(raceLog, author, configuration, raceLogResolver); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/ess/impl/ESSRacingProcedureImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/ess/impl/ESSRacingProcedureImpl.java index 08cff9f9fdd..e1a4fc5a1f6 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/ess/impl/ESSRacingProcedureImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/ess/impl/ESSRacingProcedureImpl.java @@ -6,7 +6,6 @@ import java.util.Collections; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.FinishingTimeFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.state.RaceStateEvent; @@ -33,13 +32,13 @@ public class ESSRacingProcedureImpl extends BaseRacingProcedure implements ESSRa private final static long startPhaseESSThreeUpInterval = 3 * 60 * 1000; // minutes * seconds * milliseconds private final static long startPhaseESSTwoUpInterval = 2 * 60 * 1000; // minutes * seconds * milliseconds private final static long startPhaseESSOneUpInterval = 1 * 60 * 1000; // minutes * seconds * milliseconds - + @SuppressWarnings("unused") private final ESSConfiguration configuration; - - public ESSRacingProcedureImpl(RaceLog raceLog, AbstractLogEventAuthor author, - RaceLogEventFactory factory, ESSConfiguration configuration, RaceLogResolver raceLogResolver) { - super(raceLog, author, factory, configuration, raceLogResolver); + + public ESSRacingProcedureImpl(RaceLog raceLog, AbstractLogEventAuthor author, ESSConfiguration configuration, + RaceLogResolver raceLogResolver) { + super(raceLog, author, configuration, raceLogResolver); this.configuration = configuration; update(); } @@ -48,7 +47,7 @@ public class ESSRacingProcedureImpl extends BaseRacingProcedure implements ESSRa public RacingProcedureType getType() { return RacingProcedureType.ESS; } - + @Override public RacingProcedurePrerequisite checkPrerequisitesForStart(TimePoint now, TimePoint startTime, FulfillmentFunction function) { @@ -66,12 +65,11 @@ public class ESSRacingProcedureImpl extends BaseRacingProcedure implements ESSRa @Override protected Collection createStartStateEvents(TimePoint startTime) { - return Arrays. asList( - new RaceStateEventImpl(startTime.minus(startPhaseAPDownInterval), RaceStateEvents.ESS_AP_DOWN), - new RaceStateEventImpl(startTime.minus(startPhaseESSThreeUpInterval), RaceStateEvents.ESS_THREE_UP), - new RaceStateEventImpl(startTime.minus(startPhaseESSTwoUpInterval), RaceStateEvents.ESS_TWO_UP), - new RaceStateEventImpl(startTime.minus(startPhaseESSOneUpInterval), RaceStateEvents.ESS_ONE_UP), - new RaceStateEventImpl(startTime, RaceStateEvents.START)); + return Arrays. asList(new RaceStateEventImpl(startTime.minus(startPhaseAPDownInterval), + RaceStateEvents.ESS_AP_DOWN), new RaceStateEventImpl(startTime.minus(startPhaseESSThreeUpInterval), + RaceStateEvents.ESS_THREE_UP), new RaceStateEventImpl(startTime.minus(startPhaseESSTwoUpInterval), + RaceStateEvents.ESS_TWO_UP), new RaceStateEventImpl(startTime.minus(startPhaseESSOneUpInterval), + RaceStateEvents.ESS_ONE_UP), new RaceStateEventImpl(startTime, RaceStateEvents.START)); } @Override @@ -91,62 +89,51 @@ public class ESSRacingProcedureImpl extends BaseRacingProcedure implements ESSRa @Override public FlagPoleState getActiveFlags(TimePoint startTime, TimePoint now) { if (now.before(startTime.minus(startPhaseAPDownInterval))) { - return new FlagPoleState( - Arrays.asList(new FlagPole(Flags.AP, true), new FlagPole(Flags.ESSTHREE, false)), null, - Arrays.asList(new FlagPole(Flags.AP, false), new FlagPole(Flags.ESSTHREE, false)), + return new FlagPoleState(Arrays.asList(new FlagPole(Flags.AP, true), new FlagPole(Flags.ESSTHREE, false)), + null, Arrays.asList(new FlagPole(Flags.AP, false), new FlagPole(Flags.ESSTHREE, false)), startTime.minus(startPhaseAPDownInterval)); } else if (now.before(startTime.minus(startPhaseESSThreeUpInterval))) { - return new FlagPoleState( - Arrays.asList(new FlagPole(Flags.AP, false), new FlagPole(Flags.ESSTHREE, false)), - startTime.minus(startPhaseAPDownInterval), - Arrays.asList(new FlagPole(Flags.ESSTHREE, true), new FlagPole(Flags.ESSTWO, false)), - startTime.minus(startPhaseESSThreeUpInterval)); + return new FlagPoleState(Arrays.asList(new FlagPole(Flags.AP, false), new FlagPole(Flags.ESSTHREE, false)), + startTime.minus(startPhaseAPDownInterval), Arrays.asList(new FlagPole(Flags.ESSTHREE, true), + new FlagPole(Flags.ESSTWO, false)), startTime.minus(startPhaseESSThreeUpInterval)); } else if (now.before(startTime.minus(startPhaseESSTwoUpInterval))) { - return new FlagPoleState( - Arrays.asList(new FlagPole(Flags.ESSTHREE, true), new FlagPole(Flags.ESSTWO, false)), - startTime.minus(startPhaseESSThreeUpInterval), - Arrays.asList(new FlagPole(Flags.ESSTWO, true), new FlagPole(Flags.ESSONE, false)), + return new FlagPoleState(Arrays.asList(new FlagPole(Flags.ESSTHREE, true), + new FlagPole(Flags.ESSTWO, false)), startTime.minus(startPhaseESSThreeUpInterval), Arrays.asList( + new FlagPole(Flags.ESSTWO, true), new FlagPole(Flags.ESSONE, false)), startTime.minus(startPhaseESSTwoUpInterval)); } else if (now.before(startTime.minus(startPhaseESSOneUpInterval))) { return new FlagPoleState( Arrays.asList(new FlagPole(Flags.ESSTWO, true), new FlagPole(Flags.ESSONE, false)), - startTime.minus(startPhaseESSTwoUpInterval), - Arrays.asList(new FlagPole(Flags.ESSONE, true)), + startTime.minus(startPhaseESSTwoUpInterval), Arrays.asList(new FlagPole(Flags.ESSONE, true)), startTime.minus(startPhaseESSOneUpInterval)); - } if (now.before(startTime)) { - return new FlagPoleState( - Arrays.asList(new FlagPole(Flags.ESSONE, true)), - startTime.minus(startPhaseESSOneUpInterval), - Arrays.asList(new FlagPole(Flags.ESSONE, false)), + } + if (now.before(startTime)) { + return new FlagPoleState(Arrays.asList(new FlagPole(Flags.ESSONE, true)), + startTime.minus(startPhaseESSOneUpInterval), Arrays.asList(new FlagPole(Flags.ESSONE, false)), startTime); } else { if (isIndividualRecallDisplayed(now)) { - return new FlagPoleState( - Arrays.asList(new FlagPole(Flags.XRAY, true)), - getIndividualRecallDisplayedTime(), - Arrays.asList(new FlagPole(Flags.XRAY, false)), + return new FlagPoleState(Arrays.asList(new FlagPole(Flags.XRAY, true)), + getIndividualRecallDisplayedTime(), Arrays.asList(new FlagPole(Flags.XRAY, false)), getIndividualRecallRemovalTime()); } else if (isFinished(now)) { - return new FlagPoleState( - Arrays.asList(new FlagPole(Flags.BLUE, false)), getFinishedTime()); + return new FlagPoleState(Arrays.asList(new FlagPole(Flags.BLUE, false)), getFinishedTime()); } else if (isInFinishingPhase(now)) { - return new FlagPoleState( - Arrays.asList(new FlagPole(Flags.BLUE, true)), - getFinishingTime(), - Arrays.asList(new FlagPole(Flags.BLUE, false)), - null); + return new FlagPoleState(Arrays.asList(new FlagPole(Flags.BLUE, true)), getFinishingTime(), + Arrays.asList(new FlagPole(Flags.BLUE, false)), null); } else { TimePoint recallRemoved = getIndividualRecallRemovalTime(); - return new FlagPoleState(Collections.emptyList(), recallRemoved == null ? startTime : recallRemoved); + return new FlagPoleState(Collections. emptyList(), recallRemoved == null ? startTime + : recallRemoved); } } } - + @Override protected RacingProcedureChangedListeners createChangedListenerContainer() { return new ESSChangedListeners(); } - + @Override protected ESSChangedListeners getChangedListeners() { return (ESSChangedListeners) super.getChangedListeners(); @@ -156,7 +143,7 @@ public class ESSRacingProcedureImpl extends BaseRacingProcedure implements ESSRa public void addChangedListener(ESSChangedListener listener) { getChangedListeners().add(listener); } - + @Override public TimePoint getTimeLimit(TimePoint startTime) { TimePoint firstBoatTime = new FinishingTimeFinder(raceLog).analyze(); @@ -165,12 +152,12 @@ public class ESSRacingProcedureImpl extends BaseRacingProcedure implements ESSRa } return null; } - + @Override protected boolean hasIndividualRecallByDefault() { return true; } - + @Override public ESSConfiguration getConfiguration() { return (ESSConfiguration) super.getConfiguration(); diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/gate/impl/GateStartRacingProcedureImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/gate/impl/GateStartRacingProcedureImpl.java index 2bcafb0f08a..276e7d0ee42 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/gate/impl/GateStartRacingProcedureImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/gate/impl/GateStartRacingProcedureImpl.java @@ -5,11 +5,12 @@ import java.util.Collection; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogGateLineOpeningTimeEvent.GateLineOpeningTimes; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.GateLineOpeningTimeFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.PathfinderFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogGateLineOpeningTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPathfinderEventImpl; import com.sap.sailing.domain.abstractlog.race.state.RaceStateEvent; import com.sap.sailing.domain.abstractlog.race.state.ReadonlyRaceState; import com.sap.sailing.domain.abstractlog.race.state.impl.RaceStateEventImpl; @@ -43,14 +44,15 @@ public class GateStartRacingProcedureImpl extends BaseRacingProcedure implements private boolean gateLineOpeningTimesHasBeenSet; private String cachedPathfinder; - public GateStartRacingProcedureImpl(RaceLog raceLog, AbstractLogEventAuthor author, RaceLogEventFactory factory, + public GateStartRacingProcedureImpl(RaceLog raceLog, AbstractLogEventAuthor author, GateStartConfiguration configuration, RaceLogResolver raceLogResolver) { - super(raceLog, author, factory, configuration, raceLogResolver); + super(raceLog, author, configuration, raceLogResolver); this.gateLineOpeningTimeAnalyzer = new GateLineOpeningTimeFinder(raceLog); this.pathfinderAnalyzer = new PathfinderFinder(raceLog); long defaultGolfDownTime = getDefaultGolfDownTime(); - this.cachedGateLineOpeningTimes = new GateLineOpeningTimes(GateStartRacingProcedure.DefaultGateLaunchStopTime, defaultGolfDownTime); + this.cachedGateLineOpeningTimes = new GateLineOpeningTimes(GateStartRacingProcedure.DefaultGateLaunchStopTime, + defaultGolfDownTime); this.gateLineOpeningTimesHasBeenSet = false; update(); @@ -78,7 +80,8 @@ public class GateStartRacingProcedureImpl extends BaseRacingProcedure implements public RacingProcedurePrerequisite checkPrerequisitesForStart(TimePoint now, TimePoint startTime, FulfillmentFunction function) { if (startTime.before(now)) { - if (getConfiguration().hasPathfinder() != null && getConfiguration().hasPathfinder() && getPathfinder() == null) { + if (getConfiguration().hasPathfinder() != null && getConfiguration().hasPathfinder() + && getPathfinder() == null) { return new PathfinderPrerequisite(function, this, now, startTime); } else if (!gateLineOpeningTimesHasBeenSet) { return new GateLaunchTimePrerequisite(function, this, now, startTime, getDefaultGolfDownTime()); @@ -125,8 +128,8 @@ public class GateStartRacingProcedureImpl extends BaseRacingProcedure implements switch (event.getEventName()) { case START: if (!gateLineOpeningTimesHasBeenSet) { - setGateLineOpeningTimes(event.getTimePoint(), - cachedGateLineOpeningTimes.getGateLaunchStopTime(), cachedGateLineOpeningTimes.getGolfDownTime()); + setGateLineOpeningTimes(event.getTimePoint(), cachedGateLineOpeningTimes.getGateLaunchStopTime(), + cachedGateLineOpeningTimes.getGolfDownTime()); } rescheduleGateShutdownTime(event.getTimePoint()); return true; @@ -147,35 +150,29 @@ public class GateStartRacingProcedureImpl extends BaseRacingProcedure implements TimePoint gateShutdownTime = getGateShutdownTimePoint(startTime); if (now.before(startTime.minus(startPhaseClassOverGolfUpIntervall))) { return new FlagPoleState(Arrays.asList(new FlagPole(classFlag, Flags.GOLF, false), new FlagPole(Flags.PAPA, - false)), null, Arrays.asList(new FlagPole(classFlag, Flags.GOLF, true), new FlagPole(Flags.PAPA, false)), - startTime.minus(startPhaseClassOverGolfUpIntervall)); + false)), null, Arrays.asList(new FlagPole(classFlag, Flags.GOLF, true), new FlagPole(Flags.PAPA, + false)), startTime.minus(startPhaseClassOverGolfUpIntervall)); } else if (now.before(startTime.minus(startPhasePapaUpInterval))) { return new FlagPoleState(Arrays.asList(new FlagPole(classFlag, Flags.GOLF, true), new FlagPole(Flags.PAPA, - false)), startTime.minus(startPhaseClassOverGolfUpIntervall), - Arrays.asList(new FlagPole(classFlag, Flags.GOLF, true), new FlagPole(Flags.PAPA, true)), - startTime.minus(startPhasePapaUpInterval)); + false)), startTime.minus(startPhaseClassOverGolfUpIntervall), Arrays.asList(new FlagPole(classFlag, + Flags.GOLF, true), new FlagPole(Flags.PAPA, true)), startTime.minus(startPhasePapaUpInterval)); } else if (now.before(startTime.minus(startPhasePapaDownInterval))) { return new FlagPoleState(Arrays.asList(new FlagPole(classFlag, Flags.GOLF, true), new FlagPole(Flags.PAPA, - true)), startTime.minus(startPhasePapaUpInterval), - Arrays.asList(new FlagPole(classFlag, Flags.GOLF, true), new FlagPole(Flags.PAPA, false)), - startTime.minus(startPhasePapaDownInterval)); + true)), startTime.minus(startPhasePapaUpInterval), Arrays.asList(new FlagPole(classFlag, + Flags.GOLF, true), new FlagPole(Flags.PAPA, false)), startTime.minus(startPhasePapaDownInterval)); } else if (now.before(startTime)) { return new FlagPoleState(Arrays.asList(new FlagPole(classFlag, Flags.GOLF, true), new FlagPole(Flags.PAPA, - false)), startTime.minus(startPhasePapaDownInterval), - Arrays.asList(new FlagPole(classFlag, false), new FlagPole(Flags.GOLF, true)), startTime); + false)), startTime.minus(startPhasePapaDownInterval), Arrays.asList(new FlagPole(classFlag, false), + new FlagPole(Flags.GOLF, true)), startTime); } else if (now.before(gateShutdownTime)) { return new FlagPoleState(Arrays.asList(new FlagPole(Flags.GOLF, true)), startTime, Arrays.asList(new FlagPole(Flags.GOLF, false)), gateShutdownTime); } else { if (isFinished(now)) { - return new FlagPoleState( - Arrays.asList(new FlagPole(Flags.BLUE, false)), getFinishedTime()); + return new FlagPoleState(Arrays.asList(new FlagPole(Flags.BLUE, false)), getFinishedTime()); } else if (isInFinishingPhase(now)) { - return new FlagPoleState( - Arrays.asList(new FlagPole(Flags.BLUE, true)), - getFinishingTime(), - Arrays.asList(new FlagPole(Flags.BLUE, false)), - null); + return new FlagPoleState(Arrays.asList(new FlagPole(Flags.BLUE, true)), getFinishingTime(), + Arrays.asList(new FlagPole(Flags.BLUE, false)), null); } else { return new FlagPoleState(Arrays.asList(new FlagPole(Flags.GOLF, false)), gateShutdownTime); } @@ -204,7 +201,8 @@ public class GateStartRacingProcedureImpl extends BaseRacingProcedure implements @Override public void setGateLineOpeningTimes(TimePoint now, long gateLaunchStopTime, long golfDownTime) { - raceLog.add(factory.createGateLineOpeningTimeEvent(now, author, raceLog.getCurrentPassId(), gateLaunchStopTime, golfDownTime)); + raceLog.add(new RaceLogGateLineOpeningTimeEventImpl(now, author, raceLog.getCurrentPassId(), gateLaunchStopTime, + golfDownTime)); } @Override @@ -214,7 +212,7 @@ public class GateStartRacingProcedureImpl extends BaseRacingProcedure implements @Override public void setPathfinder(TimePoint timePoint, String sailingId) { - raceLog.add(factory.createPathfinderEvent(timePoint, author, raceLog.getCurrentPassId(), sailingId)); + raceLog.add(new RaceLogPathfinderEventImpl(timePoint, author, raceLog.getCurrentPassId(), sailingId)); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/BaseRacingProcedure.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/BaseRacingProcedure.java index bfef08ff52a..7e848baba4f 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/BaseRacingProcedure.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/BaseRacingProcedure.java @@ -8,7 +8,6 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogChangedListener; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.FinishedTimeFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.FinishingTimeFinder; @@ -19,6 +18,7 @@ import com.sap.sailing.domain.abstractlog.race.analyzing.impl.IsInFinishingPhase import com.sap.sailing.domain.abstractlog.race.analyzing.impl.IsIndividualRecallDisplayedAnalyzer; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.StartTimeFinder; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; import com.sap.sailing.domain.abstractlog.race.impl.WeakRaceLogChangedVisitor; import com.sap.sailing.domain.abstractlog.race.state.RaceStateEvent; import com.sap.sailing.domain.abstractlog.race.state.RaceStateEventScheduler; @@ -52,7 +52,6 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i protected final RaceLog raceLog; protected final AbstractLogEventAuthor author; - protected final RaceLogEventFactory factory; private final RacingProcedureConfiguration configuration; private final RacingProcedureChangedListeners changedListeners; @@ -66,7 +65,6 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i private boolean cachedIsIndividualRecallDisplayed; - /** * When calling me, call {@link BaseRacingProcedure#update()} afterwards! * @@ -74,14 +72,13 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i * is required for a {@link StartTimeFinder} in order to make individual recall timeouts depend on start * time rather than the time the individual recall was issued */ - public BaseRacingProcedure(RaceLog raceLog, AbstractLogEventAuthor author, RaceLogEventFactory factory, + public BaseRacingProcedure(RaceLog raceLog, AbstractLogEventAuthor author, RacingProcedureConfiguration configuration, RaceLogResolver raceLogResolver) { if (configuration == null) { throw new IllegalArgumentException("configuration must not be null"); } this.raceLog = raceLog; this.author = author; - this.factory = factory; this.configuration = configuration; this.changedListeners = createChangedListenerContainer(); this.isRecallDisplayedAnalyzer = new IsIndividualRecallDisplayedAnalyzer(raceLog); @@ -94,18 +91,18 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i this.raceLog.addListener(this.raceLogListener); this.cachedIsIndividualRecallDisplayed = false; } - + @Override public void detach() { raceLog.removeListener(raceLogListener); changedListeners.removeAll(); } - + @Override public void addChangedListener(RacingProcedureChangedListener listener) { changedListeners.addBaseListener(listener); } - + public void removeChangedListener(RacingProcedureChangedListener listener) { changedListeners.remove(listener); }; @@ -155,7 +152,7 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i } return false; } - + @Override public TimePoint getIndividualRecallDisplayedTime() { if (hasIndividualRecall()) { @@ -163,7 +160,7 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i } return null; } - + @Override public TimePoint getIndividualRecallRemovalTime() { TimePoint displayed = getIndividualRecallDisplayedTime(); @@ -179,8 +176,11 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i if (raceStartTime != null) { referenceTimePoint = raceStartTime; } else { - logger.warning("An individual recall was set but we don't have a start time set for the race; using individual recall set time "+ - displayed+" + timeout ("+individualRecallRemovalTimeout+") for implicit termination of individual recall"); + logger.warning("An individual recall was set but we don't have a start time set for the race; using individual recall set time " + + displayed + + " + timeout (" + + individualRecallRemovalTimeout + + ") for implicit termination of individual recall"); referenceTimePoint = displayed; } return referenceTimePoint.plus(individualRecallRemovalTimeout); @@ -190,12 +190,14 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i @Override public void displayIndividualRecall(TimePoint displayTime) { - raceLog.add(factory.createFlagEvent(displayTime, author, raceLog.getCurrentPassId(), Flags.XRAY, Flags.NONE, true)); + raceLog.add(new RaceLogFlagEventImpl(displayTime, author, raceLog.getCurrentPassId(), Flags.XRAY, Flags.NONE, + true)); } @Override public void removeIndividualRecall(TimePoint timePoint) { - raceLog.add(factory.createFlagEvent(timePoint, author, raceLog.getCurrentPassId(), Flags.XRAY, Flags.NONE, false)); + raceLog.add(new RaceLogFlagEventImpl(timePoint, author, raceLog.getCurrentPassId(), Flags.XRAY, Flags.NONE, + false)); } @Override @@ -208,11 +210,11 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i return false; } } - + @Override public boolean hasIndividualRecall() { - return configuration.hasInidividualRecall() == null ? - hasIndividualRecallByDefault() : configuration.hasInidividualRecall(); + return configuration.hasInidividualRecall() == null ? hasIndividualRecallByDefault() : configuration + .hasInidividualRecall(); } protected abstract boolean hasIndividualRecallByDefault(); @@ -244,23 +246,23 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i unscheduleStateEvent(RaceStateEvents.INDIVIDUAL_RECALL_TIMEOUT); scheduleStateEvents(new RaceStateEventImpl(removalTime, RaceStateEvents.INDIVIDUAL_RECALL_TIMEOUT)); } - + protected void scheduleStateEvents(RaceStateEvent stateEvent) { scheduleStateEvents(Arrays.asList(stateEvent)); } - + protected void scheduleStateEvents(Collection stateEvents) { if (scheduler != null) { scheduler.scheduleStateEvents(stateEvents); } } - + protected void unscheduleStateEvent(RaceStateEvents raceStateEventName) { if (scheduler != null) { scheduler.unscheduleStateEvent(raceStateEventName); } } - + @Override public RacingProcedureConfiguration getConfiguration() { return configuration; @@ -276,7 +278,7 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i scheduler.scheduleStateEvents(createStartStateEvents(state.getStartTime())); } } - + @Override public void onAdvancePass(ReadonlyRaceState state) { unscheduleAllEvents(); @@ -288,21 +290,21 @@ public abstract class BaseRacingProcedure extends BaseRaceStateChangedListener i scheduler.unscheduleAllEvents(); } } - + protected boolean isFinished(TimePoint at) { IsFinishedAnalyzer analyzer = new IsFinishedAnalyzer(raceLog, finishedTimeFinder, at); return analyzer.analyze(); } - + protected boolean isInFinishingPhase(TimePoint at) { IsInFinishingPhaseAnalyzer analyzer = new IsInFinishingPhaseAnalyzer(raceLog, finishingTimeFinder, at); return analyzer.analyze(); } - + protected TimePoint getFinishingTime() { return finishingTimeFinder.analyze(); } - + protected TimePoint getFinishedTime() { return finishedTimeFinder.analyze(); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/RacingProcedureFactoryImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/RacingProcedureFactoryImpl.java index 06617dd1902..b5960f24561 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/RacingProcedureFactoryImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/RacingProcedureFactoryImpl.java @@ -2,7 +2,6 @@ package com.sap.sailing.domain.abstractlog.race.state.racingprocedure.impl; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.RacingProcedureFactory; import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.ReadonlyRacingProcedure; @@ -13,17 +12,15 @@ import com.sap.sailing.domain.common.racelog.RacingProcedureType; public class RacingProcedureFactoryImpl extends ReadonlyRacingProcedureFactory implements RacingProcedureFactory { private final AbstractLogEventAuthor author; - private final RaceLogEventFactory factory; - public RacingProcedureFactoryImpl(AbstractLogEventAuthor author, RaceLogEventFactory factory, + public RacingProcedureFactoryImpl(AbstractLogEventAuthor author, ConfigurationLoader configuration) { super(configuration); this.author = author; - this.factory = factory; } @Override public ReadonlyRacingProcedure createRacingProcedure(RacingProcedureType type, RaceLog raceLog, RaceLogResolver raceLogResolver) { - return createProcedure(type, raceLog, author, factory, raceLogResolver); + return createProcedure(type, raceLog, author, raceLogResolver); } } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/ReadonlyRacingProcedureFactory.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/ReadonlyRacingProcedureFactory.java index 971ac0caaa2..422effda297 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/ReadonlyRacingProcedureFactory.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/ReadonlyRacingProcedureFactory.java @@ -3,7 +3,6 @@ package com.sap.sailing.domain.abstractlog.race.state.racingprocedure.impl; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.impl.NoAddingRaceLogWrapper; import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.RacingProcedure; @@ -38,20 +37,20 @@ public class ReadonlyRacingProcedureFactory implements RacingProcedureFactory { } protected ReadonlyRacingProcedure createProcedure(RacingProcedureType type, RaceLog raceLog, - AbstractLogEventAuthor author, RaceLogEventFactory factory, RaceLogResolver raceLogResolver) { + AbstractLogEventAuthor author, RaceLogResolver raceLogResolver) { RegattaConfiguration loadedConfiguration = configuration.load(); switch (type) { case ESS: - return new ESSRacingProcedureImpl(raceLog, author, factory, loadedConfiguration.getESSConfiguration(), raceLogResolver); + return new ESSRacingProcedureImpl(raceLog, author, loadedConfiguration.getESSConfiguration(), raceLogResolver); case GateStart: - return new GateStartRacingProcedureImpl(raceLog, author, factory, + return new GateStartRacingProcedureImpl(raceLog, author, loadedConfiguration.getGateStartConfiguration(), raceLogResolver); case RRS26: - return new RRS26RacingProcedureImpl(raceLog, author, factory, loadedConfiguration.getRRS26Configuration(), raceLogResolver); + return new RRS26RacingProcedureImpl(raceLog, author, loadedConfiguration.getRRS26Configuration(), raceLogResolver); case BASIC: - return new BasicRacingProcedureImpl(raceLog, author, factory, loadedConfiguration.getBasicConfiguration(), raceLogResolver); + return new BasicRacingProcedureImpl(raceLog, author, loadedConfiguration.getBasicConfiguration(), raceLogResolver); case LEAGUE: - return new LeagueRacingProcedureImpl(raceLog, author, factory, loadedConfiguration.getLeagueConfiguration(), raceLogResolver); + return new LeagueRacingProcedureImpl(raceLog, author, loadedConfiguration.getLeagueConfiguration(), raceLogResolver); default: throw new UnsupportedOperationException("Unknown racing procedure " + type.toString()); } @@ -63,7 +62,7 @@ public class ReadonlyRacingProcedureFactory implements RacingProcedureFactory { AbstractLogEventAuthor author = new LogEventAuthorImpl("Illegal Author", 128); // Wrap the racelog to disable adding... RaceLog wrappedRaceLog = new NoAddingRaceLogWrapper(raceLog); - return createProcedure(type, wrappedRaceLog, author, RaceLogEventFactory.INSTANCE, raceLogResolver); + return createProcedure(type, wrappedRaceLog, author, raceLogResolver); } } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/league/impl/LeagueRacingProcedureImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/league/impl/LeagueRacingProcedureImpl.java index f3e5f2508df..4e78ca10eb1 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/league/impl/LeagueRacingProcedureImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/league/impl/LeagueRacingProcedureImpl.java @@ -6,7 +6,6 @@ import java.util.Collections; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.state.RaceStateEvent; import com.sap.sailing.domain.abstractlog.race.state.impl.RaceStateEventImpl; @@ -34,8 +33,8 @@ public class LeagueRacingProcedureImpl extends BaseRacingProcedure implements Le private final static Flags startmodeFlag = Flags.PAPA; public LeagueRacingProcedureImpl(RaceLog raceLog, AbstractLogEventAuthor author, - RaceLogEventFactory factory, LeagueConfiguration configuration, RaceLogResolver raceLogResolver) { - super(raceLog, author, factory, configuration, raceLogResolver); + LeagueConfiguration configuration, RaceLogResolver raceLogResolver) { + super(raceLog, author, configuration, raceLogResolver); update(); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/rrs26/impl/RRS26RacingProcedureImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/rrs26/impl/RRS26RacingProcedureImpl.java index a89cc6b95d5..11ec1eb18a9 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/rrs26/impl/RRS26RacingProcedureImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/rrs26/impl/RRS26RacingProcedureImpl.java @@ -6,10 +6,10 @@ import java.util.Collections; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RRS26StartModeFlagFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RacingProcedureTypeAnalyzer; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; import com.sap.sailing.domain.abstractlog.race.state.RaceStateEvent; import com.sap.sailing.domain.abstractlog.race.state.impl.RaceStateEventImpl; import com.sap.sailing.domain.abstractlog.race.state.impl.RaceStateEvents; @@ -40,8 +40,8 @@ public class RRS26RacingProcedureImpl extends BaseRacingProcedure implements RRS private boolean startmodeFlagHasBeenSet; public RRS26RacingProcedureImpl(RaceLog raceLog, AbstractLogEventAuthor author, - RaceLogEventFactory factory, RRS26Configuration configuration, RaceLogResolver raceLogResolver) { - super(raceLog, author, factory, configuration, raceLogResolver); + RRS26Configuration configuration, RaceLogResolver raceLogResolver) { + super(raceLog, author, configuration, raceLogResolver); RacingProcedureTypeAnalyzer procedureAnalyzer = new RacingProcedureTypeAnalyzer(raceLog); if (configuration.getStartModeFlags() != null) { @@ -189,7 +189,7 @@ public class RRS26RacingProcedureImpl extends BaseRacingProcedure implements RRS @Override public void setStartModeFlag(TimePoint timePoint, Flags startMode) { - raceLog.add(factory.createFlagEvent(timePoint, author, raceLog.getCurrentPassId(), startMode, Flags.NONE, true)); + raceLog.add(new RaceLogFlagEventImpl(timePoint, author, raceLog.getCurrentPassId(), startMode, Flags.NONE, true)); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/analyzing/impl/RaceLogOpenEndedDeviceMappingCloser.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/analyzing/impl/RaceLogOpenEndedDeviceMappingCloser.java index f7183da288f..20e355f91ad 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/analyzing/impl/RaceLogOpenEndedDeviceMappingCloser.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/analyzing/impl/RaceLogOpenEndedDeviceMappingCloser.java @@ -5,9 +5,9 @@ import java.io.Serializable; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogCloseOpenEndedDeviceMappingEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogCloseOpenEndedDeviceMappingEventImpl; import com.sap.sailing.domain.abstractlog.shared.analyzing.OpenEndedDeviceMappingCloser; import com.sap.sailing.domain.racelogtracking.DeviceMapping; import com.sap.sse.common.TimePoint; @@ -23,7 +23,7 @@ public class RaceLogOpenEndedDeviceMappingCloser extends @Override protected RaceLogCloseOpenEndedDeviceMappingEvent createCloseEvent(TimePoint logicalTimePoint, Serializable eventToCloseId) { - return RaceLogEventFactory.INSTANCE.createCloseOpenEndedDeviceMappingEvent( + return new RaceLogCloseOpenEndedDeviceMappingEventImpl( logicalTimePoint, author, getLog().getCurrentPassId(), eventToCloseId, closingTimePoint); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/AbstractRaceLogDeviceMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/AbstractRaceLogDeviceMappingEventImpl.java index 54b6e405c36..4ad5b907a78 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/AbstractRaceLogDeviceMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/AbstractRaceLogDeviceMappingEventImpl.java @@ -19,13 +19,20 @@ extends AbstractDeviceMappingEventImpl implements Ra private static final long serialVersionUID = -5114645637316367845L; private final RaceLogEventData raceLogEventData; - public AbstractRaceLogDeviceMappingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, int passId, ItemT mappedTo, DeviceIdentifier device, + public AbstractRaceLogDeviceMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable id, int passId, ItemT mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { super(createdAt, author, logicalTimePoint, id, mappedTo, device, from, to); this.raceLogEventData = new RaceLogEventDataImpl(null, passId); } + public AbstractRaceLogDeviceMappingEventImpl(TimePoint logicalTimePoint, + AbstractLogEventAuthor author, int passId, ItemT mappedTo, DeviceIdentifier device, + TimePoint from, TimePoint to) { + super(author, logicalTimePoint, mappedTo, device, from, to); + this.raceLogEventData = new RaceLogEventDataImpl(null, passId); + } + @Override public int getPassId() { return raceLogEventData.getPassId(); diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogCloseOpenEndedDeviceMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogCloseOpenEndedDeviceMappingEventImpl.java index fbd1631f9d6..326986d19be 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogCloseOpenEndedDeviceMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogCloseOpenEndedDeviceMappingEventImpl.java @@ -12,18 +12,25 @@ import com.sap.sailing.domain.abstractlog.shared.events.impl.BaseCloseOpenEndedD import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; -public class RaceLogCloseOpenEndedDeviceMappingEventImpl extends BaseCloseOpenEndedDeviceMappingEventImpl -implements RaceLogCloseOpenEndedDeviceMappingEvent { +public class RaceLogCloseOpenEndedDeviceMappingEventImpl extends + BaseCloseOpenEndedDeviceMappingEventImpl implements + RaceLogCloseOpenEndedDeviceMappingEvent { private static final long serialVersionUID = -5114645637316367845L; private final RaceLogEventData raceLogEventData; - - public RaceLogCloseOpenEndedDeviceMappingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, int passId, Serializable deviceMappingEventId, + + public RaceLogCloseOpenEndedDeviceMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable id, int passId, Serializable deviceMappingEventId, TimePoint closingTimePoint) { - super(createdAt, author, logicalTimePoint, id, deviceMappingEventId, closingTimePoint); + super(createdAt, logicalTimePoint, author, id, deviceMappingEventId, closingTimePoint); this.raceLogEventData = new RaceLogEventDataImpl(null, passId); } - + + public RaceLogCloseOpenEndedDeviceMappingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, + int passId, Serializable deviceMappingEventId, TimePoint closingTimePoint) { + super(logicalTimePoint, author, deviceMappingEventId, closingTimePoint); + this.raceLogEventData = new RaceLogEventDataImpl(null, passId); + } + @Override public int getPassId() { return raceLogEventData.getPassId(); diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDefineMarkEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDefineMarkEventImpl.java index b60ce4535c5..d48167a9635 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDefineMarkEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDefineMarkEventImpl.java @@ -1,13 +1,11 @@ package com.sap.sailing.domain.abstractlog.race.tracking.impl; import java.io.Serializable; -import java.util.Collections; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventImpl; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Mark; import com.sap.sse.common.TimePoint; @@ -16,9 +14,15 @@ public class RaceLogDefineMarkEventImpl extends RaceLogEventImpl implements Race private final Mark mark; - public RaceLogDefineMarkEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, + public RaceLogDefineMarkEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, int pPassId, Mark mark) { - super(createdAt, author, logicalTimePoint, pId, Collections.emptyList(), pPassId); + super(createdAt, logicalTimePoint, author, pId, pPassId); + this.mark = mark; + } + + public RaceLogDefineMarkEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, + int pPassId, Mark mark) { + super(logicalTimePoint, author, pPassId); this.mark = mark; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDenoteForTrackingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDenoteForTrackingEventImpl.java index 21d6d7ea445..5f041a8298b 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDenoteForTrackingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDenoteForTrackingEventImpl.java @@ -1,29 +1,33 @@ package com.sap.sailing.domain.abstractlog.race.tracking.impl; import java.io.Serializable; -import java.util.Collections; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventImpl; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDenoteForTrackingEvent; import com.sap.sailing.domain.base.BoatClass; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; -public class RaceLogDenoteForTrackingEventImpl extends RaceLogEventImpl implements -RaceLogDenoteForTrackingEvent { +public class RaceLogDenoteForTrackingEventImpl extends RaceLogEventImpl implements RaceLogDenoteForTrackingEvent { private static final long serialVersionUID = 6937741283401976385L; private final String raceName; private final BoatClass boatClass; private final Serializable raceId; - public RaceLogDenoteForTrackingEventImpl(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable pId, int pPassId, + public RaceLogDenoteForTrackingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable pId, int pPassId, String raceName, + BoatClass boatClass, Serializable raceId) { + super(createdAt, logicalTimePoint, author, pId, pPassId); + this.raceName = raceName; + this.boatClass = boatClass; + this.raceId = raceId; + } + + public RaceLogDenoteForTrackingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, String raceName, BoatClass boatClass, Serializable raceId) { - super(createdAt, author, logicalTimePoint, pId, Collections.emptyList(), pPassId); + super(logicalTimePoint, author, pPassId); this.raceName = raceName; this.boatClass = boatClass; this.raceId = raceId; @@ -43,7 +47,7 @@ RaceLogDenoteForTrackingEvent { public BoatClass getBoatClass() { return boatClass; } - + @Override public Serializable getRaceId() { return raceId; diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDeviceCompetitorMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDeviceCompetitorMappingEventImpl.java index 41ef893339c..070972b396f 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDeviceCompetitorMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDeviceCompetitorMappingEventImpl.java @@ -10,10 +10,16 @@ import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; import com.sap.sse.common.TimePoint; public class RaceLogDeviceCompetitorMappingEventImpl extends AbstractRaceLogDeviceMappingEventImpl -implements RaceLogDeviceCompetitorMappingEvent { - public RaceLogDeviceCompetitorMappingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable pId, int pPassId, Competitor mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { - super(createdAt, author, logicalTimePoint, pId, pPassId, mappedTo, device, from, to); + implements RaceLogDeviceCompetitorMappingEvent { + public RaceLogDeviceCompetitorMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable pId, int pPassId, Competitor mappedTo, DeviceIdentifier device, + TimePoint from, TimePoint to) { + super(createdAt, logicalTimePoint, author, pId, pPassId, mappedTo, device, from, to); + } + + public RaceLogDeviceCompetitorMappingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, + int pPassId, Competitor mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { + super(logicalTimePoint, author, pPassId, mappedTo, device, from, to); } private static final long serialVersionUID = -1494030544804758753L; diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDeviceMarkMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDeviceMarkMappingEventImpl.java index 4ad9650c8c4..abcdf21bfd9 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDeviceMarkMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDeviceMarkMappingEventImpl.java @@ -9,13 +9,19 @@ import com.sap.sailing.domain.base.Mark; import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; import com.sap.sse.common.TimePoint; -public class RaceLogDeviceMarkMappingEventImpl extends AbstractRaceLogDeviceMappingEventImpl -implements RaceLogDeviceMarkMappingEvent { +public class RaceLogDeviceMarkMappingEventImpl extends AbstractRaceLogDeviceMappingEventImpl implements + RaceLogDeviceMarkMappingEvent { private static final long serialVersionUID = -7223543830755457196L; - public RaceLogDeviceMarkMappingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable pId, int pPassId, Mark mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { - super(createdAt, author, logicalTimePoint, pId, pPassId, mappedTo, device, from, to); + public RaceLogDeviceMarkMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable pId, int pPassId, Mark mappedTo, DeviceIdentifier device, + TimePoint from, TimePoint to) { + super(createdAt, logicalTimePoint, author, pId, pPassId, mappedTo, device, from, to); + } + + public RaceLogDeviceMarkMappingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, + Mark mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { + super(logicalTimePoint, author, pPassId, mappedTo, device, from, to); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogRegisterCompetitorEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogRegisterCompetitorEventImpl.java index eb20dd7f79a..deb5a8a90b1 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogRegisterCompetitorEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogRegisterCompetitorEventImpl.java @@ -22,10 +22,21 @@ public class RaceLogRegisterCompetitorEventImpl extends BaseRegisterCompetitorEv * @throws IllegalArgumentException * if {@code competitor} is null */ - public RaceLogRegisterCompetitorEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, int passId, Competitor competitor) + public RaceLogRegisterCompetitorEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable id, int passId, Competitor competitor) throws IllegalArgumentException { - super(createdAt, author, logicalTimePoint, id, competitor); + super(createdAt, logicalTimePoint, author, id, competitor); + this.raceLogEventData = new RaceLogEventDataImpl(null, passId); + } + + /** + * @throws IllegalArgumentException + * if {@code competitor} is null + */ + public RaceLogRegisterCompetitorEventImpl(TimePoint logicalTimePoint, + AbstractLogEventAuthor author, int passId, Competitor competitor) + throws IllegalArgumentException { + super(logicalTimePoint, author, competitor); this.raceLogEventData = new RaceLogEventDataImpl(null, passId); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogStartTrackingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogStartTrackingEventImpl.java index 33a0fdca17b..e5f210ec711 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogStartTrackingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogStartTrackingEventImpl.java @@ -1,7 +1,7 @@ package com.sap.sailing.domain.abstractlog.race.tracking.impl; import java.io.Serializable; -import java.util.Collections; +import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; @@ -14,9 +14,14 @@ public class RaceLogStartTrackingEventImpl extends RaceLogEventImpl implements RaceLogStartTrackingEvent { private static final long serialVersionUID = 6017954368580125221L; - public RaceLogStartTrackingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, int pPassId) { - super(createdAt, author, logicalTimePoint, pId, Collections.emptyList(), pPassId); + public RaceLogStartTrackingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable pId, List involvedBoats, int pPassId) { + super(createdAt, logicalTimePoint, author, pId, involvedBoats, pPassId); + } + + public RaceLogStartTrackingEventImpl(TimePoint logicalTimePoint, + AbstractLogEventAuthor author, int pPassId) { + super(logicalTimePoint, author, pPassId); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogCloseOpenEndedDeviceMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogCloseOpenEndedDeviceMappingEventImpl.java index ae0c3541e87..7bc85ccba0a 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogCloseOpenEndedDeviceMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogCloseOpenEndedDeviceMappingEventImpl.java @@ -15,7 +15,7 @@ implements RegattaLogCloseOpenEndedDeviceMappingEvent { public RegattaLogCloseOpenEndedDeviceMappingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Serializable deviceMappingEventId, TimePoint closingTimePoint) { - super(createdAt, author, logicalTimePoint, id, deviceMappingEventId, closingTimePoint); + super(createdAt, logicalTimePoint, author, id, deviceMappingEventId, closingTimePoint); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceCompetitorMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceCompetitorMappingEventImpl.java index 38398c2008c..eee389e0dea 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceCompetitorMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceCompetitorMappingEventImpl.java @@ -10,13 +10,21 @@ import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; import com.sap.sse.common.TimePoint; -public class RegattaLogDeviceCompetitorMappingEventImpl extends AbstractDeviceMappingEventImpl -implements RegattaLogDeviceCompetitorMappingEvent { - public RegattaLogDeviceCompetitorMappingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, - Serializable pId, Competitor mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { +public class RegattaLogDeviceCompetitorMappingEventImpl extends + AbstractDeviceMappingEventImpl implements + RegattaLogDeviceCompetitorMappingEvent { + public RegattaLogDeviceCompetitorMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable pId, Competitor mappedTo, DeviceIdentifier device, + TimePoint from, TimePoint to) { super(createdAt, author, logicalTimePoint, pId, mappedTo, device, from, to); } + public RegattaLogDeviceCompetitorMappingEventImpl(TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Competitor mappedTo, DeviceIdentifier device, + TimePoint from, TimePoint to) { + super(author, logicalTimePoint, mappedTo, device, from, to); + } + private static final long serialVersionUID = -1494030544804758753L; @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceMarkMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceMarkMappingEventImpl.java index b30558fb509..1e599bff7d3 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceMarkMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceMarkMappingEventImpl.java @@ -14,11 +14,16 @@ public class RegattaLogDeviceMarkMappingEventImpl extends AbstractDeviceMappingE implements RegattaLogDeviceMarkMappingEvent { private static final long serialVersionUID = -7223543830755457196L; - public RegattaLogDeviceMarkMappingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, + public RegattaLogDeviceMarkMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, Mark mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { super(createdAt, author, logicalTimePoint, pId, mappedTo, device, from, to); } + public RegattaLogDeviceMarkMappingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, + Mark mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { + super(author, logicalTimePoint, mappedTo, device, from, to); + } + @Override public void accept(RegattaLogEventVisitor visitor) { visitor.visit(this); diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogRegisterCompetitorEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogRegisterCompetitorEventImpl.java index 7e61d369e59..d1f19322fa3 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogRegisterCompetitorEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogRegisterCompetitorEventImpl.java @@ -17,9 +17,18 @@ public class RegattaLogRegisterCompetitorEventImpl extends BaseRegisterCompetito * @throws IllegalArgumentException * if {@code competitor} is null */ - public RegattaLogRegisterCompetitorEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, Competitor competitor) throws IllegalArgumentException { - super(createdAt, author, logicalTimePoint, id, competitor); + public RegattaLogRegisterCompetitorEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable id, Competitor competitor) throws IllegalArgumentException { + super(createdAt, logicalTimePoint, author, id, competitor); + } + + /** + * @throws IllegalArgumentException + * if {@code competitor} is null + */ + public RegattaLogRegisterCompetitorEventImpl(TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Competitor competitor) throws IllegalArgumentException { + super(logicalTimePoint, author, competitor); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogRevokeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogRevokeEventImpl.java index be0808779f6..c486fb7ff23 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogRevokeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogRevokeEventImpl.java @@ -12,10 +12,10 @@ import com.sap.sse.common.TimePoint; public class RegattaLogRevokeEventImpl extends RevokeEventImpl implements RegattaLogRevokeEvent { private static final long serialVersionUID = -3470191515219206588L; - public RegattaLogRevokeEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, + public RegattaLogRevokeEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, Serializable revokedEventId, String revokedEventType, String revokedEventShortInfo, String reason) { - super(createdAt, author, logicalTimePoint, pId, revokedEventId, revokedEventType, revokedEventShortInfo, reason); + super(createdAt, logicalTimePoint, author, pId, revokedEventId, revokedEventType, revokedEventShortInfo, reason); } public RegattaLogRevokeEventImpl(AbstractLogEventAuthor author, RegattaLogEvent toRevoke, String reason) { diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorHandicapInfoEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorHandicapInfoEventImpl.java index 89564c13581..271011daa27 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorHandicapInfoEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorHandicapInfoEventImpl.java @@ -15,9 +15,9 @@ public abstract class RegattaLogSetCompetitorHandicapInfoEventImpl extends Abstr private final Competitor competitor; - protected RegattaLogSetCompetitorHandicapInfoEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, Competitor competitor) { - super(createdAt, author, logicalTimePoint, pId); + protected RegattaLogSetCompetitorHandicapInfoEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable pId, Competitor competitor) { + super(createdAt, logicalTimePoint, author, pId); this.competitor = competitor; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorTimeOnDistanceAllowancePerNauticalMileEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorTimeOnDistanceAllowancePerNauticalMileEventImpl.java index ce918739b21..1583b740755 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorTimeOnDistanceAllowancePerNauticalMileEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorTimeOnDistanceAllowancePerNauticalMileEventImpl.java @@ -16,9 +16,9 @@ public class RegattaLogSetCompetitorTimeOnDistanceAllowancePerNauticalMileEventI private final Duration timeOnDistanceAllowancePerNauticalMile; public RegattaLogSetCompetitorTimeOnDistanceAllowancePerNauticalMileEventImpl(TimePoint createdAt, - AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable pId, Competitor competitor, + TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, Competitor competitor, Duration timeOnDistanceAllowancePerNauticalMile) { - super(createdAt, author, logicalTimePoint, pId, competitor); + super(createdAt, logicalTimePoint, author, pId, competitor); this.timeOnDistanceAllowancePerNauticalMile = timeOnDistanceAllowancePerNauticalMile; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorTimeOnTimeFactorEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorTimeOnTimeFactorEventImpl.java index 5000db41223..8b60641f119 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorTimeOnTimeFactorEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogSetCompetitorTimeOnTimeFactorEventImpl.java @@ -12,9 +12,9 @@ public class RegattaLogSetCompetitorTimeOnTimeFactorEventImpl extends RegattaLog private static final long serialVersionUID = -7891407213804859604L; private final Double timeOnTimeFactor; - public RegattaLogSetCompetitorTimeOnTimeFactorEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, Competitor competitor, Double timeOnTimeFactor) { - super(createdAt, author, logicalTimePoint, pId, competitor); + public RegattaLogSetCompetitorTimeOnTimeFactorEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable pId, Competitor competitor, Double timeOnTimeFactor) { + super(createdAt, logicalTimePoint, author, pId, competitor); this.timeOnTimeFactor = timeOnTimeFactor; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/AbstractDeviceMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/AbstractDeviceMappingEventImpl.java index edcfc7a5748..d302f09fe55 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/AbstractDeviceMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/AbstractDeviceMappingEventImpl.java @@ -21,7 +21,17 @@ DeviceMappingEvent { public AbstractDeviceMappingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, ItemType mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { - super(createdAt, author, logicalTimePoint, id); + super(createdAt, logicalTimePoint, author, id); + this.mappedTo = mappedTo; + this.device = device; + this.from = from; + this.to = to; + } + + public AbstractDeviceMappingEventImpl(AbstractLogEventAuthor author, + TimePoint logicalTimePoint, ItemType mappedTo, + DeviceIdentifier device, TimePoint from, TimePoint to) { + super(logicalTimePoint, author); this.mappedTo = mappedTo; this.device = device; this.from = from; diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseCloseOpenEndedDeviceMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseCloseOpenEndedDeviceMappingEventImpl.java index 7ad9ec08cd1..6faad98e3f1 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseCloseOpenEndedDeviceMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseCloseOpenEndedDeviceMappingEventImpl.java @@ -8,16 +8,22 @@ import com.sap.sailing.domain.abstractlog.shared.events.CloseOpenEndedDeviceMapp import com.sap.sse.common.TimePoint; public abstract class BaseCloseOpenEndedDeviceMappingEventImpl extends AbstractLogEventImpl -implements CloseOpenEndedDeviceMappingEvent { + implements CloseOpenEndedDeviceMappingEvent { private static final long serialVersionUID = -2401732623610224918L; - + private final Serializable deviceMappingEventId; private final TimePoint closingTimePoint; - public BaseCloseOpenEndedDeviceMappingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, Serializable deviceMappingEventId, - TimePoint closingTimePoint) { - super(createdAt, author, logicalTimePoint, pId); + public BaseCloseOpenEndedDeviceMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable pId, Serializable deviceMappingEventId, TimePoint closingTimePoint) { + super(createdAt, logicalTimePoint, author, pId); + this.deviceMappingEventId = deviceMappingEventId; + this.closingTimePoint = closingTimePoint; + } + + public BaseCloseOpenEndedDeviceMappingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, + Serializable deviceMappingEventId, TimePoint closingTimePoint) { + super(logicalTimePoint, author); this.deviceMappingEventId = deviceMappingEventId; this.closingTimePoint = closingTimePoint; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseRegisterCompetitorEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseRegisterCompetitorEventImpl.java index 71768eea58e..816ba547b38 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseRegisterCompetitorEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseRegisterCompetitorEventImpl.java @@ -17,13 +17,28 @@ public abstract class BaseRegisterCompetitorEventImpl extends Abstract * @throws IllegalArgumentException * if {@code competitor} is null */ - public BaseRegisterCompetitorEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable pId, Competitor competitor) throws IllegalArgumentException { - super(createdAt, author, logicalTimePoint, pId); + public BaseRegisterCompetitorEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable pId, Competitor competitor) throws IllegalArgumentException { + super(createdAt, logicalTimePoint, author, pId); + checkCompetitor(competitor); + this.competitor = competitor; + } + + /** + * @throws IllegalArgumentException + * if {@code competitor} is null + */ + public BaseRegisterCompetitorEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, + Competitor competitor) throws IllegalArgumentException { + super(logicalTimePoint, author); + checkCompetitor(competitor); + this.competitor = competitor; + } + + private static void checkCompetitor(Competitor competitor) throws IllegalArgumentException { if (competitor == null) { throw new IllegalArgumentException("Competitor may not be null"); } - this.competitor = competitor; } @Override diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CompetitorProviderCacheInvalidationTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CompetitorProviderCacheInvalidationTest.java index 2d261296651..28a3e8018d4 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CompetitorProviderCacheInvalidationTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CompetitorProviderCacheInvalidationTest.java @@ -18,8 +18,9 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRevokeEventImpl; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogRegisterCompetitorEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogRegisterCompetitorEventImpl; import com.sap.sailing.domain.abstractlog.regatta.RegattaLog; import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogRegisterCompetitorEvent; import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogRegisterCompetitorEventImpl; @@ -109,7 +110,7 @@ public class CompetitorProviderCacheInvalidationTest extends AbstractLeaderboard final LogEventAuthorImpl author = new LogEventAuthorImpl("Me", 0); final Map competitorOnRaceLogRegistrationEvents = new HashMap<>(); for (Competitor c : compLists[0]) { - final RaceLogRegisterCompetitorEvent registerCompetitorEvent = RaceLogEventFactory.INSTANCE.createRegisterCompetitorEvent(MillisecondsTimePoint.now(), author, passId, c); + final RaceLogRegisterCompetitorEvent registerCompetitorEvent = new RaceLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), author, passId, c); raceLog.add(registerCompetitorEvent); competitorOnRaceLogRegistrationEvents.put(c, registerCompetitorEvent); } @@ -125,7 +126,7 @@ public class CompetitorProviderCacheInvalidationTest extends AbstractLeaderboard // we're now revoking a competitor registration on the race log and assert // that the competitor is gone from the list: final Competitor competitorToRevokeFromRaceLog = compLists[0].get(2); - raceLog.add(RaceLogEventFactory.INSTANCE.createRevokeEvent(author, passId, competitorOnRaceLogRegistrationEvents.get(competitorToRevokeFromRaceLog), "Test revoking")); + raceLog.add(new RaceLogRevokeEventImpl(author, passId, competitorOnRaceLogRegistrationEvents.get(competitorToRevokeFromRaceLog), "Test revoking")); actualForRace = new HashSet<>(); // try another time; cache should of course yield an equal result (although // we're not asserting here that the result actually comes from the cache) Util.addAll(competitorProviderFlexibleLeaderboard.getAllCompetitors( @@ -149,7 +150,7 @@ public class CompetitorProviderCacheInvalidationTest extends AbstractLeaderboard flexibleLeaderboard.addRaceColumn("R1", /* medalRace */ false); RegattaLog regattaLog = flexibleLeaderboard.getRegattaLog(); for (Competitor c : compLists[0]) { - regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), MillisecondsTimePoint.now(), UUID.randomUUID(), c)); + regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), UUID.randomUUID(), c)); } Set expected = new HashSet<>(compLists[0]); Set actual = new HashSet<>(); @@ -167,11 +168,11 @@ public class CompetitorProviderCacheInvalidationTest extends AbstractLeaderboard flexibleLeaderboard.addRaceColumn("R1", /* medalRace */ false); RegattaLog regattaLog = flexibleLeaderboard.getRegattaLog(); for (Competitor c : compLists[0]) { - regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), MillisecondsTimePoint.now(), UUID.randomUUID(), c)); + regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), UUID.randomUUID(), c)); } RaceLog raceLog = flexibleLeaderboard.getRacelog("R1", LeaderboardNameConstants.DEFAULT_FLEET_NAME); for (Competitor c : compLists[1]) { - raceLog.add(RaceLogEventFactory.INSTANCE.createRegisterCompetitorEvent(MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), 1, c)); + raceLog.add(new RaceLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), 1, c)); } Set expected = new HashSet<>(compLists[0]); expected.addAll(compLists[1]); @@ -251,7 +252,7 @@ public class CompetitorProviderCacheInvalidationTest extends AbstractLeaderboard public void testSimpleCompetitorListOnOneRaceLogInRegattaLeaderboard() { RaceLog raceLog = regattaLeaderboard.getRacelog("R1", "Yellow"); for (Competitor c : compLists[0]) { - raceLog.add(RaceLogEventFactory.INSTANCE.createRegisterCompetitorEvent(MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), 1, c)); + raceLog.add(new RaceLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), 1, c)); } Set expected = new HashSet<>(compLists[0]); Set actual = new HashSet<>(); @@ -269,7 +270,7 @@ public class CompetitorProviderCacheInvalidationTest extends AbstractLeaderboard final Map competitorOnRegattaLogRegistrationEvents = new HashMap<>(); final LogEventAuthorImpl author = new LogEventAuthorImpl("Me", 0); for (Competitor c : compLists[0]) { - final RegattaLogRegisterCompetitorEventImpl registerCompetitorEvent = new RegattaLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), author, MillisecondsTimePoint.now(), UUID.randomUUID(), c); + final RegattaLogRegisterCompetitorEventImpl registerCompetitorEvent = new RegattaLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), MillisecondsTimePoint.now(), author, UUID.randomUUID(), c); regattaLog.add(registerCompetitorEvent); competitorOnRegattaLogRegistrationEvents.put(c, registerCompetitorEvent); } @@ -302,13 +303,13 @@ public class CompetitorProviderCacheInvalidationTest extends AbstractLeaderboard final RegattaLog regattaLog = regattaLeaderboard.getRegatta().getRegattaLog(); final LogEventAuthorImpl author = new LogEventAuthorImpl("Me", 0); for (Competitor c : compLists[0]) { - regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), author, MillisecondsTimePoint.now(), UUID.randomUUID(), c)); + regattaLog.add(new RegattaLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), MillisecondsTimePoint.now(), author, UUID.randomUUID(), c)); } final RaceLog raceLog = regattaLeaderboard.getRacelog("R1", "Yellow"); final int passId = 1; final Map competitorOnRaceLogRegistrationEvents = new HashMap<>(); for (Competitor c : compLists[passId]) { - final RaceLogRegisterCompetitorEvent registerCompetitorEvent = RaceLogEventFactory.INSTANCE.createRegisterCompetitorEvent(MillisecondsTimePoint.now(), author, passId, c); + final RaceLogRegisterCompetitorEvent registerCompetitorEvent = new RaceLogRegisterCompetitorEventImpl(MillisecondsTimePoint.now(), author, passId, c); raceLog.add(registerCompetitorEvent); competitorOnRaceLogRegistrationEvents.put(c, registerCompetitorEvent); } @@ -335,7 +336,7 @@ public class CompetitorProviderCacheInvalidationTest extends AbstractLeaderboard // But now it gets interesting: we're revoking a competitor registration on the race log and assert // that the competitor is gone from the list: final Competitor competitorToRevokeFromRaceLog = compLists[passId].get(2); - raceLog.add(RaceLogEventFactory.INSTANCE.createRevokeEvent(author, passId, competitorOnRaceLogRegistrationEvents.get(competitorToRevokeFromRaceLog), "Test revoking")); + raceLog.add(new RaceLogRevokeEventImpl(author, passId, competitorOnRaceLogRegistrationEvents.get(competitorToRevokeFromRaceLog), "Test revoking")); actualForRaceYellow = new HashSet<>(); // try another time; cache should of course yield an equal result (although // we're not asserting here that the result actually comes from the cache) Util.addAll(competitorProviderRegattaLeaderboard.getAllCompetitors( diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java index 49a4594eb01..eb4db1419bc 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java @@ -1213,11 +1213,11 @@ public class LeaderboardScoringAndRankingTest extends AbstractLeaderboardTest { assertEquals(new Double(18), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[1], later)); assertEquals(new Double(2), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[9], later)); RaceLog raceLogForRace2 = leaderboardHighPoint10Or8AndLastBreaksTie.getRaceColumnByName("R2").getRaceLog(leaderboardHighPoint10Or8AndLastBreaksTie.getFleet(null)); - raceLogForRace2.add(new RaceLogAdditionalScoringInformationEventImpl(now, new LogEventAuthorImpl("Plopp", 1), later, "12345678", Collections.emptyList(), 0, AdditionalScoringInformationType.UNKNOWN)); + raceLogForRace2.add(new RaceLogAdditionalScoringInformationEventImpl(now, later, new LogEventAuthorImpl("Plopp", 1), "12345678", Collections.emptyList(), 0, AdditionalScoringInformationType.UNKNOWN)); assertEquals(new Double(20), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[0], later)); assertEquals(new Double(18), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[1], later)); assertEquals(new Double(2), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[9], later)); - raceLogForRace2.add(new RaceLogAdditionalScoringInformationEventImpl(now, new LogEventAuthorImpl("Plopp", 1), later.plus(Duration.ONE_MINUTE), "123456789873773762", Collections.emptyList(), 0, AdditionalScoringInformationType.MAX_POINTS_DECREASE_MAX_SCORE)); + raceLogForRace2.add(new RaceLogAdditionalScoringInformationEventImpl(now, later.plus(Duration.ONE_MINUTE), new LogEventAuthorImpl("Plopp", 1), "123456789873773762", Collections.emptyList(), 0, AdditionalScoringInformationType.MAX_POINTS_DECREASE_MAX_SCORE)); assertEquals(new Double(18), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[0], later)); assertEquals(new Double(16), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[1], later)); assertEquals(new Double(2), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[9], later)); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadDeviceIdentifierTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadDeviceIdentifierTest.java index 6929cd0e4ad..ccc0a758f12 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadDeviceIdentifierTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadDeviceIdentifierTest.java @@ -15,8 +15,8 @@ import com.mongodb.MongoException; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceCompetitorMappingEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.impl.CompetitorImpl; @@ -83,8 +83,8 @@ public class StoreAndLoadDeviceIdentifierTest extends AbstractMongoDBTest { createFactories(forStoring); Competitor c = new CompetitorImpl("a", "a", null, null, null, null, null, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); - raceLog.add(RaceLogEventFactory.INSTANCE.createDeviceCompetitorMappingEvent(now(), author, device, - c, 0, now(), now())); + raceLog.add(new RaceLogDeviceCompetitorMappingEventImpl(now(), author, 0, + c, device, now(), now())); createFactories(forLoading); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java index ac1c218881a..af607ad1e5f 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java @@ -22,18 +22,29 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseAreaChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventRestoreFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogPassChangeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogRaceStatusEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogRevokeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseAreaChangeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPassChangeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRaceStatusEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRevokeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogCloseOpenEndedDeviceMappingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDenoteForTrackingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceCompetitorMappingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceMarkMappingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogRegisterCompetitorEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogCloseOpenEndedDeviceMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDefineMarkEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDenoteForTrackingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceMarkMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogRegisterCompetitorEventImpl; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.DomainFactory; @@ -58,8 +69,7 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { .getMongoObjectFactory(getMongoService(), new MockSmartphoneImeiServiceFinderFactory()); protected DomainObjectFactoryImpl domainFactory = (DomainObjectFactoryImpl) PersistenceFactory.INSTANCE .getDomainObjectFactory(getMongoService(), DomainFactory.INSTANCE, - new MockSmartphoneImeiServiceFinderFactory()); - protected RaceLogEventRestoreFactory eventFactory = RaceLogEventRestoreFactory.INSTANCE; + new MockSmartphoneImeiServiceFinderFactory()); protected RaceLogIdentifier logIdentifier; @@ -76,7 +86,8 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { @Before public void setUp() { logIdentifier = mock(RaceLogIdentifier.class); - when(logIdentifier.getIdentifier()).thenReturn(new com.sap.sse.common.Util.Triple("a", "b", UUID.randomUUID().toString())); + when(logIdentifier.getIdentifier()).thenReturn( + new com.sap.sse.common.Util.Triple("a", "b", UUID.randomUUID().toString())); } public void assertBaseFields(RaceLogEvent expectedEvent, RaceLogEvent actualEvent) { @@ -87,15 +98,15 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { assertEquals(expectedEvent.getInvolvedBoats().size(), Util.size(actualEvent.getInvolvedBoats())); assertEquals(expectedEvent.getPassId(), actualEvent.getPassId()); } - - @Test + + @Test public void testStoreEventWithoutAuthorLoadsCompatibilityAuthor() { - RaceLogFlagEvent expectedEvent = eventFactory.createFlagEvent(expectedEventTime, - null, expectedId, expectedInvolvedBoats, expectedPassId, Flags.NONE, Flags.NONE, true); + RaceLogFlagEvent expectedEvent = new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), expectedEventTime, null, + expectedId, expectedInvolvedBoats, expectedPassId, Flags.NONE, Flags.NONE, true); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogFlagEvent actualEvent = loadEvent(dbObject); - + assertNull(expectedEvent.getAuthor()); assertNotNull(actualEvent.getAuthor()); assertEquals(AbstractLogEventAuthor.PRIORITY_COMPATIBILITY, actualEvent.getAuthor().getPriority()); @@ -108,7 +119,7 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { Flags lowerFlag = Flags.BRAVO; boolean isDisplayed = true; - RaceLogFlagEvent expectedEvent = eventFactory.createFlagEvent(expectedEventTime, + RaceLogFlagEvent expectedEvent = new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), expectedEventTime, author, expectedId, expectedInvolvedBoats, expectedPassId, upperFlag, lowerFlag, isDisplayed); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); @@ -124,7 +135,7 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { public void testStoreAndLoadCourseAreaChangedEvent() { Serializable courseAreaId = UUID.randomUUID(); - RaceLogCourseAreaChangedEvent expectedEvent = eventFactory.createCourseAreaChangedEvent( + RaceLogCourseAreaChangedEvent expectedEvent = new RaceLogCourseAreaChangeEventImpl(MillisecondsTimePoint.now(), expectedEventTime, author, expectedId, expectedInvolvedBoats, expectedPassId, courseAreaId); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); @@ -136,8 +147,8 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { @Test public void testStoreAndLoadPassChangeEvent() { - RaceLogPassChangeEvent expectedEvent = eventFactory.createPassChangeEvent(expectedEventTime, - author, expectedId, expectedInvolvedBoats, expectedPassId); + RaceLogPassChangeEvent expectedEvent = new RaceLogPassChangeEventImpl(MillisecondsTimePoint.now(), + expectedEventTime, author, expectedId, expectedInvolvedBoats, expectedPassId); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogPassChangeEvent actualEvent = loadEvent(dbObject); @@ -148,8 +159,8 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { @Test public void testStoreAndLoadRaceStatusEvent() { RaceLogRaceStatus status = RaceLogRaceStatus.SCHEDULED; - RaceLogRaceStatusEvent expectedEvent = eventFactory.createRaceStatusEvent(expectedEventTime, - author, expectedId, expectedInvolvedBoats, expectedPassId, status); + RaceLogRaceStatusEvent expectedEvent = new RaceLogRaceStatusEventImpl(MillisecondsTimePoint.now(), + expectedEventTime, author, expectedId, expectedPassId, status); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogRaceStatusEvent actualEvent = loadEvent(dbObject); @@ -161,8 +172,8 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { @Test public void testStoreAndLoadStartTimeEvent() { TimePoint startTime = new MillisecondsTimePoint(1337); - RaceLogStartTimeEvent expectedEvent = eventFactory.createStartTimeEvent(expectedEventTime, - author, expectedId, expectedInvolvedBoats, expectedPassId, startTime); + RaceLogStartTimeEvent expectedEvent = new RaceLogStartTimeEventImpl(MillisecondsTimePoint.now(), + expectedEventTime, author, expectedId, expectedPassId, startTime); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogStartTimeEvent actualEvent = loadEvent(dbObject); @@ -178,8 +189,9 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { null, /* timeOnDistanceAllowancePerNauticalMile */null); TimePoint from = new MillisecondsTimePoint(20); TimePoint to = new MillisecondsTimePoint(30); - RaceLogDeviceCompetitorMappingEvent expectedEvent = eventFactory.createDeviceCompetitorMappingEvent( - expectedEventTime, author, expectedEventTime, expectedId, device, mappedTo, expectedPassId, from, to); + RaceLogDeviceCompetitorMappingEvent expectedEvent = new RaceLogDeviceCompetitorMappingEventImpl( + expectedEventTime, expectedEventTime, author, expectedId, expectedPassId, + mappedTo, device, from, to); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogDeviceCompetitorMappingEvent actualEvent = loadEvent(dbObject); @@ -197,8 +209,9 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { Mark mappedTo = DomainFactory.INSTANCE.getOrCreateMark("abc", "abc"); TimePoint from = new MillisecondsTimePoint(20); TimePoint to = new MillisecondsTimePoint(30); - RaceLogDeviceMarkMappingEvent expectedEvent = eventFactory.createDeviceMarkMappingEvent( - expectedEventTime, author, expectedEventTime, expectedId, device, mappedTo, expectedPassId, from, to); + RaceLogDeviceMarkMappingEvent expectedEvent = new RaceLogDeviceMarkMappingEventImpl( + expectedEventTime, expectedEventTime, author, expectedId, expectedPassId, + mappedTo, device, from, to); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogDeviceMarkMappingEvent actualEvent = loadEvent(dbObject); @@ -212,12 +225,12 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { @Test public void testStoreAndLoadDenoteForTrackingEvent() { - String raceName = "race"; - BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("49er"); - UUID raceId = UUID.randomUUID(); - RaceLogDenoteForTrackingEvent expectedEvent = eventFactory.createDenoteForTrackingEvent( - expectedEventTime, author, expectedEventTime, expectedId, expectedPassId, raceName, boatClass, - raceId); + String raceName = "race"; + BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("49er"); + UUID raceId = UUID.randomUUID(); + RaceLogDenoteForTrackingEvent expectedEvent = new RaceLogDenoteForTrackingEventImpl( + expectedEventTime, expectedEventTime, author, expectedId, expectedPassId, + raceName, boatClass, raceId); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogDenoteForTrackingEvent actualEvent = loadEvent(dbObject); @@ -234,9 +247,8 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { String revokedEventType = "type"; String revokedEventShortInfo = "short info"; String reason = "reason"; - RaceLogRevokeEvent expectedEvent = eventFactory.createRevokeEvent( - expectedEventTime, author, expectedEventTime, expectedId, expectedPassId, revokedEventId, - revokedEventType, revokedEventShortInfo, reason); + RaceLogRevokeEvent expectedEvent = new RaceLogRevokeEventImpl(expectedEventTime, expectedEventTime, author, + expectedId, expectedPassId, revokedEventId, revokedEventType, revokedEventShortInfo, reason); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogRevokeEvent actualEvent = loadEvent(dbObject); @@ -250,10 +262,10 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { @Test public void testStoreAndLoadRegisterCompetitorEvent() { - RaceLogRegisterCompetitorEvent expectedEvent = eventFactory.createRegisterCompetitorEvent( - expectedEventTime, author, expectedEventTime, expectedId, expectedPassId, - DomainFactory.INSTANCE.getOrCreateCompetitor("comp", "comp", null, null, null, null, null, - /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null)); + RaceLogRegisterCompetitorEvent expectedEvent = new RaceLogRegisterCompetitorEventImpl(expectedEventTime, + expectedEventTime, author, expectedId, expectedPassId, DomainFactory.INSTANCE.getOrCreateCompetitor( + "comp", "comp", null, null, null, null, null, + /* timeOnTimeFactor */null, /* timeOnDistanceAllowancePerNauticalMile */null)); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogRegisterCompetitorEvent actualEvent = loadEvent(dbObject); @@ -264,9 +276,9 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { @Test public void testStoreAndLoadDefineMarkEvent() { - RaceLogDefineMarkEvent expectedEvent = eventFactory.createDefineMarkEvent( - expectedEventTime, author, expectedEventTime, expectedId, expectedPassId, - DomainFactory.INSTANCE.getOrCreateMark("mytestmark")); + RaceLogDefineMarkEvent expectedEvent = new RaceLogDefineMarkEventImpl(MillisecondsTimePoint.now(), + expectedEventTime, author, expectedId, expectedPassId, + DomainFactory.INSTANCE.getOrCreateMark("mytestmark")); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogDefineMarkEvent actualEvent = loadEvent(dbObject); @@ -277,9 +289,9 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { @Test public void testStoreAndLoadCloseOpenDeviceMappingEvent() { - RaceLogCloseOpenEndedDeviceMappingEvent expectedEvent = eventFactory.createCloseOpenEndedDeviceMappingEvent( - expectedEventTime, author, expectedEventTime, expectedId, expectedPassId, - UUID.randomUUID(), new MillisecondsTimePoint(49)); + RaceLogCloseOpenEndedDeviceMappingEvent expectedEvent = new RaceLogCloseOpenEndedDeviceMappingEventImpl( + expectedEventTime, expectedEventTime, author, expectedId, expectedPassId, UUID.randomUUID(), + new MillisecondsTimePoint(49)); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogCloseOpenEndedDeviceMappingEvent actualEvent = loadEvent(dbObject); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogsTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogsTest.java index d9740110b41..29a4ca0e115 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogsTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogsTest.java @@ -15,8 +15,8 @@ import com.mongodb.DBObject; import com.mongodb.MongoException; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.Fleet; @@ -36,7 +36,6 @@ public class StoreAndLoadRaceLogsTest extends AbstractMongoDBTest { .getMongoObjectFactory(getMongoService()); protected DomainObjectFactoryImpl domainFactory = (DomainObjectFactoryImpl) PersistenceFactory.INSTANCE .getDomainObjectFactory(getMongoService(), DomainFactory.INSTANCE); - protected RaceLogEventFactory eventFactory = RaceLogEventFactory.INSTANCE; public StoreAndLoadRaceLogsTest() throws UnknownHostException, MongoException { super(); @@ -99,7 +98,7 @@ public class StoreAndLoadRaceLogsTest extends AbstractMongoDBTest { } private RaceLogFlagEvent createRaceLogFlagEvent(Serializable id) { - return eventFactory.createFlagEvent(new MillisecondsTimePoint(42), new LogEventAuthorImpl("Test author", /* priority */ 1), id, Collections. emptyList(), + return new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), new MillisecondsTimePoint(42), new LogEventAuthorImpl("Test author", /* priority */ 1), id, Collections. emptyList(), 42, Flags.ALPHA, Flags.BRAVO, true); } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreGPSFixTrackTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreGPSFixTrackTest.java index ce41d3e48d2..c281b7d4f4c 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreGPSFixTrackTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreGPSFixTrackTest.java @@ -13,8 +13,9 @@ import com.mongodb.MongoException; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceMarkMappingEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.Mark; @@ -86,8 +87,8 @@ public class StoreGPSFixTrackTest extends AbstractMongoDBTest { store.storeFix(device2, fix4); RaceLog raceLog = new RaceLogImpl("racelog"); - raceLog.add(RaceLogEventFactory.INSTANCE.createDeviceCompetitorMappingEvent(time0, author, device1, comp, 0, time0, time1)); - raceLog.add(RaceLogEventFactory.INSTANCE.createDeviceMarkMappingEvent(time0, author, device2, mark, 0, time0, time1)); + raceLog.add(new RaceLogDeviceCompetitorMappingEventImpl(time0, author, 0, comp, device1, time0, time1)); + raceLog.add(new RaceLogDeviceMarkMappingEventImpl(time0, author, 0, mark, device2, time0, time1)); DynamicGPSFixMovingTrackImpl track1 = new DynamicGPSFixMovingTrackImpl<>(comp, 0); store.loadCompetitorTrack(track1, raceLog, comp); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestRaceLogRemovalInRegatta.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestRaceLogRemovalInRegatta.java index 1359256c846..ecf424c8071 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestRaceLogRemovalInRegatta.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestRaceLogRemovalInRegatta.java @@ -10,9 +10,10 @@ import org.junit.Test; import com.mongodb.MongoException; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogProtestStartTimeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogProtestStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.impl.FleetImpl; @@ -50,9 +51,9 @@ public class TestRaceLogRemovalInRegatta extends AbstractTestStoringAndRetrievin Fleet blueFleet = qualification.getFleetByName(blueFleetName); RaceLog yellowLog = qualification.getRaceColumnByName(raceColumnName).getRaceLog(yellowFleet); RaceLog blueLog = qualification.getRaceColumnByName(raceColumnName).getRaceLog(blueFleet); - RaceLogProtestStartTimeEvent expectedEventYellow = RaceLogEventFactory.INSTANCE.createProtestStartTimeEvent(now, author, 0, MillisecondsTimePoint.now()); + RaceLogProtestStartTimeEvent expectedEventYellow = new RaceLogProtestStartTimeEventImpl(now, author, 0, MillisecondsTimePoint.now()); yellowLog.add(expectedEventYellow); - RaceLogStartTimeEvent expectedEventBlue = RaceLogEventFactory.INSTANCE.createStartTimeEvent(now, author, 0, MillisecondsTimePoint.now()); + RaceLogStartTimeEvent expectedEventBlue = new RaceLogStartTimeEventImpl(now, author, 0, MillisecondsTimePoint.now()); blueLog.add(expectedEventBlue); // these events are now expected to be stored persistently in the race log store //getLastError() is now deprecated - seems to run fine without (at least locally) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogEventData.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogEventData.java index 83a2898c51a..2c738aa2199 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogEventData.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogEventData.java @@ -14,8 +14,8 @@ import com.mongodb.DBObject; import com.mongodb.MongoException; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.persistence.PersistenceFactory; import com.sap.sailing.domain.persistence.impl.DomainObjectFactoryImpl; @@ -71,7 +71,7 @@ public class TestStoringAndRetrievingRaceLogEventData extends AbstractMongoDBTes @Test public void storeRaceLogFlagEvent() throws UnknownHostException, MongoException, InterruptedException { TimePoint now = MillisecondsTimePoint.now(); - RaceLogFlagEvent rcEvent = RaceLogEventFactory.INSTANCE.createFlagEvent(now, author, 0, Flags.AP, Flags.ALPHA, true); + RaceLogFlagEvent rcEvent = new RaceLogFlagEventImpl(now, author, 0, Flags.AP, Flags.ALPHA, true); { DBObject rcEventForMongo = ((MongoObjectFactoryImpl) PersistenceFactory.INSTANCE.getDefaultMongoObjectFactory()) .storeRaceLogFlagEvent(rcEvent); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogInLeaderboards.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogInLeaderboards.java index 2eefda7a85f..483deeae753 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogInLeaderboards.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogInLeaderboards.java @@ -27,7 +27,6 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogCourseAreaChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogDependentStartTimeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningListChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; @@ -41,7 +40,21 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier; import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultsImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseAreaChangeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseDesignChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogDependentStartTimeEventImpl; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventComparator; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningConfirmedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningListChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogGateLineOpeningTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPassChangeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPathfinderEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogProtestStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRaceStatusEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartProcedureChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogWindFixEventImpl; import com.sap.sailing.domain.abstractlog.race.impl.SimpleRaceLogIdentifierImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.CourseBase; @@ -107,7 +120,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogProtestStartTimeEvent() { - RaceLogProtestStartTimeEvent expectedEvent = RaceLogEventFactory.INSTANCE.createProtestStartTimeEvent(now, author, 0, MillisecondsTimePoint.now()); + RaceLogProtestStartTimeEvent expectedEvent = new RaceLogProtestStartTimeEventImpl(now, author, 0, MillisecondsTimePoint.now()); addAndStoreRaceLogEvent(leaderboard, raceColumnName, expectedEvent); RaceLog loadedRaceLog = retrieveRaceLog(); loadedRaceLog.lockForRead(); @@ -126,7 +139,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testThatRemoveRaceColumnAlsoRemovesPersistentRaceLog() { - RaceLogProtestStartTimeEvent expectedEvent = RaceLogEventFactory.INSTANCE.createProtestStartTimeEvent(now, author, 0, MillisecondsTimePoint.now()); + RaceLogProtestStartTimeEvent expectedEvent = new RaceLogProtestStartTimeEventImpl(now, author, 0, MillisecondsTimePoint.now()); Fleet defaultFleet = leaderboard.getFleet(null); RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); raceColumn.getRaceLog(defaultFleet).add(expectedEvent); @@ -152,7 +165,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD when(service.getMongoObjectFactory()).thenReturn(mongoObjectFactory); when(service.getLeaderboardByName(leaderboardName)).thenReturn(leaderboard); doCallRealMethod().when(service).renameLeaderboardColumn(Matchers.anyString(), Matchers.anyString(), Matchers.anyString()); - RaceLogProtestStartTimeEvent expectedEvent = RaceLogEventFactory.INSTANCE.createProtestStartTimeEvent(now, author, 0, MillisecondsTimePoint.now()); + RaceLogProtestStartTimeEvent expectedEvent = new RaceLogProtestStartTimeEventImpl(now, author, 0, MillisecondsTimePoint.now()); Fleet defaultFleet = leaderboard.getFleet(null); RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); raceColumn.getRaceLog(defaultFleet).add(expectedEvent); @@ -195,7 +208,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogStartProcedureChangedEvent() { - RaceLogStartProcedureChangedEvent expectedEvent = RaceLogEventFactory.INSTANCE.createStartProcedureChangedEvent(now, author, 0, RacingProcedureType.ESS); + RaceLogStartProcedureChangedEvent expectedEvent = new RaceLogStartProcedureChangedEventImpl(now, author, 0, RacingProcedureType.ESS); addAndStoreRaceLogEvent(leaderboard, raceColumnName, expectedEvent); @@ -217,7 +230,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogGateLineOpeningTimeEvent() { - RaceLogGateLineOpeningTimeEvent expectedEvent = RaceLogEventFactory.INSTANCE.createGateLineOpeningTimeEvent(now, author, 0, 1234l, 54321l); + RaceLogGateLineOpeningTimeEvent expectedEvent = new RaceLogGateLineOpeningTimeEventImpl(now, author, 0, 1234l, 54321l); addAndStoreRaceLogEvent(leaderboard, raceColumnName, expectedEvent); @@ -239,7 +252,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogPathfinderEvent() { - RaceLogPathfinderEvent expectedEvent = RaceLogEventFactory.INSTANCE.createPathfinderEvent(now, author, 0, "GER 20"); + RaceLogPathfinderEvent expectedEvent = new RaceLogPathfinderEventImpl(now, author, 0, "GER 20"); addAndStoreRaceLogEvent(leaderboard, raceColumnName, expectedEvent); @@ -261,7 +274,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogPassChangeEvent() { - RaceLogPassChangeEvent event = RaceLogEventFactory.INSTANCE.createPassChangeEvent(now, author, 0); + RaceLogPassChangeEvent event = new RaceLogPassChangeEventImpl(now, author, 0); addAndStoreRaceLogEvent(leaderboard, raceColumnName, event); @@ -288,7 +301,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD CompetitorResults storedPositioningList = new CompetitorResultsImpl(); storedPositioningList.add(new com.sap.sse.common.Util.Triple(storedCompetitor.getId(), storedCompetitor.getName(), MaxPointsReason.NONE)); - RaceLogFinishPositioningConfirmedEvent event = RaceLogEventFactory.INSTANCE.createFinishPositioningConfirmedEvent(now, author, 0, storedPositioningList); + RaceLogFinishPositioningConfirmedEvent event = new RaceLogFinishPositioningConfirmedEventImpl(now, author, 0, storedPositioningList); addAndStoreRaceLogEvent(leaderboard, raceColumnName, event); @@ -309,7 +322,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithBackwardsCompatibleRaceLogFinishPositioningConfirmedEvent() { - RaceLogFinishPositioningConfirmedEvent event = RaceLogEventFactory.INSTANCE.createFinishPositioningConfirmedEvent(now, author, 0, null); + RaceLogFinishPositioningConfirmedEvent event = new RaceLogFinishPositioningConfirmedEventImpl(now, author, 0, null); createAndStoreOldRaceLogFinishPositioningConfirmedEventDBEntry(); @@ -358,7 +371,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD CompetitorResults storedPositioningList = new CompetitorResultsImpl(); storedPositioningList.add(new com.sap.sse.common.Util.Triple(storedCompetitor.getId(), storedCompetitor.getName(), MaxPointsReason.NONE)); - RaceLogFinishPositioningListChangedEvent event = RaceLogEventFactory.INSTANCE.createFinishPositioningListChangedEvent(now, author, 0, storedPositioningList); + RaceLogFinishPositioningListChangedEvent event = new RaceLogFinishPositioningListChangedEventImpl(now, author, 0, storedPositioningList); addAndStoreRaceLogEvent(leaderboard, raceColumnName, event); @@ -385,7 +398,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogCourseAreaChangeEvent() { final UUID uuid = UUID.randomUUID(); - RaceLogCourseAreaChangedEvent event = RaceLogEventFactory.INSTANCE.createCourseAreaChangedEvent(now, author, 0, uuid); + RaceLogCourseAreaChangedEvent event = new RaceLogCourseAreaChangeEventImpl(now, author, 0, uuid); addAndStoreRaceLogEvent(leaderboard, raceColumnName, event); @@ -409,7 +422,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogRaceStatusEvent() { - RaceLogRaceStatusEvent event = RaceLogEventFactory.INSTANCE.createRaceStatusEvent(now, author, 0, RaceLogRaceStatus.SCHEDULED); + RaceLogRaceStatusEvent event = new RaceLogRaceStatusEventImpl(now, author, 0, RaceLogRaceStatus.SCHEDULED); addAndStoreRaceLogEvent(leaderboard, raceColumnName, event); @@ -432,7 +445,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogStartTimeEvent() { - RaceLogStartTimeEvent event = RaceLogEventFactory.INSTANCE.createStartTimeEvent(now, author, 0, now); + RaceLogStartTimeEvent event = new RaceLogStartTimeEventImpl(now, author, 0, now); addAndStoreRaceLogEvent(leaderboard, raceColumnName, event); @@ -456,7 +469,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogFlagEvent() { - RaceLogFlagEvent event = RaceLogEventFactory.INSTANCE.createFlagEvent(now, author, 0, Flags.FIRSTSUBSTITUTE, Flags.NONE, true); + RaceLogFlagEvent event = new RaceLogFlagEventImpl(now, author, 0, Flags.FIRSTSUBSTITUTE, Flags.NONE, true); addAndStoreRaceLogEvent(leaderboard, raceColumnName, event); @@ -480,7 +493,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogCourseDesignChangedEvent() { CourseBase course = createCourseBase(); - RaceLogCourseDesignChangedEvent event = RaceLogEventFactory.INSTANCE.createCourseDesignChangedEvent(now, author, 0, course); + RaceLogCourseDesignChangedEvent event = new RaceLogCourseDesignChangedEventImpl(now, author, 0, course); addAndStoreRaceLogEvent(leaderboard, raceColumnName, event); @@ -503,7 +516,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogWindFixEvent() { Wind wind = createWindFix(); - RaceLogWindFixEvent event = RaceLogEventFactory.INSTANCE.createWindFixEvent(now, author, 0, wind, /* isMagnetic */ false); + RaceLogWindFixEvent event = new RaceLogWindFixEventImpl(now, author, 0, wind, /* isMagnetic */ false); addAndStoreRaceLogEvent(leaderboard, raceColumnName, event); RaceLog loadedRaceLog = retrieveRaceLog(); loadedRaceLog.lockForRead(); @@ -527,7 +540,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD final String COLUMN = "column"; final String FLEET = "fleet"; final SimpleRaceLogIdentifier srli = new SimpleRaceLogIdentifierImpl(PARENT, COLUMN, FLEET); - RaceLogDependentStartTimeEvent event = RaceLogEventFactory.INSTANCE.createDependentStartTimeEvent( + RaceLogDependentStartTimeEvent event = new RaceLogDependentStartTimeEventImpl( now, author, 0, srli, Duration.ONE_MINUTE); addAndStoreRaceLogEvent(leaderboard, raceColumnName, event); RaceLog loadedRaceLog = retrieveRaceLog(); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogInRegatta.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogInRegatta.java index cd61dca59f0..dea3c3d63e4 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogInRegatta.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingRaceLogInRegatta.java @@ -20,7 +20,6 @@ import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseAreaChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningListChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; @@ -33,6 +32,19 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogStartProcedureChangedEvent import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultsImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseAreaChangeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseDesignChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningConfirmedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningListChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogGateLineOpeningTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPassChangeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPathfinderEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogProtestStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRaceStatusEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartProcedureChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogWindFixEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.CourseBase; import com.sap.sailing.domain.base.DomainFactory; @@ -84,7 +96,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithRaceLogProtestStartTimeEvent() { - RaceLogProtestStartTimeEvent expectedEvent = RaceLogEventFactory.INSTANCE.createProtestStartTimeEvent(now, author, 0, MillisecondsTimePoint.now()); + RaceLogProtestStartTimeEvent expectedEvent = new RaceLogProtestStartTimeEventImpl(now, author, 0, MillisecondsTimePoint.now()); addAndStoreRaceLogEvent(regatta, raceColumnName, expectedEvent); RaceLog loadedRaceLog = retrieveRaceLog(); loadedRaceLog.lockForRead(); @@ -103,7 +115,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithRaceLogStartProcedureChangedEvent() { - RaceLogStartProcedureChangedEvent expectedEvent = RaceLogEventFactory.INSTANCE.createStartProcedureChangedEvent(now, author, 0, RacingProcedureType.ESS); + RaceLogStartProcedureChangedEvent expectedEvent = new RaceLogStartProcedureChangedEventImpl(now, author, 0, RacingProcedureType.ESS); addAndStoreRaceLogEvent(regatta, raceColumnName, expectedEvent); RaceLog loadedRaceLog = retrieveRaceLog(); loadedRaceLog.lockForRead(); @@ -122,7 +134,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithRaceLogPathfinderEvent() { - RaceLogPathfinderEvent expectedEvent = RaceLogEventFactory.INSTANCE.createPathfinderEvent(now, author, 0, "GER 20"); + RaceLogPathfinderEvent expectedEvent = new RaceLogPathfinderEventImpl(now, author, 0, "GER 20"); addAndStoreRaceLogEvent(regatta, raceColumnName, expectedEvent); @@ -144,7 +156,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithRaceLogGateLineOpeningTimeEvent() { - RaceLogGateLineOpeningTimeEvent expectedEvent = RaceLogEventFactory.INSTANCE.createGateLineOpeningTimeEvent(now, author, 0, 1234l, 54321l); + RaceLogGateLineOpeningTimeEvent expectedEvent = new RaceLogGateLineOpeningTimeEventImpl(now, author, 0, 1234l, 54321l); addAndStoreRaceLogEvent(regatta, raceColumnName, expectedEvent); @@ -166,7 +178,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithRaceLogPassChangeEvent() { - RaceLogPassChangeEvent event = RaceLogEventFactory.INSTANCE.createPassChangeEvent(now, author, 0); + RaceLogPassChangeEvent event = new RaceLogPassChangeEventImpl(now, author, 0); addAndStoreRaceLogEvent(regatta, raceColumnName, event); @@ -192,7 +204,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin CompetitorResults storedPositioningList = new CompetitorResultsImpl(); storedPositioningList.add(new com.sap.sse.common.Util.Triple(storedCompetitor.getId(), storedCompetitor.getName(), MaxPointsReason.NONE)); - RaceLogFinishPositioningListChangedEvent event = RaceLogEventFactory.INSTANCE.createFinishPositioningListChangedEvent(now, author, 0, storedPositioningList); + RaceLogFinishPositioningListChangedEvent event = new RaceLogFinishPositioningListChangedEventImpl(now, author, 0, storedPositioningList); addAndStoreRaceLogEvent(regatta, raceColumnName, event); @@ -223,7 +235,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin CompetitorResults storedPositioningList = new CompetitorResultsImpl(); storedPositioningList.add(new com.sap.sse.common.Util.Triple(storedCompetitor.getId(), storedCompetitor.getName(), MaxPointsReason.NONE)); - RaceLogFinishPositioningConfirmedEvent event = RaceLogEventFactory.INSTANCE.createFinishPositioningConfirmedEvent(now, author, 0, storedPositioningList); + RaceLogFinishPositioningConfirmedEvent event = new RaceLogFinishPositioningConfirmedEventImpl(now, author, 0, storedPositioningList); addAndStoreRaceLogEvent(regatta, raceColumnName, event); @@ -249,7 +261,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithBackwardsCompatibleRaceLogFinishPositioningConfirmedEvent() { - RaceLogFinishPositioningConfirmedEvent event = RaceLogEventFactory.INSTANCE.createFinishPositioningConfirmedEvent(now, author, 0, null); + RaceLogFinishPositioningConfirmedEvent event = new RaceLogFinishPositioningConfirmedEventImpl(now, author, 0, null); createAndStoreOldRaceLogFinishPositioningConfirmedEventDBEntry(); @@ -295,7 +307,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithRaceLogCourseAreaChangeEvent() { final UUID uuid = UUID.randomUUID(); - RaceLogCourseAreaChangedEvent event = RaceLogEventFactory.INSTANCE.createCourseAreaChangedEvent(now, author, 0, uuid); + RaceLogCourseAreaChangedEvent event = new RaceLogCourseAreaChangeEventImpl(now, author, 0, uuid); addAndStoreRaceLogEvent(regatta, raceColumnName, event); @@ -318,7 +330,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithRaceLogRaceStatusEvent() { - RaceLogRaceStatusEvent event = RaceLogEventFactory.INSTANCE.createRaceStatusEvent(now, author, 0, RaceLogRaceStatus.SCHEDULED); + RaceLogRaceStatusEvent event = new RaceLogRaceStatusEventImpl(now, author, 0, RaceLogRaceStatus.SCHEDULED); addAndStoreRaceLogEvent(regatta, raceColumnName, event); @@ -341,7 +353,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithRaceLogStartTimeEvent() { - RaceLogStartTimeEvent event = RaceLogEventFactory.INSTANCE.createStartTimeEvent(now, author, 0, now); + RaceLogStartTimeEvent event = new RaceLogStartTimeEventImpl(now, author, 0, now); addAndStoreRaceLogEvent(regatta, raceColumnName, event); @@ -365,7 +377,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithRaceLogFlagEvent() { - RaceLogFlagEvent event = RaceLogEventFactory.INSTANCE.createFlagEvent(now, author, 0, Flags.FIRSTSUBSTITUTE, Flags.NONE, true); + RaceLogFlagEvent event = new RaceLogFlagEventImpl(now, author, 0, Flags.FIRSTSUBSTITUTE, Flags.NONE, true); addAndStoreRaceLogEvent(regatta, raceColumnName, event); @@ -389,7 +401,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithRaceLogCourseDesignChangedEvent() { CourseBase course = createCourseBase(); - RaceLogCourseDesignChangedEvent event = RaceLogEventFactory.INSTANCE.createCourseDesignChangedEvent(now, author, 0, course); + RaceLogCourseDesignChangedEvent event = new RaceLogCourseDesignChangedEventImpl(now, author, 0, course); addAndStoreRaceLogEvent(regatta, raceColumnName, event); @@ -412,7 +424,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends AbstractTestStorin @Test public void testStoreAndRetrieveRegattaWithRaceLogWindFixEvent() { Wind wind = createWindFix(); - RaceLogWindFixEvent event = RaceLogEventFactory.INSTANCE.createWindFixEvent(now, author, 0, wind, /* isMagnetic */ false); + RaceLogWindFixEvent event = new RaceLogWindFixEventImpl(now, author, 0, wind, /* isMagnetic */ false); addAndStoreRaceLogEvent(regatta, raceColumnName, event); diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/impl/LeagueConfigurationJsonDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/impl/LeagueConfigurationJsonDeserializer.java index 42cc2f9e014..4312ba57a14 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/impl/LeagueConfigurationJsonDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/impl/LeagueConfigurationJsonDeserializer.java @@ -1,12 +1,13 @@ package com.sap.sailing.server.gateway.deserialization.impl; +import org.json.simple.JSONObject; + import com.sap.sailing.domain.base.configuration.RacingProcedureConfiguration; import com.sap.sailing.domain.base.configuration.impl.LeagueConfigurationImpl; import com.sap.sailing.domain.base.configuration.procedures.LeagueConfiguration; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; -import org.json.simple.JSONObject; public class LeagueConfigurationJsonDeserializer extends RacingProcedureConfigurationJsonDeserializer implements JsonDeserializer { diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/impl/RegattaConfigurationJsonDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/impl/RegattaConfigurationJsonDeserializer.java index 18b72cdb1c7..3e833c1d68c 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/impl/RegattaConfigurationJsonDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/impl/RegattaConfigurationJsonDeserializer.java @@ -1,5 +1,7 @@ package com.sap.sailing.server.gateway.deserialization.impl; +import org.json.simple.JSONObject; + import com.sap.sailing.domain.base.configuration.RacingProcedureConfiguration; import com.sap.sailing.domain.base.configuration.RegattaConfiguration; import com.sap.sailing.domain.base.configuration.impl.RegattaConfigurationImpl; @@ -12,7 +14,6 @@ import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; import com.sap.sailing.server.gateway.serialization.impl.RegattaConfigurationJsonSerializer; -import org.json.simple.JSONObject; public class RegattaConfigurationJsonDeserializer implements JsonDeserializer { diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/BaseRaceLogEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/BaseRaceLogEventDeserializer.java index 65a7436e45e..e5dd9f40f82 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/BaseRaceLogEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/BaseRaceLogEventDeserializer.java @@ -10,7 +10,6 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventRestoreFactory; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -21,11 +20,9 @@ import com.sap.sse.common.impl.MillisecondsTimePoint; public abstract class BaseRaceLogEventDeserializer implements JsonDeserializer { - protected RaceLogEventRestoreFactory factory; protected JsonDeserializer competitorDeserializer; public BaseRaceLogEventDeserializer(JsonDeserializer competitorDeserializer) { - this.factory = RaceLogEventRestoreFactory.INSTANCE; this.competitorDeserializer = competitorDeserializer; } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogAdditionalScoringInformationEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogAdditionalScoringInformationEventDeserializer.java index ba2b95a78c2..02e9ae93176 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogAdditionalScoringInformationEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogAdditionalScoringInformationEventDeserializer.java @@ -8,6 +8,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType; +import com.sap.sailing.domain.abstractlog.race.scoring.impl.RaceLogAdditionalScoringInformationEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -24,6 +25,6 @@ public class RaceLogAdditionalScoringInformationEventDeserializer extends BaseRa protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { AdditionalScoringInformationType informationType = AdditionalScoringInformationType.valueOf((String)object.get(FIELD_TYPE)); - return factory.createAdditionalScoringInformationEvent(timePoint, id, author, passId, informationType); + return new RaceLogAdditionalScoringInformationEventImpl(createdAt, timePoint, author, id, competitors, passId, informationType); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCloseOpenEndedDeviceMappingEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCloseOpenEndedDeviceMappingEventDeserializer.java index 3c5932810a4..6b5e267c27a 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCloseOpenEndedDeviceMappingEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCloseOpenEndedDeviceMappingEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogCloseOpenEndedDeviceMappingEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -28,7 +29,7 @@ public class RaceLogCloseOpenEndedDeviceMappingEventDeserializer extends BaseRac Serializable deviceMappingEventId = Helpers.tryUuidConversion((Serializable) object.get(FIELD_DEVICE_MAPPING_EVENT_ID)); TimePoint closingTimePoint = new MillisecondsTimePoint((Long) object.get(FIELD_CLOSING_TIMEPOINT_MILLIS)); - return factory.createCloseOpenEndedDeviceMappingEvent(createdAt, author, timePoint, id, passId, + return new RaceLogCloseOpenEndedDeviceMappingEventImpl(createdAt, timePoint, author, id, passId, deviceMappingEventId, closingTimePoint); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseAreaChangedEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseAreaChangedEventDeserializer.java index e7688a762b1..9ca3601fd98 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseAreaChangedEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseAreaChangedEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseAreaChangeEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -24,7 +25,7 @@ public class RaceLogCourseAreaChangedEventDeserializer extends BaseRaceLogEventD protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { Serializable courseAreaId = (Serializable) object.get(RaceLogCourseAreaChangedEventSerializer.FIELD_COURSE_AREA_ID); - return factory.createCourseAreaChangedEvent(createdAt, author, timePoint, id, competitors, + return new RaceLogCourseAreaChangeEventImpl(createdAt, timePoint, author, id, competitors, passId, Helpers.tryUuidConversion(courseAreaId)); } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseDesignChangedEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseDesignChangedEventDeserializer.java index 64ddc3bb8bc..9de131a5a0b 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseDesignChangedEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseDesignChangedEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseDesignChangedEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.CourseBase; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; @@ -31,7 +32,7 @@ public class RaceLogCourseDesignChangedEventDeserializer extends BaseRaceLogEven JSONObject jsonCourseDesign = (JSONObject) object.get(RaceLogCourseDesignChangedEventSerializer.FIELD_COURSE_DESIGN); CourseBase courseData = courseDataDeserializer.deserialize(jsonCourseDesign); - return factory.createCourseDesignChangedEvent(createdAt, author, timePoint, id, competitors, passId, courseData); + return new RaceLogCourseDesignChangedEventImpl(createdAt, timePoint, author, id, competitors, passId, courseData); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDefineMarkEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDefineMarkEventDeserializer.java index 4981ad034b5..257b743f295 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDefineMarkEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDefineMarkEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDefineMarkEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Mark; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; @@ -28,6 +29,6 @@ public class RaceLogDefineMarkEventDeserializer extends BaseRaceLogEventDeserial throws JsonDeserializationException { Mark mark = markDeserializer.deserialize(Helpers.getNestedObjectSafe(object, RaceLogDefineMarkEventSerializer.FIELD_MARK)); - return factory.createDefineMarkEvent(createdAt, author, timePoint, id, passId, mark); + return new RaceLogDefineMarkEventImpl(createdAt, timePoint, author, id, passId, mark); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDenoteForTrackingEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDenoteForTrackingEventDeserializer.java index f8dee80153e..7d38a822d12 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDenoteForTrackingEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDenoteForTrackingEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDenoteForTrackingEventImpl; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.SharedDomainFactory; @@ -31,6 +32,6 @@ public class RaceLogDenoteForTrackingEventDeserializer extends BaseRaceLogEventD (String) object.get(RaceLogDenoteForTrackingEventSerializer.FIELD_BOAT_CLASS)); Serializable raceId = (Serializable) object.get(RaceLogDenoteForTrackingEventSerializer.FIELD_RACE_ID); - return factory.createDenoteForTrackingEvent(createdAt, author, timePoint, id, passId, raceName, boatClass, raceId); + return new RaceLogDenoteForTrackingEventImpl(createdAt, timePoint, author, id, passId, raceName, boatClass, raceId); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDependentStartTimeEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDependentStartTimeEventDeserializer.java index d228dc8d41b..7c7f33633ff 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDependentStartTimeEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDependentStartTimeEventDeserializer.java @@ -9,6 +9,7 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogRaceStatusEvent; import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogDependentStartTimeEventImpl; import com.sap.sailing.domain.abstractlog.race.impl.SimpleRaceLogIdentifierImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; @@ -35,7 +36,7 @@ public class RaceLogDependentStartTimeEventDeserializer extends RaceLogRaceStatu Duration startTimeDifference = new MillisecondsDurationImpl(startTimeDifferenceInMs); RaceLogRaceStatusEvent event = (RaceLogRaceStatusEvent) super.deserialize(object, id, createdAt, author, timePoint, passId, competitors); SimpleRaceLogIdentifier dependentOnRace = new SimpleRaceLogIdentifierImpl(regattaLikeParentName, raceColumnName, fleetName); - return factory.createDependentStartTimeEvent(event.getCreatedAt(), author, event.getLogicalTimePoint(), event.getId(), event.getInvolvedBoats(), + return new RaceLogDependentStartTimeEventImpl(event.getCreatedAt(), event.getLogicalTimePoint(), author, event.getId(), event.getPassId(), dependentOnRace, startTimeDifference, event.getNextStatus()); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDeviceCompetitorMappingEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDeviceCompetitorMappingEventDeserializer.java index f7c196ab536..d89ed2065ba 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDeviceCompetitorMappingEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDeviceCompetitorMappingEventDeserializer.java @@ -6,6 +6,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; @@ -25,8 +26,8 @@ public class RaceLogDeviceCompetitorMappingEventDeserializer extends DeviceIdentifier device, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId) throws JsonDeserializationException { Competitor mappedTo = competitorDeserializer.deserialize(itemObject); - return factory.createDeviceCompetitorMappingEvent(createdAt, author, timePoint, id, device, - mappedTo, passId, from, to); + return new RaceLogDeviceCompetitorMappingEventImpl(createdAt, timePoint, author, id, passId, + mappedTo, device, from, to); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDeviceMarkMappingEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDeviceMarkMappingEventDeserializer.java index 838df5965d6..1823dcbe870 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDeviceMarkMappingEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogDeviceMarkMappingEventDeserializer.java @@ -6,6 +6,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceMarkMappingEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Mark; import com.sap.sailing.domain.racelogtracking.DeviceIdentifier; @@ -29,8 +30,8 @@ public class RaceLogDeviceMarkMappingEventDeserializer extends DeviceIdentifier device, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId) throws JsonDeserializationException { Mark mappedTo = (Mark) markDeserializer.deserialize(itemObject); - return factory.createDeviceMarkMappingEvent(createdAt, author, timePoint, id, device, - mappedTo, passId, from, to); + return new RaceLogDeviceMarkMappingEventImpl(createdAt, timePoint, author, id, passId, + mappedTo, device, from, to); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogEndOfTrackingEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogEndOfTrackingEventDeserializer.java index b438859805b..a618ef45eea 100755 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogEndOfTrackingEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogEndOfTrackingEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEndOfTrackingEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -23,7 +24,7 @@ public class RaceLogEndOfTrackingEventDeserializer extends BaseRaceLogEventDeser protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { - return factory.createEndOfTrackingEvent(timePoint, author, id, competitors, passId); + return new RaceLogEndOfTrackingEventImpl(createdAt, timePoint, author, id, passId); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningConfirmedEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningConfirmedEventDeserializer.java index a7bf33b6121..a2495cbf584 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningConfirmedEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningConfirmedEventDeserializer.java @@ -10,6 +10,7 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.CompetitorResults; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultsImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningConfirmedEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; @@ -32,7 +33,7 @@ public class RaceLogFinishPositioningConfirmedEventDeserializer extends BaseRace JSONArray jsonPositionedCompetitors = Helpers.getNestedArraySafe(object, RaceLogFinishPositioningConfirmedEventSerializer.FIELD_POSITIONED_COMPETITORS); CompetitorResults positionedCompetitors = deserializePositionedCompetitors(jsonPositionedCompetitors); - return factory.createFinishPositioningConfirmedEvent(createdAt, author, timePoint, id, competitors, passId, positionedCompetitors); + return new RaceLogFinishPositioningConfirmedEventImpl(createdAt, timePoint, author, id, competitors, passId, positionedCompetitors); } private CompetitorResults deserializePositionedCompetitors(JSONArray jsonPositionedCompetitors) throws JsonDeserializationException { diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningListChangedEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningListChangedEventDeserializer.java index b3755b03bdc..bacc88d8fdc 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningListChangedEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningListChangedEventDeserializer.java @@ -10,6 +10,7 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.CompetitorResults; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultsImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningListChangedEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; @@ -32,7 +33,7 @@ public class RaceLogFinishPositioningListChangedEventDeserializer extends BaseRa JSONArray jsonPositionedCompetitors = Helpers.getNestedArraySafe(object, RaceLogFinishPositioningListChangedEventSerializer.FIELD_POSITIONED_COMPETITORS); CompetitorResults positionedCompetitors = deserializePositionedCompetitors(jsonPositionedCompetitors); - return factory.createFinishPositioningListChangedEvent(createdAt, author, timePoint, id, competitors, passId, positionedCompetitors); + return new RaceLogFinishPositioningListChangedEventImpl(createdAt, timePoint, author, id, competitors, passId, positionedCompetitors); } private CompetitorResults deserializePositionedCompetitors(JSONArray jsonPositionedCompetitors) throws JsonDeserializationException { diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFixedMarkPassingEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFixedMarkPassingEventDeserializer.java index 7c622a08551..792f0c543aa 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFixedMarkPassingEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFixedMarkPassingEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFixedMarkPassingEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -28,7 +29,7 @@ public class RaceLogFixedMarkPassingEventDeserializer extends BaseRaceLogEventDe Number zeroBasedIndexOfPassedWaypointObj = (Number) object .get(RaceLogFixedMarkPassingEventSerializer.FIELD_INDEX_OF_PASSED_WAYPOINT); Integer zeroBasedIndexOfPassedWaypoint = zeroBasedIndexOfPassedWaypointObj != null ? zeroBasedIndexOfPassedWaypointObj.intValue() : null; - return factory.createFixedMarkPassingEvent(timePoint, author, id, competitors, passId, ofPassing, + return new RaceLogFixedMarkPassingEventImpl(createdAt, timePoint, author, id, competitors, passId, ofPassing, zeroBasedIndexOfPassedWaypoint); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFlagEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFlagEventDeserializer.java index fbb8e0a6f07..da635911ca1 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFlagEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFlagEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -26,7 +27,7 @@ public class RaceLogFlagEventDeserializer extends BaseRaceLogEventDeserializer { Flags lowerFlag = Flags.valueOf(object.get(RaceLogFlagEventSerializer.FIELD_LOWER_FLAG).toString()); boolean isDisplayed = (Boolean) object.get(RaceLogFlagEventSerializer.FIELD_DISPLAYED); - return factory.createFlagEvent(createdAt, author, timePoint, id, competitors, passId, upperFlag, lowerFlag, isDisplayed); + return new RaceLogFlagEventImpl(createdAt, timePoint, author, id, competitors, passId, upperFlag, lowerFlag, isDisplayed); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogGateLineOpeningTimeEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogGateLineOpeningTimeEventDeserializer.java index 2fab762df78..a8de8b7f3d3 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogGateLineOpeningTimeEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogGateLineOpeningTimeEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogGateLineOpeningTimeEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -21,13 +22,16 @@ public class RaceLogGateLineOpeningTimeEventDeserializer extends BaseRaceLogEven } @Override - protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, - int passId, List competitors) throws JsonDeserializationException { - Number gateLaunchTime = (Number) object.get(RaceLogGateLineOpeningTimeEventSerializer.FIELD_GATE_LAUNCH_STOP_TIME); + protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, + AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) + throws JsonDeserializationException { + Number gateLaunchTime = (Number) object + .get(RaceLogGateLineOpeningTimeEventSerializer.FIELD_GATE_LAUNCH_STOP_TIME); Number golfDownTime = 0; if (object.containsKey(RaceLogGateLineOpeningTimeEventSerializer.FIELD_GATE_GOLF_DOWN_TIME)) { golfDownTime = (Number) object.get(RaceLogGateLineOpeningTimeEventSerializer.FIELD_GATE_GOLF_DOWN_TIME); } - return factory.createGateLineOpeningTimeEvent(timePoint, author, id, competitors, passId, gateLaunchTime.longValue(), golfDownTime.longValue()); + return new RaceLogGateLineOpeningTimeEventImpl(createdAt, timePoint, author, id, competitors, passId, + gateLaunchTime.longValue(), golfDownTime.longValue()); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPassChangeEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPassChangeEventDeserializer.java index 0c2d9d0ef5b..aca34aaa9ea 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPassChangeEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPassChangeEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPassChangeEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; import com.sap.sse.common.TimePoint; @@ -19,8 +20,7 @@ public class RaceLogPassChangeEventDeserializer extends BaseRaceLogEventDeserial @Override protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) { - - return factory.createPassChangeEvent(createdAt, author, timePoint, id, competitors, passId); + return new RaceLogPassChangeEventImpl(createdAt, timePoint, author, id, competitors, passId); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPathFinderEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPathFinderEventDeserializer.java index 24c501aa727..e484d7f3668 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPathFinderEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPathFinderEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPathfinderEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -24,7 +25,7 @@ public class RaceLogPathFinderEventDeserializer extends BaseRaceLogEventDeserial protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { String pathfinderId = object.get(RaceLogPathfinderEventSerializer.FIELD_PATHFINDER_ID).toString(); - return factory.createPathfinderEvent(createdAt, author, timePoint, id, competitors, passId, pathfinderId); + return new RaceLogPathfinderEventImpl(createdAt, timePoint, author, id, competitors, passId, pathfinderId); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogProtestStartTimeEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogProtestStartTimeEventDeserializer.java index 754733ffb23..e696f7fe29b 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogProtestStartTimeEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogProtestStartTimeEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogProtestStartTimeEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -24,7 +25,7 @@ public class RaceLogProtestStartTimeEventDeserializer extends BaseRaceLogEventDe protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { Long protestStartTime = (Long) object.get(RaceLogProtestStartTimeEventSerializer.FIELD_PROTEST_START_TIME); - return factory.createProtestStartTimeEvent(createdAt, author, timePoint, id, competitors, + return new RaceLogProtestStartTimeEventImpl(createdAt, timePoint, author, id, competitors, passId, new MillisecondsTimePoint(protestStartTime)); } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRaceStatusEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRaceStatusEventDeserializer.java index d4ecefdefc7..56e05b07e71 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRaceStatusEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRaceStatusEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRaceStatusEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; @@ -25,6 +26,6 @@ public class RaceLogRaceStatusEventDeserializer extends BaseRaceLogEventDeserial throws JsonDeserializationException { String statusValue = object.get(RaceLogRaceStatusEventSerializer.FIELD_NEXT_STATUS).toString(); RaceLogRaceStatus nextStatus = RaceLogRaceStatus.valueOf(statusValue); - return factory.createRaceStatusEvent(createdAt, author, timePoint, id, competitors, passId, nextStatus); + return new RaceLogRaceStatusEventImpl(createdAt, timePoint, author, id, passId, nextStatus); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRegisterCompetitorEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRegisterCompetitorEventDeserializer.java index 53d77180a9b..6272c1e5dbb 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRegisterCompetitorEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRegisterCompetitorEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogRegisterCompetitorEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; import com.sap.sse.common.TimePoint; @@ -20,7 +21,7 @@ public class RaceLogRegisterCompetitorEventDeserializer extends BaseRaceLogEvent @Override protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) { assert competitors.size() == 1 : "Expected exactly one competitor for RegisterCompetitorEvent"; - return factory.createRegisterCompetitorEvent(createdAt, author, timePoint, id, passId, competitors.get(0)); + return new RaceLogRegisterCompetitorEventImpl(createdAt, timePoint, author, id, passId, competitors.get(0)); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRevokeEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRevokeEventDeserializer.java index 26d00d46ea3..5c5eee4033c 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRevokeEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogRevokeEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRevokeEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -28,7 +29,7 @@ public class RaceLogRevokeEventDeserializer extends BaseRaceLogEventDeserializer String revokedEventShortInfo = (String) object.get(RaceLogRevokeEventSerializer.FIELD_REVOKED_EVENT_SHORT_INFO); String reason = (String) object.get(RaceLogRevokeEventSerializer.FIELD_REASON); - return factory.createRevokeEvent(createdAt, author, timePoint, id, passId, revokedEventId, + return new RaceLogRevokeEventImpl(createdAt, timePoint, author, id, passId, revokedEventId, revokedEventType, revokedEventShortInfo, reason); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartOfTrackingEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartOfTrackingEventDeserializer.java index bb067d83d01..7bedce78d09 100755 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartOfTrackingEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartOfTrackingEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartOfTrackingEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -23,7 +24,7 @@ public class RaceLogStartOfTrackingEventDeserializer extends BaseRaceLogEventDes protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { - return factory.createStartOfTrackingEvent(timePoint, author, id, competitors, passId); + return new RaceLogStartOfTrackingEventImpl(createdAt, timePoint, author, id, competitors, passId); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java index 954cbf98acc..feff6705906 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartProcedureChangedEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; @@ -24,7 +25,7 @@ public class RaceLogStartProcedureChangedEventDeserializer extends BaseRaceLogEv protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { RacingProcedureType type = RacingProcedureType.valueOf(object.get(RaceLogStartProcedureChangedEventSerializer.FIELD_START_PROCEDURE_TYPE).toString()); - return factory.createStartProcedureChangedEvent(createdAt, author, timePoint, id, competitors, passId, type); + return new RaceLogStartProcedureChangedEventImpl(createdAt, timePoint, author, id, competitors, passId, type); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTimeEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTimeEventDeserializer.java index 86503eeb308..64c42519fb2 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTimeEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTimeEventDeserializer.java @@ -8,6 +8,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogRaceStatusEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -26,8 +27,7 @@ public class RaceLogStartTimeEventDeserializer extends RaceLogRaceStatusEventDes throws JsonDeserializationException { long startTime = (Long) object.get(RaceLogStartTimeEventSerializer.FIELD_START_TIME); RaceLogRaceStatusEvent event = (RaceLogRaceStatusEvent) super.deserialize(object, id, createdAt, author, timePoint, passId, competitors); - return factory.createStartTimeEvent(event.getCreatedAt(), author, event.getLogicalTimePoint(), event.getId(), event.getInvolvedBoats(), - event.getPassId(), new MillisecondsTimePoint(startTime), event.getNextStatus()); + return new RaceLogStartTimeEventImpl(event.getCreatedAt(), event.getLogicalTimePoint(), author, event.getId(), event.getPassId(), new MillisecondsTimePoint(startTime)); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTrackingEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTrackingEventDeserializer.java index e69461d0de0..b9c59a78447 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTrackingEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTrackingEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogStartTrackingEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -20,6 +21,6 @@ public class RaceLogStartTrackingEventDeserializer extends BaseRaceLogEventDeser @Override protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { - return factory.createStartTrackingEvent(createdAt, author, timePoint, id, passId); + return new RaceLogStartTrackingEventImpl(createdAt, timePoint, author, id, competitors, passId); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogSuppressedMarkPassingsEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogSuppressedMarkPassingsEventDeserializer.java index 0826c463213..124ef6e6352 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogSuppressedMarkPassingsEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogSuppressedMarkPassingsEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogSuppressedMarkPassingsEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; import com.sap.sailing.server.gateway.deserialization.JsonDeserializer; @@ -23,6 +24,6 @@ public class RaceLogSuppressedMarkPassingsEventDeserializer extends BaseRaceLogE protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { Integer indexOfFirstWaypoint = (Integer) object.get(RaceLogSuppressedMarkPassingsEventSerializer.FIELD_INDEX_OF_FIRST_SUPPRESSED_WAYPOINTS); - return factory.createSuppressedMarkPassingsEvent(timePoint, author, id, competitors, passId, indexOfFirstWaypoint); + return new RaceLogSuppressedMarkPassingsEventImpl(createdAt, timePoint, author, id, competitors, passId, indexOfFirstWaypoint); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogWindFixEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogWindFixEventDeserializer.java index 98848155cc9..21b5862cd07 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogWindFixEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogWindFixEventDeserializer.java @@ -7,6 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogWindFixEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.Wind; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; @@ -30,7 +31,7 @@ public class RaceLogWindFixEventDeserializer extends BaseRaceLogEventDeserialize final JSONObject windJsonObject = Helpers.getNestedObjectSafe(object, RaceLogWindFixEventSerializer.FIELD_WIND); final Wind wind = windDeserializer.deserialize(windJsonObject); final Boolean isMagnetic = (Boolean) object.get(RaceLogWindFixEventSerializer.FIELD_MAGNETIC); - return factory.createWindFixEvent(createdAt, author, timePoint, id, competitors, passId, wind, isMagnetic == null ? true : isMagnetic); + return new RaceLogWindFixEventImpl(createdAt, timePoint, author, id, competitors, passId, wind, isMagnetic == null ? true : isMagnetic); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/racelog/impl/RaceLogEventSerializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/racelog/impl/RaceLogEventSerializer.java index b106079a7fc..13b39ac2c7c 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/racelog/impl/RaceLogEventSerializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/racelog/impl/RaceLogEventSerializer.java @@ -2,15 +2,15 @@ package com.sap.sailing.server.gateway.serialization.racelog.impl; import org.json.simple.JSONObject; -import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseAreaChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogDependentStartTimeEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningListChangedEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogGateLineOpeningTimeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogPassChangeEvent; @@ -21,8 +21,8 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogRevokeEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartProcedureChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogSuppressedMarkPassingsEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogCloseOpenEndedDeviceMappingEvent; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/racelog/impl/RaceLogFixedMarkPassingEventSerializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/racelog/impl/RaceLogFixedMarkPassingEventSerializer.java index 7346758cffc..8cb34df4b99 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/racelog/impl/RaceLogFixedMarkPassingEventSerializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/racelog/impl/RaceLogFixedMarkPassingEventSerializer.java @@ -2,8 +2,8 @@ package com.sap.sailing.server.gateway.serialization.racelog.impl; import org.json.simple.JSONObject; -import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.gateway.serialization.JsonSerializer; diff --git a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogCourseDesignChangedEventSerializerTest.java b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogCourseDesignChangedEventSerializerTest.java index 3786e43665b..aa606905231 100644 --- a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogCourseDesignChangedEventSerializerTest.java +++ b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogCourseDesignChangedEventSerializerTest.java @@ -13,7 +13,7 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseDesignChangedEventImpl; import com.sap.sailing.domain.base.ControlPointWithTwoMarks; import com.sap.sailing.domain.base.CourseBase; import com.sap.sailing.domain.base.DomainFactory; @@ -63,7 +63,7 @@ public class RaceLogCourseDesignChangedEventSerializerTest { factory), new GateDeserializer(factory, new MarkDeserializer(factory)))))); now = MillisecondsTimePoint.now(); - event = RaceLogEventFactory.INSTANCE.createCourseDesignChangedEvent(now, author, 0, createCourseData()); + event = new RaceLogCourseDesignChangedEventImpl(now, author, 0, createCourseData()); } @Test diff --git a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogEventSerializerTest.java b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogEventSerializerTest.java index 93d712b2bc2..ac829c9c22d 100644 --- a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogEventSerializerTest.java +++ b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogEventSerializerTest.java @@ -11,8 +11,27 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventRestoreFactory; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseAreaChangeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseDesignChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningConfirmedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningListChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogGateLineOpeningTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPassChangeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogPathfinderEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogProtestStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRaceStatusEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRevokeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartProcedureChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogWindFixEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogCloseOpenEndedDeviceMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDefineMarkEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDenoteForTrackingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceMarkMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogRegisterCompetitorEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogStartTrackingEventImpl; import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sailing.domain.common.racelog.RacingProcedureType; @@ -52,7 +71,6 @@ public class RaceLogEventSerializerTest { private JsonSerializer startOfTrackingEventSerializer; private JsonSerializer endOfTrackingEventSerializer; - private RaceLogEventFactory factory; private AbstractLogEventAuthor author = new LogEventAuthorImpl("Test Author", 1); @SuppressWarnings("unchecked") @@ -97,14 +115,12 @@ public class RaceLogEventSerializerTest { closeOpenEndedDeviceMappingEventSerializer, fixedMarkPassingEventSerializer, suppressedMarkPassingsSerializer, additionalScoringInformationSerializer, dependentStartTimeEventSerializer, startOfTrackingEventSerializer, endOfTrackingEventSerializer); - - factory = RaceLogEventFactory.INSTANCE; } @Test public void testChoosesFlagEventSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createFlagEvent(null, author, 0, null, null, false); + RaceLogEvent event = new RaceLogFlagEventImpl(null, author, 0, null, null, false); serializer.serialize(event); verify(flagEventSerializer).serialize(event); } @@ -112,7 +128,7 @@ public class RaceLogEventSerializerTest { @Test public void testChoosesStartTimeSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createStartTimeEvent(null, author, 0, null); + RaceLogEvent event = new RaceLogStartTimeEventImpl(null, author, 0, null); serializer.serialize(event); verify(startTimeSerializer).serialize(event); } @@ -120,7 +136,7 @@ public class RaceLogEventSerializerTest { @Test public void testChoosesRaceStatusSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createRaceStatusEvent(null, author, 0, RaceLogRaceStatus.SCHEDULED); + RaceLogEvent event = new RaceLogRaceStatusEventImpl(null, author, 0, RaceLogRaceStatus.SCHEDULED); serializer.serialize(event); verify(raceStatusSerializer).serialize(event); } @@ -128,7 +144,7 @@ public class RaceLogEventSerializerTest { @Test public void testChoosesCourseAreaChangedSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createCourseAreaChangedEvent(null, author, 0, null); + RaceLogEvent event = new RaceLogCourseAreaChangeEventImpl(null, author, 0, null); serializer.serialize(event); verify(courseAreaChangedEventSerializer).serialize(event); } @@ -136,7 +152,7 @@ public class RaceLogEventSerializerTest { @Test public void testChoosesPassChangedSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createPassChangeEvent(null, author, 0); + RaceLogEvent event = new RaceLogPassChangeEventImpl(null, author, 0); serializer.serialize(event); verify(passChangedSerializer).serialize(event); } @@ -144,7 +160,7 @@ public class RaceLogEventSerializerTest { @Test public void testChoosesCourseDesignChangedSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createCourseDesignChangedEvent(null, author, 0, null); + RaceLogEvent event = new RaceLogCourseDesignChangedEventImpl(null, author, 0, null); serializer.serialize(event); verify(courseDesignChangedEventSerializer).serialize(event); } @@ -152,7 +168,7 @@ public class RaceLogEventSerializerTest { @Test public void testChoosesFinishPositioningListChangedSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createFinishPositioningListChangedEvent(null, author, 0, null); + RaceLogEvent event = new RaceLogFinishPositioningListChangedEventImpl(null, author, 0, null); serializer.serialize(event); verify(finishPositioningListChangedEventSerializer).serialize(event); } @@ -160,7 +176,7 @@ public class RaceLogEventSerializerTest { @Test public void testChoosesFinishPositioningConfirmedSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createFinishPositioningConfirmedEvent(null, author, 0, null); + RaceLogEvent event = new RaceLogFinishPositioningConfirmedEventImpl(null, author, 0, null); serializer.serialize(event); verify(finishPositioningConfirmedEventSerializer).serialize(event); } @@ -168,7 +184,7 @@ public class RaceLogEventSerializerTest { @Test public void testChoosesPathfinderSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createPathfinderEvent(null, author, 0, "GER 20"); + RaceLogEvent event = new RaceLogPathfinderEventImpl(null, author, 0, "GER 20"); serializer.serialize(event); verify(pathfinderEventSerializer).serialize(event); } @@ -176,7 +192,7 @@ public class RaceLogEventSerializerTest { @Test public void testChoosesGateLineOpeningTimeSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createGateLineOpeningTimeEvent(null, author, 0, 2l, 1l); + RaceLogEvent event = new RaceLogGateLineOpeningTimeEventImpl(null, author, 0, 2l, 1l); serializer.serialize(event); verify(gateLineOpeningTimeEventSerializer).serialize(event); } @@ -184,7 +200,7 @@ public class RaceLogEventSerializerTest { @Test public void testStartProcedureTypeChangedSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createStartProcedureChangedEvent(null, author, 0, RacingProcedureType.ESS); + RaceLogEvent event = new RaceLogStartProcedureChangedEventImpl(null, author, 0, RacingProcedureType.ESS); serializer.serialize(event); verify(startProcedureTypeChangedEventSerializer).serialize(event); } @@ -192,7 +208,7 @@ public class RaceLogEventSerializerTest { @Test public void testProtestStartTimeSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createProtestStartTimeEvent(null, author, 0, null); + RaceLogEvent event = new RaceLogProtestStartTimeEventImpl(null, author, 0, null); serializer.serialize(event); verify(protestStartTimeEventSerializer).serialize(event); } @@ -200,7 +216,7 @@ public class RaceLogEventSerializerTest { @Test public void testWindFixSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createWindFixEvent(null, author, 0, null, /* isMagnetic */ false); + RaceLogEvent event = new RaceLogWindFixEventImpl(null, author, 0, null, /* isMagnetic */ false); serializer.serialize(event); verify(windFixEventSerializer).serialize(event); } @@ -208,7 +224,7 @@ public class RaceLogEventSerializerTest { @Test public void testDeviceCompetitorMappingSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createDeviceCompetitorMappingEvent(null, author, null, null, 0, null, null); + RaceLogEvent event = new RaceLogDeviceCompetitorMappingEventImpl(null, author, 0, null, null, null, null); serializer.serialize(event); verify(deviceCompetitorMappingEventSerializer).serialize(event); } @@ -216,7 +232,7 @@ public class RaceLogEventSerializerTest { @Test public void testDeviceMarkMappingSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createDeviceMarkMappingEvent(null, author, null, null, 0, null, null); + RaceLogEvent event = new RaceLogDeviceMarkMappingEventImpl(null, author, 0, null, null, null, null); serializer.serialize(event); verify(deviceMarkMappingEventSerializer).serialize(event); } @@ -224,7 +240,7 @@ public class RaceLogEventSerializerTest { @Test public void testDenoteForTrackingSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createDenoteForTrackingEvent(null, author, 0, "", null, null); + RaceLogEvent event = new RaceLogDenoteForTrackingEventImpl(null, author, 0, "", null, null); serializer.serialize(event); verify(denoteForTrackingEventSerializer).serialize(event); } @@ -232,7 +248,7 @@ public class RaceLogEventSerializerTest { @Test public void testCreateRaceSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createStartTrackingEvent(null, author, 0); + RaceLogEvent event = new RaceLogStartTrackingEventImpl(null, author, 0); serializer.serialize(event); verify(startTrackingEventSerializer).serialize(event); } @@ -240,8 +256,8 @@ public class RaceLogEventSerializerTest { @Test public void testRevokeEventSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = RaceLogEventRestoreFactory.INSTANCE.createRevokeEvent(MillisecondsTimePoint.now(), author, - MillisecondsTimePoint.now(), 0, 0, UUID.randomUUID(), "type", "short info", "reason"); + RaceLogEvent event = new RaceLogRevokeEventImpl(MillisecondsTimePoint.now(), MillisecondsTimePoint.now(), + author, 0, 0, UUID.randomUUID(), "type", "short info", "reason"); serializer.serialize(event); verify(revokeEventSerializer).serialize(event); } @@ -249,7 +265,7 @@ public class RaceLogEventSerializerTest { @Test public void testRegisterCompetitorEventSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createRegisterCompetitorEvent(null, author, 0, + RaceLogEvent event = new RaceLogRegisterCompetitorEventImpl(null, author, 0, DomainFactory.INSTANCE .getOrCreateCompetitor("comp", "comp", null, null, null, null, null, /* timeOnTimeFactor */null, /* timeOnDistanceAllowancePerNauticalMile */ null)); @@ -260,7 +276,7 @@ public class RaceLogEventSerializerTest { @Test public void testDefineMarkEventSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createDefineMarkEvent(null, author, 0, null); + RaceLogEvent event = new RaceLogDefineMarkEventImpl(null, author, 0, null); serializer.serialize(event); verify(defineMarkEventSerializer).serialize(event); } @@ -268,7 +284,7 @@ public class RaceLogEventSerializerTest { @Test public void testCloseOpenEndedDeviceMappingEventSerializer() { // we use the real event type here because we do not want to re-implement the dispatching. - RaceLogEvent event = factory.createCloseOpenEndedDeviceMappingEvent(null, author, 0, null, null); + RaceLogEvent event = new RaceLogCloseOpenEndedDeviceMappingEventImpl(null, author, 0, null, null); serializer.serialize(event); verify(closeOpenEndedDeviceMappingEventSerializer).serialize(event); } diff --git a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogFinishPositioningConfirmedEventSerializerTest.java b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogFinishPositioningConfirmedEventSerializerTest.java index 61eeec67fcd..74e560a6bfd 100644 --- a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogFinishPositioningConfirmedEventSerializerTest.java +++ b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogFinishPositioningConfirmedEventSerializerTest.java @@ -14,9 +14,9 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.CompetitorResults; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultsImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningConfirmedEventImpl; import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.SharedDomainFactory; import com.sap.sailing.domain.common.MaxPointsReason; @@ -56,7 +56,7 @@ public class RaceLogFinishPositioningConfirmedEventSerializerTest { public void testSerializeAndDeserializeRaceLogFinishPositioningConfirmedEvent() throws JsonDeserializationException { positioningList.add(new com.sap.sse.common.Util.Triple(UUID.randomUUID(), "SAP Extreme", MaxPointsReason.NONE)); - event = RaceLogEventFactory.INSTANCE.createFinishPositioningConfirmedEvent(now, author, 0, positioningList); + event = new RaceLogFinishPositioningConfirmedEventImpl(now, author, 0, positioningList); JSONObject jsonConfirmationEvent = serializer.serialize(event); RaceLogFinishPositioningConfirmedEvent deserializedEvent = (RaceLogFinishPositioningConfirmedEvent) deserializer .deserialize(jsonConfirmationEvent); @@ -81,7 +81,7 @@ public class RaceLogFinishPositioningConfirmedEventSerializerTest { @Test public void testSerializeAndDeserializeRaceLogFinishPositioningConfirmedEventWithoutPositioningBackwardsCompatible() throws JsonDeserializationException { - event = RaceLogEventFactory.INSTANCE.createFinishPositioningConfirmedEvent(now, author, 0, null); + event = new RaceLogFinishPositioningConfirmedEventImpl(now, author, 0, null); JSONObject jsonConfirmationEvent = serializer.serialize(event); RaceLogFinishPositioningConfirmedEvent deserializedEvent = (RaceLogFinishPositioningConfirmedEvent) deserializer .deserialize(jsonConfirmationEvent); @@ -99,7 +99,7 @@ public class RaceLogFinishPositioningConfirmedEventSerializerTest { @Test public void testSerializeAndDeserializeRaceLogFinishPositioningConfirmedEventWithEmptyPositioning() throws JsonDeserializationException { - event = RaceLogEventFactory.INSTANCE.createFinishPositioningConfirmedEvent(now, author, 0, positioningList); + event = new RaceLogFinishPositioningConfirmedEventImpl(now, author, 0, positioningList); JSONObject jsonConfirmationEvent = serializer.serialize(event); RaceLogFinishPositioningConfirmedEvent deserializedEvent = (RaceLogFinishPositioningConfirmedEvent) deserializer .deserialize(jsonConfirmationEvent); diff --git a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogWindFixEventSerializerTest.java b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogWindFixEventSerializerTest.java index 3b4763ee7a2..adabeedbc05 100644 --- a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogWindFixEventSerializerTest.java +++ b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogWindFixEventSerializerTest.java @@ -9,8 +9,8 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogWindFixEventImpl; import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.SharedDomainFactory; import com.sap.sailing.domain.common.Bearing; @@ -56,7 +56,7 @@ public class RaceLogWindFixEventSerializerTest { now = MillisecondsTimePoint.now(); - event = RaceLogEventFactory.INSTANCE.createWindFixEvent(now, author, 0, createWindFix(), /* isMagnetic */ false); + event = new RaceLogWindFixEventImpl(now, author, 0, createWindFix(), /* isMagnetic */ false); } @Test diff --git a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/TrackingTimesEventSerializerTest.java b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/TrackingTimesEventSerializerTest.java index a1549d3363d..368d8c554b7 100644 --- a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/TrackingTimesEventSerializerTest.java +++ b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/TrackingTimesEventSerializerTest.java @@ -3,16 +3,15 @@ package com.sap.sailing.server.gateway.serialization.test.racelog; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; -import java.util.UUID; - import org.json.simple.JSONObject; import org.junit.Test; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventRestoreFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogStartOfTrackingEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEndOfTrackingEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartOfTrackingEventImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; @@ -61,8 +60,8 @@ public class TrackingTimesEventSerializerTest { @Test public void testNullStartOfTrackingTimeAttributeDeserialization() throws JsonDeserializationException { - final RaceLogStartOfTrackingEvent event = RaceLogEventRestoreFactory.INSTANCE.createStartOfTrackingEvent(/* startOfTracking */null, - new LogEventAuthorImpl("Axel", 0), UUID.randomUUID(), /* competitors */null, /* passId */1); + final RaceLogStartOfTrackingEvent event = new RaceLogStartOfTrackingEventImpl(/* startOfTracking */null, + new LogEventAuthorImpl("Axel", 0), /* passId */1); JSONObject json = createStartOfTrackingEventSerializer().serialize(event); RaceLogEvent deserialized = createStartOfTrackingEventDeserializer().deserialize(json); assertNull(deserialized.getLogicalTimePoint()); @@ -70,8 +69,8 @@ public class TrackingTimesEventSerializerTest { @Test public void testNullEndOfTrackingTimeAttributeDeserialization() throws JsonDeserializationException { - final RaceLogEndOfTrackingEvent event = RaceLogEventRestoreFactory.INSTANCE.createEndOfTrackingEvent(/* endOfTracking */null, - new LogEventAuthorImpl("Axel", 0), UUID.randomUUID(), /* competitors */null, /* passId */1); + final RaceLogEndOfTrackingEvent event = new RaceLogEndOfTrackingEventImpl(/* endOfTracking */null, + new LogEventAuthorImpl("Axel", 0), /* passId */1); JSONObject json = createStartOfTrackingEventSerializer().serialize(event); RaceLogEvent deserialized = createEndOfTrackingEventDeserializer().deserialize(json); assertNull(deserialized.getLogicalTimePoint()); @@ -79,16 +78,16 @@ public class TrackingTimesEventSerializerTest { @Test public void testNullStartOfTrackingTimeAttribute() { - final RaceLogStartOfTrackingEvent event = RaceLogEventRestoreFactory.INSTANCE.createStartOfTrackingEvent(/* startOfTracking */null, - new LogEventAuthorImpl("Axel", 0), UUID.randomUUID(), /* competitors */null, /* passId */1); + final RaceLogStartOfTrackingEvent event = new RaceLogStartOfTrackingEventImpl(/* startOfTracking */null, + new LogEventAuthorImpl("Axel", 0), /* passId */1); JSONObject json = createStartOfTrackingEventSerializer().serialize(event); assertNull(json.get(RaceLogStartOfTrackingEventSerializer.FIELD_TIMESTAMP)); } @Test public void testNullEndOfTrackingTimeAttribute() { - final RaceLogEndOfTrackingEvent event = RaceLogEventRestoreFactory.INSTANCE.createEndOfTrackingEvent(/* endOfTracking */null, - new LogEventAuthorImpl("Axel", 0), UUID.randomUUID(), /* competitors */null, /* passId */1); + final RaceLogEndOfTrackingEvent event = new RaceLogEndOfTrackingEventImpl(/* endOfTracking */null, + new LogEventAuthorImpl("Axel", 0), /* passId */1); JSONObject json = createEndOfTrackingEventSerializer().serialize(event); assertNull(json.get(RaceLogEndOfTrackingEventSerializer.FIELD_TIMESTAMP)); } @@ -96,8 +95,8 @@ public class TrackingTimesEventSerializerTest { @Test public void testNonNullStartOfTrackingTimeAttribute() { final TimePoint now = MillisecondsTimePoint.now(); - final RaceLogStartOfTrackingEvent event = RaceLogEventRestoreFactory.INSTANCE.createStartOfTrackingEvent(/* startOfTracking */now, - new LogEventAuthorImpl("Axel", 0), UUID.randomUUID(), /* competitors */null, /* passId */1); + final RaceLogStartOfTrackingEvent event = new RaceLogStartOfTrackingEventImpl(/* startOfTracking */now, + new LogEventAuthorImpl("Axel", 0), /* passId */1); JSONObject json = createStartOfTrackingEventSerializer().serialize(event); assertEquals(now.asMillis(), json.get(RaceLogStartOfTrackingEventSerializer.FIELD_TIMESTAMP)); } @@ -105,8 +104,8 @@ public class TrackingTimesEventSerializerTest { @Test public void testNonNullEndOfTrackingTimeAttribute() { final TimePoint now = MillisecondsTimePoint.now(); - final RaceLogEndOfTrackingEvent event = RaceLogEventRestoreFactory.INSTANCE.createEndOfTrackingEvent(/* endOfTracking */now, - new LogEventAuthorImpl("Axel", 0), UUID.randomUUID(), /* competitors */null, /* passId */1); + final RaceLogEndOfTrackingEvent event = new RaceLogEndOfTrackingEventImpl(/* endOfTracking */now, + new LogEventAuthorImpl("Axel", 0), /* passId */1); JSONObject json = createEndOfTrackingEventSerializer().serialize(event); assertEquals(now.asMillis(), json.get(RaceLogEndOfTrackingEventSerializer.FIELD_TIMESTAMP)); } diff --git a/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/RaceLogSerializationTest.java b/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/RaceLogSerializationTest.java index 086d951b7a4..6a6054d6d2a 100644 --- a/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/RaceLogSerializationTest.java +++ b/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/RaceLogSerializationTest.java @@ -13,8 +13,8 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceCompetitorMappingEvent; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; import com.sap.sailing.domain.abstractlog.shared.events.DeviceCompetitorMappingEvent; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.DomainFactory; @@ -71,8 +71,8 @@ public class RaceLogSerializationTest { setup(DeviceIdentifierJsonDeserializer.create(new SmartphoneImeiJsonHandler(), SmartphoneImeiIdentifier.TYPE), DeviceIdentifierJsonSerializer.create(new SmartphoneImeiJsonHandler(), SmartphoneImeiIdentifier.TYPE)); DeviceIdentifier device = new SmartphoneImeiIdentifier("abc"); - RaceLogDeviceCompetitorMappingEvent event = RaceLogEventFactory.INSTANCE.createDeviceCompetitorMappingEvent( - t(), author, device, competitor, 0, t(), t()); + RaceLogDeviceCompetitorMappingEvent event = new RaceLogDeviceCompetitorMappingEventImpl( + t(), author, 0, competitor, device, t(), t()); JSONObject json = serializer.serialize(event); @@ -91,8 +91,8 @@ public class RaceLogSerializationTest { setup(new DeviceIdentifierJsonDeserializer(onlyFallback), DeviceIdentifierJsonSerializer.create(new SmartphoneImeiJsonHandler(), SmartphoneImeiIdentifier.TYPE)); DeviceIdentifier device = new SmartphoneImeiIdentifier("abc"); - RaceLogDeviceCompetitorMappingEvent event = RaceLogEventFactory.INSTANCE.createDeviceCompetitorMappingEvent( - t(), author, device, competitor, 0, t(), t()); + RaceLogDeviceCompetitorMappingEvent event = new RaceLogDeviceCompetitorMappingEventImpl( + t(), author, 0, competitor, device, t(), t()); JSONObject json = serializer.serialize(event); @@ -114,8 +114,8 @@ public class RaceLogSerializationTest { new DeviceIdentifierJsonSerializer(onlyFallback)); //track file device id can't be restored from string rep DeviceIdentifier device = new TrackFileImportDeviceIdentifierImpl("file", "track"); - RaceLogDeviceCompetitorMappingEvent event = RaceLogEventFactory.INSTANCE.createDeviceCompetitorMappingEvent( - t(), author, device, competitor, 0, t(), t()); + RaceLogDeviceCompetitorMappingEvent event = new RaceLogDeviceCompetitorMappingEventImpl( + t(), author, 0, competitor, device, t(), t()); JSONObject json = serializer.serialize(event); diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java index 6c63dbb1d0b..5bf16431612 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java @@ -409,11 +409,11 @@ public class LeaderboardsResource extends AbstractSailingServerResource { Set registered = new RegisteredCompetitorsAnalyzer<>(isRegattaLike.getRegattaLog()).analyze(); if (!registered.contains(mappedTo)) { isRegattaLike.getRegattaLog().add( - new RegattaLogRegisterCompetitorEventImpl(now, author, now, UUID.randomUUID(), mappedTo)); + new RegattaLogRegisterCompetitorEventImpl(now, now, author, UUID.randomUUID(), mappedTo)); } DeviceIdentifier device = new SmartphoneUUIDIdentifierImpl(UUID.fromString(deviceUuid)); TimePoint from = new MillisecondsTimePoint(fromMillis); - event = new RegattaLogDeviceCompetitorMappingEventImpl(now, author, now, UUID.randomUUID(), mappedTo, device, + event = new RegattaLogDeviceCompetitorMappingEventImpl(now, now, author, UUID.randomUUID(), mappedTo, device, from, null); isRegattaLike.getRegattaLog().add(event); logger.fine("Successfully checked in competitor " + mappedTo.getName()); diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/InitialLoadReplicationObjectIdentityTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/InitialLoadReplicationObjectIdentityTest.java index 7adb6f42e4b..87887b692ed 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/InitialLoadReplicationObjectIdentityTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/InitialLoadReplicationObjectIdentityTest.java @@ -24,7 +24,7 @@ import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; -import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventFactoryImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogWindFixEventImpl; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.DomainFactory; @@ -150,7 +150,7 @@ public class InitialLoadReplicationObjectIdentityTest extends AbstractServerRepl assertNotNull(masterR1RaceLog); final WindImpl masterWindFix = new WindImpl(new DegreePosition(12, 13), MillisecondsTimePoint.now(), new KnotSpeedWithBearingImpl(12.7, new DegreeBearingImpl(123))); - masterR1RaceLog.add(RaceLogEventFactoryImpl.INSTANCE.createWindFixEvent(MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), + masterR1RaceLog.add(new RaceLogWindFixEventImpl(MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), /* passId */ 1, masterWindFix, /* isMagnetic */ false)); // assert that the wind fix shows up in the tracked race now because the tracked race has the DynamicTrackedRaceLogListener // propagating the wind fix race log event into the wind track for source RACECOMMITTEE @@ -223,7 +223,7 @@ public class InitialLoadReplicationObjectIdentityTest extends AbstractServerRepl // now (see bug 2506) add a wind fix event to the race log and check that it arrived at the wind track final WindImpl replicaWindFix = new WindImpl(new DegreePosition(14, 15), MillisecondsTimePoint.now(), new KnotSpeedWithBearingImpl(22.9, new DegreeBearingImpl(155))); - replicaR1RaceLog.add(RaceLogEventFactoryImpl.INSTANCE.createWindFixEvent(MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), + replicaR1RaceLog.add(new RaceLogWindFixEventImpl(MillisecondsTimePoint.now(), new LogEventAuthorImpl("Me", 0), /* passId */ 1, replicaWindFix, /* isMagnetic */ false)); // assert that the wind fix shows up in the tracked race now because the tracked race has the DynamicTrackedRaceLogListener // propagating the wind fix race log event into the wind track for source RACECOMMITTEE diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RaceLogReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RaceLogReplicationTest.java index d991e1f7291..1c639b6bf6e 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RaceLogReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RaceLogReplicationTest.java @@ -17,9 +17,10 @@ import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogRaceStatusEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseDesignChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRaceStatusEventImpl; import com.sap.sailing.domain.base.ControlPointWithTwoMarks; import com.sap.sailing.domain.base.CourseBase; import com.sap.sailing.domain.base.Fleet; @@ -54,8 +55,8 @@ public class RaceLogReplicationTest extends AbstractLogReplicationTest leaderboardNames = new ArrayList(); leaderboardNames.add(leaderboard.getName()); LeaderboardGroup group = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, null, null); + /* displayName */null, false, leaderboardNames, null, null); event.addLeaderboardGroup(group); // Set tracked Race with competitors @@ -235,7 +236,8 @@ public class MasterDataImportTest { DynamicTeam team = new TeamImpl("Pros", sailors, coach); BoatClass boatClass = new BoatClassImpl("H16", true); DynamicBoat boat = new BoatImpl("Wingy", boatClass, "GER70133"); - CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ + null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitor); UUID competitorToSuppressUUID = UUID.randomUUID(); Set sailors2 = new HashSet(); @@ -245,8 +247,8 @@ public class MasterDataImportTest { "Bester Coach"); DynamicTeam team2 = new TeamImpl("Noobs", sailors2, coach2); DynamicBoat boat2 = new BoatImpl("LahmeEnte", boatClass, "GER1337"); - CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null,null, - team2, boat2, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null, + null, team2, boat2, /* timeOnTimeFactor */null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitorToSuppress); RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); TrackedRace trackedRace = new DummyTrackedRace(raceId, competitors, regatta, null, sourceService.getWindStore()); @@ -256,29 +258,30 @@ public class MasterDataImportTest { // Set log event TimePoint logTimePoint = new MillisecondsTimePoint(1372489200000L); TimePoint logTimePoint2 = new MillisecondsTimePoint(1372489201000L); - RaceLogStartTimeEvent logEvent = new RaceLogStartTimeEventImpl(logTimePoint, author, logTimePoint, 1, new ArrayList(), 0, logTimePoint); + RaceLogStartTimeEvent logEvent = new RaceLogStartTimeEventImpl(logTimePoint, logTimePoint, author, 1, + 0, logTimePoint); raceColumn.getRaceLog(testFleet1).add(logEvent); Position p = new DegreePosition(3, 3); Wind wind = new WindImpl(p, logTimePoint2, new KnotSpeedWithBearingImpl(5, new DegreeBearingImpl(12))); - RaceLogWindFixEvent windEvent = new RaceLogWindFixEventImpl(logTimePoint2, author, logTimePoint2, - UUID.randomUUID(), new ArrayList(), 2, wind, /* isMagnetic */ false); + RaceLogWindFixEvent windEvent = new RaceLogWindFixEventImpl(logTimePoint2, logTimePoint2, author, + UUID.randomUUID(), new ArrayList(), 2, wind, /* isMagnetic */false); raceColumn.getRaceLog(testFleet1).add(windEvent); storedLogUUIDs.add(logEvent.getId()); storedLogUUIDs.add(windEvent.getId()); - + // Set RegattaLog event TimePoint regattaLogTimepoint = new MillisecondsTimePoint(84392048L); - RegattaLogRegisterCompetitorEvent registerEvent = new RegattaLogRegisterCompetitorEventImpl(regattaLogTimepoint, - author, regattaLogTimepoint, UUID.randomUUID(), competitor); + RegattaLogRegisterCompetitorEvent registerEvent = new RegattaLogRegisterCompetitorEventImpl( + regattaLogTimepoint, regattaLogTimepoint, author, UUID.randomUUID(), competitor); regatta.getRegattaLog().add(registerEvent); - + // Add some racelogtracking stuff TimePoint logTimePoint3 = new MillisecondsTimePoint(1372489210000L); TimePoint logTimePoint4 = new MillisecondsTimePoint(1372489200020L); DeviceIdentifier deviceIdentifier = new SmartphoneImeiIdentifier("a"); RegattaLogDeviceCompetitorMappingEvent mappingEvent = new RegattaLogDeviceCompetitorMappingEventImpl( - logTimePoint4, author, logTimePoint4, UUID.randomUUID(), competitor, - deviceIdentifier, logTimePoint, logTimePoint3); + logTimePoint4, logTimePoint4, author, UUID.randomUUID(), competitor, deviceIdentifier, logTimePoint, + logTimePoint3); regatta.getRegattaLog().add(mappingEvent); GPSFix gpsFix = new GPSFixMovingImpl(new DegreePosition(54.333, 10.133), logTimePoint2, new KnotSpeedWithBearingImpl(10, new DegreeBearingImpl(90))); @@ -354,8 +357,8 @@ public class MasterDataImportTest { Assert.assertNotNull(raceColumnOnTarget); Assert.assertNull(raceColumnOnTarget.getTrackedRace(raceColumnOnTarget.getFleetByName(testFleet1Name))); - raceColumnOnTarget.setTrackedRace(raceColumnOnTarget.getFleets().iterator().next(), new DummyTrackedRace(raceId, - competitors, regattaOnTarget, null, sourceService.getWindStore())); + raceColumnOnTarget.setTrackedRace(raceColumnOnTarget.getFleets().iterator().next(), new DummyTrackedRace( + raceId, competitors, regattaOnTarget, null, sourceService.getWindStore())); Assert.assertTrue(leaderboardOnTarget.getScoreCorrection().hasCorrectionFor(raceColumnOnTarget)); Competitor competitorOnTarget = domainFactory.getExistingCompetitorById(competitorUUID); @@ -363,7 +366,8 @@ public class MasterDataImportTest { competitorsCreatedOnTarget.add(competitorOnTarget); Fleet fleet1OnTarget = raceColumnOnTarget.getFleetByName(testFleet1.getName()); - TrackedRace trackedRaceForTarget = new DummyTrackedRace(raceId, competitorsCreatedOnTarget, regattaOnTarget, null, sourceService.getWindStore()); + TrackedRace trackedRaceForTarget = new DummyTrackedRace(raceId, competitorsCreatedOnTarget, regattaOnTarget, + null, sourceService.getWindStore()); raceColumnOnTarget.setTrackedRace(fleet1OnTarget, trackedRaceForTarget); @@ -404,22 +408,21 @@ public class MasterDataImportTest { Assert.assertNotNull(raceColumnOnTarget.getRaceLog(fleet1OnTarget).getFirstFixAtOrAfter(logTimePoint2)); Assert.assertEquals(wind, ((RaceLogWindFixEvent) raceColumnOnTarget.getRaceLog(fleet1OnTarget) .getFirstFixAtOrAfter(logTimePoint2)).getWindFix()); - + // Add new event to check persistence of post-import events (see bug 3230) TimePoint logTimePoint5 = new MillisecondsTimePoint(1372489310000L); UUID postImportEventId = UUID.randomUUID(); - RaceLogStartTimeEventImpl postImportLogEvent = new RaceLogStartTimeEventImpl(logTimePoint5, author, logTimePoint5, postImportEventId, - new ArrayList(), 3, logTimePoint5); - raceColumnOnTarget.getRaceLog(fleet1OnTarget).add( - postImportLogEvent); - + RaceLogStartTimeEventImpl postImportLogEvent = new RaceLogStartTimeEventImpl(logTimePoint5, logTimePoint5, + author, postImportEventId, 3, logTimePoint5); + raceColumnOnTarget.getRaceLog(fleet1OnTarget).add(postImportLogEvent); + // Check for regatta log event - RegattaLogRegisterCompetitorEvent registerEventOnTarget = (RegattaLogRegisterCompetitorEvent) - regattaOnTarget.getRegattaLog().getFirstFixAtOrAfter(regattaLogTimepoint); + RegattaLogRegisterCompetitorEvent registerEventOnTarget = (RegattaLogRegisterCompetitorEvent) regattaOnTarget + .getRegattaLog().getFirstFixAtOrAfter(regattaLogTimepoint); Assert.assertNotNull(registerEventOnTarget); Assert.assertEquals(registerEvent.getId(), registerEventOnTarget.getId()); Assert.assertEquals(competitor.getId(), registerEventOnTarget.getCompetitor().getId()); - + // Check for import of racelogtracking fix Assert.assertTrue(destService.getGPSFixStore().getNumberOfFixes(deviceIdentifier) == 1); @@ -429,14 +432,14 @@ public class MasterDataImportTest { RaceColumn raceColumn2 = lb2.getRaceColumns().iterator().next(); RaceLog raceLog2 = raceColumn2.getRaceLog(raceColumn2.getFleetByName(fleet1OnTarget.getName())); Assert.assertEquals(logEvent.getId(), raceLog2.getFirstRawFixAtOrAfter(logTimePoint).getId()); - + RaceLogEvent postImportLogEventFromDB = raceLog2.getFirstRawFixAtOrAfter(logTimePoint5); Assert.assertEquals(postImportEventId, postImportLogEventFromDB.getId()); - + // Check for persisting of regatta log events Regatta regattaOnTarget2 = dest2.getRegattaByName(TEST_LEADERBOARD_NAME); - RegattaLogRegisterCompetitorEvent registerEventOnTarget2 = (RegattaLogRegisterCompetitorEvent) - regattaOnTarget2.getRegattaLog().getFirstFixAtOrAfter(regattaLogTimepoint); + RegattaLogRegisterCompetitorEvent registerEventOnTarget2 = (RegattaLogRegisterCompetitorEvent) regattaOnTarget2 + .getRegattaLog().getFirstFixAtOrAfter(regattaLogTimepoint); Assert.assertNotNull(registerEventOnTarget2); Assert.assertEquals(registerEvent.getId(), registerEventOnTarget2.getId()); } @@ -446,7 +449,8 @@ public class MasterDataImportTest { InterruptedException, ClassNotFoundException { // Setup source service RacingEventService sourceService = new RacingEventServiceImpl(); - Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */ null, eventStartDate, eventEndDate, "testVenue", false, eventUUID); + Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */null, eventStartDate, eventEndDate, + "testVenue", false, eventUUID); UUID courseAreaUUID = UUID.randomUUID(); CourseArea courseArea = new CourseAreaImpl("testArea", courseAreaUUID); event.getVenue().addCourseArea(courseArea); @@ -464,9 +468,10 @@ public class MasterDataImportTest { fleets.add(new FleetImpl("testFleet2")); series.add(new SeriesImpl("testSeries", false, fleets, emptyRaceColumnNamesList, sourceService)); UUID regattaUUID = UUID.randomUUID(); - Regatta regatta = sourceService.createRegatta(RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, - /*startDate*/ null, /*endDate*/ null, regattaUUID, series, - true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ true, OneDesignRankingMetric::new); + Regatta regatta = sourceService.createRegatta( + RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, + /* startDate */null, /* endDate */null, regattaUUID, series, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ + true, OneDesignRankingMetric::new); event.addRegatta(regatta); for (String name : raceColumnNames) { series.get(0).addRaceColumn(name, sourceService); @@ -478,7 +483,7 @@ public class MasterDataImportTest { List leaderboardNames = new ArrayList(); leaderboardNames.add(leaderboard.getName()); LeaderboardGroup group = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, null, null); + /* displayName */null, false, leaderboardNames, null, null); // Set tracked Race with competitors Set competitors = new HashSet(); @@ -491,7 +496,8 @@ public class MasterDataImportTest { DynamicTeam team = new TeamImpl("Pros", sailors, coach); BoatClass boatClass = new BoatClassImpl("H16", true); DynamicBoat boat = new BoatImpl("Wingy", boatClass, "GER70133"); - CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ + null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitor); UUID competitor2UUID = UUID.randomUUID(); Set sailors2 = new HashSet(); @@ -499,7 +505,8 @@ public class MasterDataImportTest { DynamicPerson coach2 = new PersonImpl("Max Test", new NationalityImpl("GER"), new Date(645487200000L), "desc"); DynamicTeam team2 = new TeamImpl("Pros2", sailors2, coach2); DynamicBoat boat2 = new BoatImpl("FastBoat", boatClass, "GER70133"); - CompetitorImpl competitor2 = new CompetitorImpl(competitor2UUID, "Froderik", Color.RED, null, null, team2, boat2, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitor2 = new CompetitorImpl(competitor2UUID, "Froderik", Color.RED, null, null, team2, + boat2, /* timeOnTimeFactor */null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitor2); RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); TrackedRace trackedRace = new DummyTrackedRace(raceId, competitors, regatta, null, sourceService.getWindStore()); @@ -507,9 +514,8 @@ public class MasterDataImportTest { raceColumn.setTrackedRace(testFleet1, trackedRace); // Set log event - RaceLogEventFactory factory = new RaceLogEventFactoryImpl(); TimePoint logTimePoint = new MillisecondsTimePoint(1372489200000L); - RaceLogStartTimeEvent logEvent = factory.createStartTimeEvent(logTimePoint, author, 1, logTimePoint); + RaceLogStartTimeEvent logEvent = new RaceLogStartTimeEventImpl(logTimePoint, author, 1, logTimePoint); raceColumn.getRaceLog(testFleet1).add(logEvent); storedLogUUIDs.add(logEvent.getId()); @@ -574,7 +580,8 @@ public class MasterDataImportTest { competitorsCreatedOnTarget.add(competitorOnTarget); Fleet fleet1OnTarget = raceColumnOnTarget.getFleetByName(testFleet1.getName()); - TrackedRace trackedRaceForTarget = new DummyTrackedRace(raceId, competitorsCreatedOnTarget, regattaOnTarget, null, sourceService.getWindStore()); + TrackedRace trackedRaceForTarget = new DummyTrackedRace(raceId, competitorsCreatedOnTarget, regattaOnTarget, + null, sourceService.getWindStore()); raceColumnOnTarget.setTrackedRace(fleet1OnTarget, trackedRaceForTarget); @@ -603,7 +610,8 @@ public class MasterDataImportTest { ClassNotFoundException { // Setup source service RacingEventService sourceService = new RacingEventServiceImpl(); - Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */ null, eventStartDate, eventEndDate, "testVenue", false, eventUUID); + Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */null, eventStartDate, eventEndDate, + "testVenue", false, eventUUID); UUID courseAreaUUID = UUID.randomUUID(); CourseArea courseArea = new CourseAreaImpl("testArea", courseAreaUUID); event.getVenue().addCourseArea(courseArea); @@ -619,9 +627,9 @@ public class MasterDataImportTest { fleets.add(testFleet1); series.add(new SeriesImpl("testSeries", false, fleets, emptyRaceColumnNamesList, sourceService)); UUID regattaUUID = UUID.randomUUID(); - Regatta regatta = sourceService.createRegatta(RegattaImpl.getDefaultName("testRegatta", "29er"), "29er", - /*startDate*/ null, /*endDate*/ null, regattaUUID, series, true, new LowPoint(), - courseAreaUUID, /* useStartTimeInference */ true, OneDesignRankingMetric::new); + Regatta regatta = sourceService.createRegatta(RegattaImpl.getDefaultName("testRegatta", "29er"), "29er", + /* startDate */null, /* endDate */null, regattaUUID, series, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ + true, OneDesignRankingMetric::new); event.addRegatta(regatta); for (String name : raceColumnNames) { series.get(0).addRaceColumn(name, sourceService); @@ -633,7 +641,7 @@ public class MasterDataImportTest { List leaderboardNames = new ArrayList(); leaderboardNames.add(leaderboard.getName()); LeaderboardGroup group = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, null, null); + /* displayName */null, false, leaderboardNames, null, null); // Set tracked Race with competitors Set competitors = new HashSet(); @@ -646,12 +654,14 @@ public class MasterDataImportTest { DynamicTeam team = new TeamImpl("Pros", sailors, coach); BoatClass boatClass = new BoatClassImpl("H16", true); DynamicBoat boat = new BoatImpl("Wingy", boatClass, "GER70133"); - CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ + null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitor); - + RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); DynamicTrackedRegatta trackedRegatta = sourceService.getOrCreateTrackedRegatta(regatta); - TrackedRace trackedRace = new DummyTrackedRace(raceId, competitors, regatta, trackedRegatta, sourceService.getWindStore()); + TrackedRace trackedRace = new DummyTrackedRace(raceId, competitors, regatta, trackedRegatta, + sourceService.getWindStore()); regatta.addRace(trackedRace.getRace()); // make sure the competitor is serialized together with the regatta raceColumn.setTrackedRace(testFleet1, trackedRace); WindSource windSource = new WindSourceWithAdditionalID(WindSourceType.EXPEDITION, "Igtimi1"); @@ -716,7 +726,8 @@ public class MasterDataImportTest { Fleet fleet1OnTarget = raceColumnOnTarget.getFleetByName(testFleet1.getName()); DynamicTrackedRegatta trackedRegattaForTarget = destService.getOrCreateTrackedRegatta(regattaOnTarget); - TrackedRace trackedRaceForTarget = new DummyTrackedRace(raceId, competitorsCreatedOnTarget, regattaOnTarget, trackedRegattaForTarget, sourceService.getWindStore()); + TrackedRace trackedRaceForTarget = new DummyTrackedRace(raceId, competitorsCreatedOnTarget, regattaOnTarget, + trackedRegattaForTarget, sourceService.getWindStore()); raceColumnOnTarget.setTrackedRace(fleet1OnTarget, trackedRaceForTarget); @@ -734,8 +745,9 @@ public class MasterDataImportTest { } finally { windTrackOnDest.unlockAfterRead(); } - - //Reimport again to see if db throws exceptions (see console for error for now, since exception is caught deep inside) + + // Reimport again to see if db throws exceptions (see console for error for now, since exception is caught deep + // inside) try { streamingOutput.write(os); os.flush(); @@ -754,12 +766,13 @@ public class MasterDataImportTest { public void testMasterDataImportForRaceLogEventsReferencingCompetitors() throws MalformedURLException, IOException, InterruptedException, ClassNotFoundException { // Setup source service - DomainFactory sourceDomainFactory = new DomainFactoryImpl((srlid)->null); + DomainFactory sourceDomainFactory = new DomainFactoryImpl((srlid) -> null); RacingEventService sourceService = new RacingEventServiceImpl( PersistenceFactory.INSTANCE.getDomainObjectFactory(MongoDBService.INSTANCE, sourceDomainFactory), PersistenceFactory.INSTANCE.getMongoObjectFactory(MongoDBService.INSTANCE), MediaDBFactory.INSTANCE.getDefaultMediaDB(), EmptyWindStore.INSTANCE, EmptyGPSFixStore.INSTANCE); - Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */ null, eventStartDate, eventEndDate, "testVenue", false, eventUUID); + Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */null, eventStartDate, eventEndDate, + "testVenue", false, eventUUID); UUID courseAreaUUID = UUID.randomUUID(); CourseArea courseArea = new CourseAreaImpl("testArea", courseAreaUUID); event.getVenue().addCourseArea(courseArea); @@ -777,9 +790,10 @@ public class MasterDataImportTest { fleets.add(new FleetImpl("testFleet2")); series.add(new SeriesImpl("testSeries", false, fleets, emptyRaceColumnNamesList, sourceService)); UUID regattaUUID = UUID.randomUUID(); - Regatta regatta = sourceService.createRegatta(RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, - /*startDate*/ null, /*endDate*/ null, regattaUUID, series, - true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ true, OneDesignRankingMetric::new); + Regatta regatta = sourceService.createRegatta( + RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, + /* startDate */null, /* endDate */null, regattaUUID, series, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ + true, OneDesignRankingMetric::new); event.addRegatta(regatta); for (String name : raceColumnNames) { series.get(0).addRaceColumn(name, sourceService); @@ -791,7 +805,7 @@ public class MasterDataImportTest { List leaderboardNames = new ArrayList(); leaderboardNames.add(leaderboard.getName()); LeaderboardGroup group = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, null, null); + /* displayName */null, false, leaderboardNames, null, null); // Set tracked Race with competitors Set competitors = new HashSet(); @@ -804,8 +818,9 @@ public class MasterDataImportTest { DynamicTeam team = new TeamImpl("Pros", sailors, coach); BoatClass boatClass = new BoatClassImpl("H16", true); DynamicBoat boat = new BoatImpl("Wingy", boatClass, "GER70133"); - Competitor competitor = sourceDomainFactory.getOrCreateCompetitor(competitorUUID, "Froderik", Color.RED, "noone@nowhere.de", null, team, - boat, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowanceInSecondsPerNauticalMile */ null); + Competitor competitor = sourceDomainFactory.getOrCreateCompetitor(competitorUUID, "Froderik", Color.RED, + "noone@nowhere.de", null, team, boat, /* timeOnTimeFactor */null, /* timeOnDistanceAllowanceInSecondsPerNauticalMile */ + null); competitors.add(competitor); UUID competitor2UUID = UUID.randomUUID(); Set sailors2 = new HashSet(); @@ -814,7 +829,8 @@ public class MasterDataImportTest { DynamicTeam team2 = new TeamImpl("Pros2", sailors2, coach2); DynamicBoat boat2 = new BoatImpl("FastBoat", boatClass, "GER70133"); Competitor competitor2 = sourceDomainFactory.getCompetitorStore().getOrCreateCompetitor(competitor2UUID, - "Froderik", Color.RED, "noone@nowhere.de", null, team2, boat2, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowanceInSecondsPerNauticalMile */ null); + "Froderik", Color.RED, "noone@nowhere.de", null, team2, boat2, /* timeOnTimeFactor */null, /* timeOnDistanceAllowanceInSecondsPerNauticalMile */ + null); competitors.add(competitor2); RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); TrackedRace trackedRace = new DummyTrackedRace(raceId, competitors, regatta, null, sourceService.getWindStore()); @@ -822,9 +838,8 @@ public class MasterDataImportTest { raceColumn.setTrackedRace(testFleet1, trackedRace); // Set log event - RaceLogEventFactory factory = new RaceLogEventFactoryImpl(); TimePoint logTimePoint = new MillisecondsTimePoint(1372489200000L); - RaceLogStartTimeEvent logEvent = factory.createStartTimeEvent(logTimePoint, author, 1, logTimePoint); + RaceLogStartTimeEvent logEvent = new RaceLogStartTimeEventImpl(logTimePoint, author, 1, logTimePoint); raceColumn.getRaceLog(testFleet1).add(logEvent); storedLogUUIDs.add(logEvent.getId()); @@ -833,10 +848,10 @@ public class MasterDataImportTest { CompetitorResults positionedCompetitors = new CompetitorResultsImpl(); positionedCompetitors.add(new Util.Triple(competitor.getId(), competitor .getName(), MaxPointsReason.DNS)); - positionedCompetitors.add(new Util.Triple(competitor2.getId(), competitor2 - .getName(), MaxPointsReason.NONE)); - RaceLogFinishPositioningConfirmedEvent finishPositioningConfirmedEvent = factory - .createFinishPositioningConfirmedEvent(logTimePoint2, author, 1, positionedCompetitors); + positionedCompetitors.add(new Util.Triple(competitor2.getId(), + competitor2.getName(), MaxPointsReason.NONE)); + RaceLogFinishPositioningConfirmedEvent finishPositioningConfirmedEvent = new RaceLogFinishPositioningConfirmedEventImpl( + logTimePoint2, author, 1, positionedCompetitors); raceColumn.getRaceLog(testFleet1).add(finishPositioningConfirmedEvent); storedLogUUIDs.add(finishPositioningConfirmedEvent.getId()); @@ -894,7 +909,8 @@ public class MasterDataImportTest { competitorsCreatedOnTarget.add(competitorOnTarget); Fleet fleet1OnTarget = raceColumnOnTarget.getFleetByName(testFleet1.getName()); - TrackedRace trackedRaceForTarget = new DummyTrackedRace(raceId, competitorsCreatedOnTarget, regattaOnTarget, null, sourceService.getWindStore()); + TrackedRace trackedRaceForTarget = new DummyTrackedRace(raceId, competitorsCreatedOnTarget, regattaOnTarget, + null, sourceService.getWindStore()); raceColumnOnTarget.setTrackedRace(fleet1OnTarget, trackedRaceForTarget); @@ -915,7 +931,8 @@ public class MasterDataImportTest { InterruptedException, ClassNotFoundException { // Setup source service RacingEventService sourceService = new RacingEventServiceImpl(); - Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */ null, eventStartDate, eventEndDate, "testVenue", false, eventUUID); + Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */null, eventStartDate, eventEndDate, + "testVenue", false, eventUUID); UUID courseAreaUUID = UUID.randomUUID(); CourseArea courseArea = new CourseAreaImpl("testArea", courseAreaUUID); event.getVenue().addCourseArea(courseArea); @@ -933,9 +950,10 @@ public class MasterDataImportTest { fleets.add(new FleetImpl("testFleet2")); series.add(new SeriesImpl("testSeries", false, fleets, emptyRaceColumnNamesList, sourceService)); UUID regattaUUID = UUID.randomUUID(); - Regatta regatta = sourceService.createRegatta(RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, - /*startDate*/ null, /*endDate*/ null, regattaUUID, series, - true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ true, OneDesignRankingMetric::new); + Regatta regatta = sourceService.createRegatta( + RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, + /* startDate */null, /* endDate */null, regattaUUID, series, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ + true, OneDesignRankingMetric::new); event.addRegatta(regatta); for (String name : raceColumnNames) { series.get(0).addRaceColumn(name, sourceService); @@ -947,7 +965,7 @@ public class MasterDataImportTest { List leaderboardNames = new ArrayList(); leaderboardNames.add(leaderboard.getName()); LeaderboardGroup group = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, null, null); + /* displayName */null, false, leaderboardNames, null, null); // Set tracked Race with competitors Set competitors = new HashSet(); @@ -960,7 +978,8 @@ public class MasterDataImportTest { DynamicTeam team = new TeamImpl("Pros", sailors, coach); BoatClass boatClass = new BoatClassImpl("H16", true); DynamicBoat boat = new BoatImpl("Wingy", boatClass, "GER70133"); - CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ + null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitor); UUID competitorToSuppressUUID = UUID.randomUUID(); Set sailors2 = new HashSet(); @@ -970,8 +989,8 @@ public class MasterDataImportTest { "Bester Coach"); DynamicTeam team2 = new TeamImpl("Noobs", sailors2, coach2); DynamicBoat boat2 = new BoatImpl("LahmeEnte", boatClass, "GER1337"); - CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null, null, - team2, boat2, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null, + null, team2, boat2, /* timeOnTimeFactor */null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitorToSuppress); RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); TrackedRace trackedRace = new DummyTrackedRace(raceId, competitors, regatta, null, sourceService.getWindStore()); @@ -979,9 +998,8 @@ public class MasterDataImportTest { raceColumn.setTrackedRace(testFleet1, trackedRace); // Set log event - RaceLogEventFactory factory = new RaceLogEventFactoryImpl(); TimePoint logTimePoint = new MillisecondsTimePoint(1372489200000L); - RaceLogStartTimeEvent logEvent = factory.createStartTimeEvent(logTimePoint, author, 1, logTimePoint); + RaceLogStartTimeEvent logEvent = new RaceLogStartTimeEventImpl(logTimePoint, author, 1, logTimePoint); raceColumn.getRaceLog(testFleet1).add(logEvent); storedLogUUIDs.add(logEvent.getId()); @@ -1030,8 +1048,8 @@ public class MasterDataImportTest { domainFactory = destService.getBaseDomainFactory(); // Create existing data on target venueNameNotToOverride = "doNotOverride"; - Event eventNotToOverride = destService.addEvent(TEST_EVENT_NAME, /* eventDescription */ null, eventStartDate, eventEndDate, venueNameNotToOverride, - false, eventUUID); + Event eventNotToOverride = destService.addEvent(TEST_EVENT_NAME, /* eventDescription */null, + eventStartDate, eventEndDate, venueNameNotToOverride, false, eventUUID); courseAreaNotToOverride = new CourseAreaImpl("testAreaNotToOverride", courseAreaUUID); eventNotToOverride.getVenue().addCourseArea(courseAreaNotToOverride); @@ -1047,20 +1065,21 @@ public class MasterDataImportTest { seriesNotToOverride.add(new SeriesImpl("testSeries", false, fleetsNotToOverride, emptyRaceColumnNamesList, destService)); Regatta regattaNotToOverride = destService.createRegatta( - RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, /*startDate*/ null, /*endDate*/ null, - regattaUUID, seriesNotToOverride, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ + RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, /* startDate */ + null, /* endDate */null, regattaUUID, seriesNotToOverride, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ true, OneDesignRankingMetric::new); event.addRegatta(regattaNotToOverride); for (String name : raceColumnNamesNotToOverride) { seriesNotToOverride.get(0).addRaceColumn(name, destService); } - leaderboardNotToOverride = destService.addRegattaLeaderboard( - regattaNotToOverride.getRegattaIdentifier(), "testDisplayNameNotToOverride", discardRule); + leaderboardNotToOverride = destService.addRegattaLeaderboard(regattaNotToOverride.getRegattaIdentifier(), + "testDisplayNameNotToOverride", discardRule); List leaderboardNamesNotToOverride = new ArrayList(); leaderboardNamesNotToOverride.add(leaderboardNotToOverride.getName()); - groupNotToOverride = destService.addLeaderboardGroup(UUID.randomUUID(), - TEST_GROUP_NAME, "testGroupDescNotToOverride", /* displayName */ null, false, leaderboardNamesNotToOverride, null, null); + groupNotToOverride = destService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, + "testGroupDescNotToOverride", /* displayName */null, false, leaderboardNamesNotToOverride, null, + null); inputStream = new ByteArrayInputStream(os.toByteArray()); MasterDataImporter importer = new MasterDataImporter(domainFactory, destService); @@ -1114,7 +1133,8 @@ public class MasterDataImportTest { InterruptedException, ClassNotFoundException { // Setup source service RacingEventService sourceService = new RacingEventServiceImpl(); - Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */ null, eventStartDate, eventEndDate, "testVenue", false, eventUUID); + Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */null, eventStartDate, eventEndDate, + "testVenue", false, eventUUID); UUID courseAreaUUID = UUID.randomUUID(); CourseArea courseArea = new CourseAreaImpl("testArea", courseAreaUUID); event.getVenue().addCourseArea(courseArea); @@ -1132,9 +1152,10 @@ public class MasterDataImportTest { fleets.add(new FleetImpl("testFleet2")); series.add(new SeriesImpl("testSeries", false, fleets, emptyRaceColumnNamesList, sourceService)); UUID regattaUUID = UUID.randomUUID(); - Regatta regatta = sourceService.createRegatta(RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, - /*startDate*/ null, /*endDate*/ null, regattaUUID, series, - true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ true, OneDesignRankingMetric::new); + Regatta regatta = sourceService.createRegatta( + RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, + /* startDate */null, /* endDate */null, regattaUUID, series, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ + true, OneDesignRankingMetric::new); event.addRegatta(regatta); for (String name : raceColumnNames) { series.get(0).addRaceColumn(name, sourceService); @@ -1146,7 +1167,7 @@ public class MasterDataImportTest { List leaderboardNames = new ArrayList(); leaderboardNames.add(leaderboard.getName()); LeaderboardGroup group = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, null, null); + /* displayName */null, false, leaderboardNames, null, null); // Set tracked Race with competitors Set competitors = new HashSet(); @@ -1159,7 +1180,8 @@ public class MasterDataImportTest { DynamicTeam team = new TeamImpl("Pros", sailors, coach); BoatClass boatClass = new BoatClassImpl("H16", true); DynamicBoat boat = new BoatImpl("Wingy", boatClass, "GER70133"); - CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ + null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitor); UUID competitorToSuppressUUID = UUID.randomUUID(); Set sailors2 = new HashSet(); @@ -1170,7 +1192,7 @@ public class MasterDataImportTest { DynamicTeam team2 = new TeamImpl("Noobs", sailors2, coach2); DynamicBoat boat2 = new BoatImpl("LahmeEnte", boatClass, "GER1337"); CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null, - null, team2, boat2, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + null, team2, boat2, /* timeOnTimeFactor */null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitorToSuppress); RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); TrackedRace trackedRace = new DummyTrackedRace(raceId, competitors, regatta, null, sourceService.getWindStore()); @@ -1178,9 +1200,8 @@ public class MasterDataImportTest { raceColumn.setTrackedRace(testFleet1, trackedRace); // Set log event - RaceLogEventFactory factory = new RaceLogEventFactoryImpl(); TimePoint logTimePoint = new MillisecondsTimePoint(1372489200000L); - RaceLogStartTimeEvent logEvent = factory.createStartTimeEvent(logTimePoint, author, 1, logTimePoint); + RaceLogStartTimeEvent logEvent = new RaceLogStartTimeEventImpl(logTimePoint, author, 1, logTimePoint); raceColumn.getRaceLog(testFleet1).add(logEvent); storedLogUUIDs.add(logEvent.getId()); @@ -1225,7 +1246,8 @@ public class MasterDataImportTest { domainFactory = destService.getBaseDomainFactory(); // Create existing data on target String venueNameToOverride = "Override"; - Event eventToOverride = destService.addEvent(TEST_EVENT_NAME, /* eventDescription */ null, eventStartDate, eventEndDate, venueNameToOverride, false, eventUUID); + Event eventToOverride = destService.addEvent(TEST_EVENT_NAME, /* eventDescription */null, eventStartDate, + eventEndDate, venueNameToOverride, false, eventUUID); CourseArea courseAreaToOverride = new CourseAreaImpl("testAreaToOverride", courseAreaUUID); eventToOverride.getVenue().addCourseArea(courseAreaToOverride); @@ -1241,8 +1263,8 @@ public class MasterDataImportTest { seriesToOverride.add(new SeriesImpl("testSeries", false, fleetsToOverride, emptyRaceColumnNamesList, destService)); Regatta regattaToOverride = destService.createRegatta( - RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, /*startDate*/ null, /*endDate*/ null, - regattaUUID, seriesToOverride, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ + RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, /* startDate */ + null, /* endDate */null, regattaUUID, seriesToOverride, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ true, OneDesignRankingMetric::new); event.addRegatta(regattaToOverride); for (String name : raceColumnNamesToOverride) { @@ -1261,19 +1283,21 @@ public class MasterDataImportTest { DynamicBoat boatToOverride = new BoatImpl("Wingy", boatClassToOverride, "GER70133"); String competitorOldName = "oldName"; Competitor competitorToOverride = domainFactory.getOrCreateCompetitor(competitorUUID, competitorOldName, - Color.BLUE, "noone@nowhere.de", null, teamToOverride, boatToOverride, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowanceInSecondsPerNauticalMile */ null); + Color.BLUE, "noone@nowhere.de", null, teamToOverride, boatToOverride, /* timeOnTimeFactor */null, /* timeOnDistanceAllowanceInSecondsPerNauticalMile */ + null); competitorsToOverride.add(competitorToOverride); Leaderboard leaderboardToOverride = destService.addRegattaLeaderboard( regattaToOverride.getRegattaIdentifier(), "testDisplayNameNotToOverride", discardRule); - TrackedRace trackedRace2 = new DummyTrackedRace(raceId, competitorsToOverride, regattaToOverride, null, sourceService.getWindStore()); + TrackedRace trackedRace2 = new DummyTrackedRace(raceId, competitorsToOverride, regattaToOverride, null, + sourceService.getWindStore()); RaceColumn columnToOverride = leaderboardToOverride.getRaceColumns().iterator().next(); columnToOverride.setTrackedRace(testFleet1ToOverride, trackedRace2); - identifierOfRegattaTrackedRace = regattaToOverride - .getRaceIdentifier(columnToOverride.getRaceDefinition(testFleet1ToOverride)); + identifierOfRegattaTrackedRace = regattaToOverride.getRaceIdentifier(columnToOverride + .getRaceDefinition(testFleet1ToOverride)); - destService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDescToOverride", /* displayName */ null, - false, new ArrayList(), null, null); + destService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDescToOverride", /* displayName */ + null, false, new ArrayList(), null, null); destService.getLeaderboardGroupByName(TEST_GROUP_NAME).addLeaderboard(leaderboardToOverride); destService.addLeaderboard(leaderboardToOverride); inputStream = new ByteArrayInputStream(os.toByteArray()); @@ -1340,15 +1364,18 @@ public class MasterDataImportTest { InterruptedException, ClassNotFoundException { RacingEventService sourceService = new RacingEventServiceImpl(); - Event event = sourceService.createEventWithoutReplication("Test Event", /* eventDescription */ null, + Event event = sourceService.createEventWithoutReplication("Test Event", /* eventDescription */null, new MillisecondsTimePoint(0), new MillisecondsTimePoint(10), "testvenue", false, UUID.randomUUID(), - /* officialWebsiteURL */ null, /* sailorsInfoWebsiteURL */ null, - /* images */Collections. emptyList(), /* videos */Collections. emptyList()); - CourseArea defaultCourseArea = sourceService.addCourseAreas(event.getId(), new String[] {"ECHO"}, new UUID[] {UUID.randomUUID()})[0]; + /* officialWebsiteURL */null, /* sailorsInfoWebsiteURL */null, + /* images */Collections. emptyList(), /* videos */ + Collections. emptyList()); + CourseArea defaultCourseArea = sourceService.addCourseAreas(event.getId(), new String[] { "ECHO" }, + new UUID[] { UUID.randomUUID() })[0]; Regatta regatta = sourceService.createRegatta( - RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, /*startDate*/ null, /*endDate*/ null, - UUID.randomUUID(), new ArrayList(), true, new LowPoint(), defaultCourseArea.getId(), /* useStartTimeInference */ true, OneDesignRankingMetric::new); + RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, /* startDate */ + null, /* endDate */null, UUID.randomUUID(), new ArrayList(), true, new LowPoint(), + defaultCourseArea.getId(), /* useStartTimeInference */true, OneDesignRankingMetric::new); // Let's use the setters directly because we are not testing replication RegattaConfigurationImpl configuration = new RegattaConfigurationImpl(); configuration.setDefaultCourseDesignerMode(CourseDesignerMode.BY_MAP); @@ -1359,7 +1386,7 @@ public class MasterDataImportTest { List leaderboardNames = new ArrayList(); leaderboardNames.add(leaderboard.getName()); LeaderboardGroup group = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, null, null); + /* displayName */null, false, leaderboardNames, null, null); // Serialize List groupNamesToExport = new ArrayList(); @@ -1405,11 +1432,13 @@ public class MasterDataImportTest { // Setup source service RacingEventService sourceService = new RacingEventServiceImpl(); - Event event = sourceService.createEventWithoutReplication("Test Event", /* eventDescription */ null, - new MillisecondsTimePoint(0), new MillisecondsTimePoint(10), "testvenue", false, UUID.randomUUID(), - /* officialWebsiteURL */ null, /* sailorsInfoWebsiteURL */ null, - /* images */Collections. emptyList(), /* videos */Collections. emptyList()); - CourseArea defaultCourseArea = sourceService.addCourseAreas(event.getId(), new String[] {"ECHO"}, new UUID[] {UUID.randomUUID()})[0]; + Event event = sourceService.createEventWithoutReplication("Test Event", /* eventDescription */null, + new MillisecondsTimePoint(0), new MillisecondsTimePoint(10), "testvenue", false, UUID.randomUUID(), + /* officialWebsiteURL */null, /* sailorsInfoWebsiteURL */null, + /* images */Collections. emptyList(), /* videos */ + Collections. emptyList()); + CourseArea defaultCourseArea = sourceService.addCourseAreas(event.getId(), new String[] { "ECHO" }, + new UUID[] { UUID.randomUUID() })[0]; List raceColumnNames = new ArrayList(); String raceColumnName = "T1"; @@ -1425,9 +1454,10 @@ public class MasterDataImportTest { series.add(new SeriesImpl("testSeries", false, fleets, emptyRaceColumnNamesList, sourceService)); UUID regattaUUID = UUID.randomUUID(); - Regatta regatta = sourceService.createRegatta(RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, - /*startDate*/ null, /*endDate*/ null, regattaUUID, series, - true, new LowPoint(), defaultCourseArea.getId(), /* useStartTimeInference */ true, OneDesignRankingMetric::new); + Regatta regatta = sourceService.createRegatta( + RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, + /* startDate */null, /* endDate */null, regattaUUID, series, true, new LowPoint(), + defaultCourseArea.getId(), /* useStartTimeInference */true, OneDesignRankingMetric::new); for (String name : raceColumnNames) { series.get(0).addRaceColumn(name, sourceService); } @@ -1437,7 +1467,7 @@ public class MasterDataImportTest { List leaderboardNames = new ArrayList(); leaderboardNames.add(leaderboard.getName()); LeaderboardGroup group = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, null, null); + /* displayName */null, false, leaderboardNames, null, null); // Set tracked Race with competitors Set competitors = new HashSet(); @@ -1450,7 +1480,8 @@ public class MasterDataImportTest { DynamicTeam team = new TeamImpl("Pros", sailors, coach); BoatClass boatClass = new BoatClassImpl("H16", true); DynamicBoat boat = new BoatImpl("Wingy", boatClass, "GER70133"); - CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ + null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitor); UUID competitorToSuppressUUID = UUID.randomUUID(); Set sailors2 = new HashSet(); @@ -1460,8 +1491,8 @@ public class MasterDataImportTest { "Bester Coach"); DynamicTeam team2 = new TeamImpl("Noobs", sailors2, coach2); DynamicBoat boat2 = new BoatImpl("LahmeEnte", boatClass, "GER1337"); - CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null,null, - team2, boat2, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null, + null, team2, boat2, /* timeOnTimeFactor */null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitorToSuppress); RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); TrackedRace trackedRace = new DummyTrackedRace(raceId, competitors, regatta, null, sourceService.getWindStore()); @@ -1469,9 +1500,8 @@ public class MasterDataImportTest { raceColumn.setTrackedRace(testFleet1, trackedRace); // Set log event - RaceLogEventFactory factory = new RaceLogEventFactoryImpl(); TimePoint logTimePoint = new MillisecondsTimePoint(1372489200000L); - RaceLogStartTimeEvent logEvent = factory.createStartTimeEvent(logTimePoint, author, 1, logTimePoint); + RaceLogStartTimeEvent logEvent = new RaceLogStartTimeEventImpl(logTimePoint, author, 1, logTimePoint); raceColumn.getRaceLog(testFleet1).add(logEvent); storedLogUUIDs.add(logEvent.getId()); @@ -1538,7 +1568,8 @@ public class MasterDataImportTest { IOException, InterruptedException, ClassNotFoundException { // Setup source service RacingEventService sourceService = new RacingEventServiceImpl(); - Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */ null, eventStartDate, eventEndDate, "testVenue", false, eventUUID); + Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */null, eventStartDate, eventEndDate, + "testVenue", false, eventUUID); UUID courseAreaUUID = UUID.randomUUID(); CourseArea courseArea = new CourseAreaImpl("testArea", courseAreaUUID); event.getVenue().addCourseArea(courseArea); @@ -1557,9 +1588,10 @@ public class MasterDataImportTest { fleets.add(new FleetImpl("testFleet2")); series.add(new SeriesImpl("testSeries", false, fleets, emptyRaceColumnNamesList, sourceService)); UUID regattaUUID = UUID.randomUUID(); - Regatta regatta = sourceService.createRegatta(RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, - /*startDate*/ null, /*endDate*/ null, regattaUUID, series, - true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ true, OneDesignRankingMetric::new); + Regatta regatta = sourceService.createRegatta( + RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, + /* startDate */null, /* endDate */null, regattaUUID, series, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ + true, OneDesignRankingMetric::new); event.addRegatta(regatta); for (String name : raceColumnNames) { series.get(0).addRaceColumn(name, sourceService); @@ -1571,7 +1603,7 @@ public class MasterDataImportTest { List leaderboardNames = new ArrayList(); leaderboardNames.add(leaderboard.getName()); LeaderboardGroup group = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, null, null); + /* displayName */null, false, leaderboardNames, null, null); // Set tracked Race with competitors Set competitors = new HashSet(); @@ -1584,7 +1616,8 @@ public class MasterDataImportTest { DynamicTeam team = new TeamImpl("Pros", sailors, coach); BoatClass boatClass = new BoatClassImpl("H16", true); DynamicBoat boat = new BoatImpl("Wingy", boatClass, "GER70133"); - CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ + null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitor); UUID competitorToSuppressUUID = UUID.randomUUID(); Set sailors2 = new HashSet(); @@ -1594,8 +1627,8 @@ public class MasterDataImportTest { "Bester Coach"); DynamicTeam team2 = new TeamImpl("Noobs", sailors2, coach2); DynamicBoat boat2 = new BoatImpl("LahmeEnte", boatClass, "GER1337"); - CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null, null, - team2, boat2, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null, + null, team2, boat2, /* timeOnTimeFactor */null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitorToSuppress); RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); TrackedRace trackedRace = new DummyTrackedRace(raceId, competitors, regatta, null, sourceService.getWindStore()); @@ -1605,9 +1638,8 @@ public class MasterDataImportTest { sourceService.setRegattaForRace(regatta, "dummy2"); // Set log event - RaceLogEventFactory factory = new RaceLogEventFactoryImpl(); TimePoint logTimePoint = new MillisecondsTimePoint(1372489200000L); - RaceLogStartTimeEvent logEvent = factory.createStartTimeEvent(logTimePoint, author, 1, logTimePoint); + RaceLogStartTimeEvent logEvent = new RaceLogStartTimeEventImpl(logTimePoint, author, 1, logTimePoint); raceColumn.getRaceLog(testFleet1).add(logEvent); storedLogUUIDs.add(logEvent.getId()); @@ -1704,28 +1736,30 @@ public class MasterDataImportTest { assignedRaces.add(new RegattaNameAndRaceName(regattaName2, raceName4)); assignedRaces.add(new RegattaNameAndRaceName(regattaName2, raceName5)); assignedRaces.add(new RegattaNameAndRaceName(missingRegattaName, missingRaceName)); - MediaTrack trackOnSource = new MediaTrack("testTitle", "http://test/test.mp4", new MillisecondsTimePoint(0), MillisecondsDurationImpl.ONE_HOUR, - MimeType.mp4, assignedRaces); + MediaTrack trackOnSource = new MediaTrack("testTitle", "http://test/test.mp4", new MillisecondsTimePoint(0), + MillisecondsDurationImpl.ONE_HOUR, MimeType.mp4, assignedRaces); sourceService.mediaTrackAdded(trackOnSource); - + Collection raceColumnNames = Arrays.asList(raceName1, raceName2, raceName3, raceName4, raceName5); Regatta regatta = MediaMasterDataExportTest.createTestRegatta(regattaName1, raceColumnNames); sourceService.addRegattaWithoutReplication(regatta); int[] discardThresholds = new int[0]; - RegattaLeaderboard leaderboard = sourceService.addRegattaLeaderboard(regatta.getRegattaIdentifier(), "leaderboard display name", discardThresholds); - Collection raceIdentifiers = Arrays.asList( - new RegattaNameAndRaceName(regattaName1, raceName1), + RegattaLeaderboard leaderboard = sourceService.addRegattaLeaderboard(regatta.getRegattaIdentifier(), + "leaderboard display name", discardThresholds); + Collection raceIdentifiers = Arrays.asList(new RegattaNameAndRaceName(regattaName1, raceName1), new RegattaNameAndRaceName(regattaName1, raceName2), new RegattaNameAndRaceName(regattaName1, raceName3), new RegattaNameAndRaceName(regattaName2, raceName4), - new RegattaNameAndRaceName(regattaName2, raceName5) - ); + new RegattaNameAndRaceName(regattaName2, raceName5)); MediaMasterDataExportTest.assignRacesToRegattaLeaderboardColumns(leaderboard, raceIdentifiers); boolean displayGroupsInReverseOrder = false; int[] overallLeaderboardDiscardThresholds = new int[0]; UUID leaderboardGropuUuid = UUID.randomUUID(); - LeaderboardGroup leaderboardGroup = sourceService.addLeaderboardGroup(leaderboardGropuUuid , "leaderboard group name", "leaderboard group description", "leaderboard group display name", displayGroupsInReverseOrder, Collections.singletonList(leaderboard.getName()), overallLeaderboardDiscardThresholds, ScoringSchemeType.LOW_POINT); - + LeaderboardGroup leaderboardGroup = sourceService.addLeaderboardGroup(leaderboardGropuUuid, + "leaderboard group name", "leaderboard group description", "leaderboard group display name", + displayGroupsInReverseOrder, Collections.singletonList(leaderboard.getName()), + overallLeaderboardDiscardThresholds, ScoringSchemeType.LOW_POINT); + // Serialize List groupNamesToExport = Collections.singletonList(leaderboardGroup.getName()); @@ -1781,7 +1815,8 @@ public class MasterDataImportTest { InterruptedException, ClassNotFoundException { // Setup source service RacingEventService sourceService = new RacingEventServiceImpl(); - Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */ null, eventStartDate, eventEndDate, "testVenue", false, eventUUID); + Event event = sourceService.addEvent(TEST_EVENT_NAME, /* eventDescription */null, eventStartDate, eventEndDate, + "testVenue", false, eventUUID); UUID courseAreaUUID = UUID.randomUUID(); CourseArea courseArea = new CourseAreaImpl("testArea", courseAreaUUID); event.getVenue().addCourseArea(courseArea); @@ -1799,9 +1834,10 @@ public class MasterDataImportTest { fleets.add(new FleetImpl("testFleet2")); series.add(new SeriesImpl("testSeries", false, fleets, emptyRaceColumnNamesList, sourceService)); UUID regattaUUID = UUID.randomUUID(); - Regatta regatta = sourceService.createRegatta(RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, - /*startDate*/ null, /*endDate*/ null, regattaUUID, series, - true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ true, OneDesignRankingMetric::new); + Regatta regatta = sourceService.createRegatta( + RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, + /* startDate */null, /* endDate */null, regattaUUID, series, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ + true, OneDesignRankingMetric::new); event.addRegatta(regatta); for (String name : raceColumnNames) { series.get(0).addRaceColumn(name, sourceService); @@ -1812,10 +1848,12 @@ public class MasterDataImportTest { "testDisplayName", discardRule); List leaderboardNames = new ArrayList(); leaderboardNames.add(leaderboard.getName()); - LeaderboardGroup group1 = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, null, null); - LeaderboardGroup group2 = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME2, "testGroupDesc2", - /* displayName */ null, false, leaderboardNames, null, null); + LeaderboardGroup group1 = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, + "testGroupDesc", + /* displayName */null, false, leaderboardNames, null, null); + LeaderboardGroup group2 = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME2, + "testGroupDesc2", + /* displayName */null, false, leaderboardNames, null, null); // Set tracked Race with competitors Set competitors = new HashSet(); @@ -1828,7 +1866,8 @@ public class MasterDataImportTest { DynamicTeam team = new TeamImpl("Pros", sailors, coach); BoatClass boatClass = new BoatClassImpl("H16", true); DynamicBoat boat = new BoatImpl("Wingy", boatClass, "GER70133"); - CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ + null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitor); UUID competitorToSuppressUUID = UUID.randomUUID(); Set sailors2 = new HashSet(); @@ -1838,8 +1877,8 @@ public class MasterDataImportTest { "Bester Coach"); DynamicTeam team2 = new TeamImpl("Noobs", sailors2, coach2); DynamicBoat boat2 = new BoatImpl("LahmeEnte", boatClass, "GER1337"); - CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null, null, - team2, boat2, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null, + null, team2, boat2, /* timeOnTimeFactor */null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitorToSuppress); RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); @@ -1908,8 +1947,9 @@ public class MasterDataImportTest { int[] discardRule = { 1, 2, 3, 4 }; ScoringScheme scheme = new LowPoint(); List leaderboardNames = new ArrayList(); - LeaderboardGroup sourceGroup = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, discardRule, scheme.getType()); + LeaderboardGroup sourceGroup = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, + "testGroupDesc", + /* displayName */null, false, leaderboardNames, discardRule, scheme.getType()); FlexibleLeaderboard sourceLeaderboard1 = new FlexibleLeaderboardImpl("Leaderboard1", null, scheme, null); sourceService.addLeaderboard(sourceLeaderboard1); sourceGroup.addLeaderboard(sourceLeaderboard1); @@ -2026,8 +2066,9 @@ public class MasterDataImportTest { seriesOnTarget.add(new SeriesImpl("testSeries", false, fleets, emptyRaceColumnNamesList, sourceService)); UUID regattaUUID = UUID.randomUUID(); Regatta regatta = sourceService.createRegatta( - RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, /*startDate*/ null, /*endDate*/ null, regattaUUID, - seriesOnSource, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */true, OneDesignRankingMetric::new); + RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, /* startDate */ + null, /* endDate */null, regattaUUID, seriesOnSource, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */ + true, OneDesignRankingMetric::new); for (String name : raceColumnNames) { seriesOnSource.get(0).addRaceColumn(name, sourceService); } @@ -2038,13 +2079,11 @@ public class MasterDataImportTest { ScoringScheme scoringScheme = new LowPoint(); String flexLeaderboardName = "FlexName"; FlexibleLeaderboard leaderboard = sourceService.addFlexibleLeaderboard(flexLeaderboardName, "TestFlex", - discardRule, - scoringScheme, courseAreaUUID); + discardRule, scoringScheme, courseAreaUUID); List leaderboardNames = new ArrayList(); leaderboardNames.add(leaderboard.getName()); LeaderboardGroup group = sourceService.addLeaderboardGroup(UUID.randomUUID(), TEST_GROUP_NAME, "testGroupDesc", - /* displayName */ null, false, leaderboardNames, null, null); - + /* displayName */null, false, leaderboardNames, null, null); // Set tracked Race with competitors List competitors = new ArrayList(); @@ -2057,7 +2096,8 @@ public class MasterDataImportTest { DynamicTeam team = new TeamImpl("Pros", sailors, coach); BoatClass boatClass = new BoatClassImpl("H16", true); DynamicBoat boat = new BoatImpl("Wingy", boatClass, "GER70133"); - CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitor = new CompetitorImpl(competitorUUID, "Froderik", Color.RED, null, null, team, boat, /* timeOnTimeFactor */ + null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitor); UUID competitorToSuppressUUID = UUID.randomUUID(); Set sailors2 = new HashSet(); @@ -2067,8 +2107,8 @@ public class MasterDataImportTest { "Bester Coach"); DynamicTeam team2 = new TeamImpl("Noobs", sailors2, coach2); DynamicBoat boat2 = new BoatImpl("LahmeEnte", boatClass, "GER1337"); - CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null, null, - team2, boat2, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null); + CompetitorImpl competitorToSuppress = new CompetitorImpl(competitorToSuppressUUID, "Merkel", Color.RED, null, + null, team2, boat2, /* timeOnTimeFactor */null, /* timeOnDistanceAllowancePerNauticalMile */null); competitors.add(competitorToSuppress); TrackedRace trackedRace = new DummyTrackedRace(raceId, competitors, regatta, null, sourceService.getWindStore()); @@ -2077,16 +2117,14 @@ public class MasterDataImportTest { raceColumnOnLeaderboard.setFactor(3.0); // Set log event - RaceLogEventFactory factory = new RaceLogEventFactoryImpl(); TimePoint logTimePoint = new MillisecondsTimePoint(1372489200000L); TimePoint logTimePoint2 = new MillisecondsTimePoint(1372489201000L); - RaceLogStartTimeEvent logEvent = factory.createStartTimeEvent(logTimePoint, author, 1, logTimePoint); + RaceLogStartTimeEvent logEvent = new RaceLogStartTimeEventImpl(logTimePoint, author, 1, logTimePoint); Fleet defaultFleet = leaderboard.getFleet(null); raceColumnOnLeaderboard.getRaceLog(defaultFleet).add(logEvent); Position p = new DegreePosition(3, 3); Wind wind = new WindImpl(p, logTimePoint2, new KnotSpeedWithBearingImpl(5, new DegreeBearingImpl(12))); - RaceLogWindFixEvent windEvent = factory.createWindFixEvent(logTimePoint2, author, UUID.randomUUID(), - new ArrayList(), 2, wind, /* isMagnetic */ false); + RaceLogWindFixEvent windEvent = new RaceLogWindFixEventImpl(logTimePoint2, author, 2, wind, /* isMagnetic */false); raceColumnOnLeaderboard.getRaceLog(defaultFleet).add(windEvent); storedLogUUIDs.add(logEvent.getId()); storedLogUUIDs.add(windEvent.getId()); @@ -2157,12 +2195,11 @@ public class MasterDataImportTest { Regatta regattaOnTarget = destService.createRegatta( RegattaImpl.getDefaultName(TEST_REGATTA_NAME, TEST_BOAT_CLASS_NAME), TEST_BOAT_CLASS_NAME, - /*startDate*/ null, /*endDate*/ null, regattaUUID, - seriesOnTarget, true, new LowPoint(), courseAreaUUID, /* useStartTimeInference */true, OneDesignRankingMetric::new); + /* startDate */null, /* endDate */null, regattaUUID, seriesOnTarget, true, new LowPoint(), + courseAreaUUID, /* useStartTimeInference */true, OneDesignRankingMetric::new); - raceColumnOnTarget.setTrackedRace(defaultFleetOnTarget, - new DummyTrackedRace(raceId, - competitors, regattaOnTarget, null, sourceService.getWindStore())); + raceColumnOnTarget.setTrackedRace(defaultFleetOnTarget, new DummyTrackedRace(raceId, competitors, + regattaOnTarget, null, sourceService.getWindStore())); Assert.assertTrue(leaderboardOnTarget.getScoreCorrection().hasCorrectionFor(raceColumnOnTarget)); Competitor competitorOnTarget = domainFactory.getExistingCompetitorById(competitorUUID); @@ -2170,7 +2207,8 @@ public class MasterDataImportTest { competitorsCreatedOnTarget.add(competitorOnTarget); Assert.assertEquals(defaultFleetOnTarget, leaderboardOnTarget.getFleet(null)); - TrackedRace trackedRaceForTarget = new DummyTrackedRace(raceId, competitorsCreatedOnTarget, regattaOnTarget, null, sourceService.getWindStore()); + TrackedRace trackedRaceForTarget = new DummyTrackedRace(raceId, competitorsCreatedOnTarget, regattaOnTarget, + null, sourceService.getWindStore()); raceColumnOnTarget.setTrackedRace(defaultFleetOnTarget, trackedRaceForTarget); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogInRaceColumnTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogInRaceColumnTest.java index bedb32a86d3..16dada2c90e 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogInRaceColumnTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogInRaceColumnTest.java @@ -9,7 +9,7 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.common.racelog.Flags; @@ -61,7 +61,7 @@ public class RaceLogInRaceColumnTest { server.apply(addLeaderboardColumn); TimePoint t1 = MillisecondsTimePoint.now(); - RaceLogEvent rlEvent = RaceLogEventFactory.INSTANCE.createFlagEvent( + RaceLogEvent rlEvent = new RaceLogFlagEventImpl( t1, author, 0, Flags.CLASS, Flags.NONE, true); Leaderboard leaderboard = racingEventServiceServer.getLeaderboardByName(LEADERBOARDNAME); @@ -118,8 +118,8 @@ public class RaceLogInRacingEventServiceImplTest { TimePoint t2 = new MillisecondsTimePoint(t1.asMillis() + 1000); int passId = 0; boolean isDisplayed = true; - RaceLogFlagEvent rcEvent = RaceLogEventFactory.INSTANCE.createFlagEvent(t1, passId, Flags.CLASS, Flags.NONE, isDisplayed); - RaceLogFlagEvent rcEvent2 = RaceLogEventFactory.INSTANCE.createFlagEvent(t2, passId, Flags.AP, Flags.NONE, isDisplayed); + RaceLogFlagEvent rcEvent = new RaceLogFlagEventImpl(t1, passId, Flags.CLASS, Flags.NONE, isDisplayed); + RaceLogFlagEvent rcEvent2 = new RaceLogFlagEventImpl(t2, passId, Flags.AP, Flags.NONE, isDisplayed); Leaderboard leaderboard = racingEventServiceServer.getLeaderboardByName(LEADERBOARDNAME); RaceColumn raceColumn = leaderboard.getRaceColumnByName("newColumn"); @@ -197,8 +197,8 @@ public class RaceLogInRacingEventServiceImplTest { TimePoint t2 = new MillisecondsTimePoint(t1.asMillis() + 1000); int passId = 0; boolean isDisplayed = true; - RaceLogFlagEvent rcEvent = RaceLogEventFactory.INSTANCE.createFlagEvent(t1, passId, Flags.CLASS, Flags.NONE, isDisplayed); - RaceLogFlagEvent rcEvent2 = RaceLogEventFactory.INSTANCE.createFlagEvent(t2, passId, Flags.AP, Flags.NONE, isDisplayed); + RaceLogFlagEvent rcEvent = new RaceLogFlagEventImpl(t1, passId, Flags.CLASS, Flags.NONE, isDisplayed); + RaceLogFlagEvent rcEvent2 = new RaceLogFlagEventImpl(t2, passId, Flags.AP, Flags.NONE, isDisplayed); Leaderboard leaderboard = racingEventServiceServer.getLeaderboardByName(regattaLeaderboardName); RaceColumn raceColumn = leaderboard.getRaceColumnByName("R1"); @@ -276,8 +276,8 @@ public class RaceLogInRacingEventServiceImplTest { TimePoint t2 = new MillisecondsTimePoint(t1.asMillis() + 1000); int passId = 0; boolean isDisplayed = true; - RaceLogFlagEvent rcEvent = RaceLogEventFactory.INSTANCE.createFlagEvent(t1, passId, Flags.CLASS, Flags.NONE, isDisplayed); - RaceLogFlagEvent rcEvent2 = RaceLogEventFactory.INSTANCE.createFlagEvent(t2, passId, Flags.AP, Flags.NONE, isDisplayed); + RaceLogFlagEvent rcEvent = new RaceLogFlagEventImpl(t1, passId, Flags.CLASS, Flags.NONE, isDisplayed); + RaceLogFlagEvent rcEvent2 = new RaceLogFlagEventImpl(t2, passId, Flags.AP, Flags.NONE, isDisplayed); Leaderboard leaderboard = racingEventServiceServer.getLeaderboardByName(regattaLeaderboardName); RaceColumn raceColumn = leaderboard.getRaceColumnByName("R1"); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java index 8bfb9aa4db3..67b7953203d 100755 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java @@ -3,7 +3,6 @@ package com.sap.sailing.server.test; import static org.junit.Assert.assertEquals; import java.util.Calendar; -import java.util.Collections; import java.util.GregorianCalendar; import java.util.UUID; import java.util.concurrent.CountDownLatch; @@ -17,7 +16,6 @@ import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; -import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.server.operationaltransformation.racelog.RaceLogEventWithTransformationSupport; import com.sap.sailing.server.operationaltransformation.racelog.RaceLogStartTimeEventWithTransformationSupport; import com.sap.sse.common.TimePoint; @@ -96,7 +94,7 @@ public class RaceLogOperationalTransformationTest { public void testSimpleApply() { Calendar c = new GregorianCalendar(2013, 6, 7, 13, 59, 33); final MillisecondsTimePoint startTime = new MillisecondsTimePoint(c.getTime()); - RaceLogStartTimeEvent startTimeEvent = new RaceLogStartTimeEventImpl(MillisecondsTimePoint.now(), author, startTime, UUID.randomUUID(), Collections. emptyList(), /* pass ID */ 1, startTime); + RaceLogStartTimeEvent startTimeEvent = new RaceLogStartTimeEventImpl(startTime, author, /* pass ID */ 1, startTime); RaceLogStartTimeEventWithTransformationSupport e = new RaceLogStartTimeEventWithTransformationSupport(startTimeEvent); server.apply(e); serverLatch.countDown(); @@ -140,7 +138,7 @@ public class RaceLogOperationalTransformationTest { final TimePoint createdAt = MillisecondsTimePoint.now(); { RaceLogStartTimeEvent startTimeEventServer = new RaceLogStartTimeEventImpl(createdAt, - author, startTimeServer, UUID.randomUUID(), Collections. emptyList(), /* pass ID */1, + startTimeServer, author, UUID.randomUUID(), /* pass ID */1, startTimeServer); RaceLogStartTimeEventWithTransformationSupport eServer = new RaceLogStartTimeEventWithTransformationSupport( startTimeEventServer); @@ -150,7 +148,7 @@ public class RaceLogOperationalTransformationTest { Calendar cClient1 = new GregorianCalendar(2013, 6, 7, 13, 59, 33); final MillisecondsTimePoint startTimeClient1 = new MillisecondsTimePoint(cClient1.getTime()); RaceLogStartTimeEvent startTimeEventClient1 = new RaceLogStartTimeEventImpl(createdAt, - author, startTimeClient1, UUID.randomUUID(), Collections. emptyList(), /* pass ID */1, + startTimeClient1, author, UUID.randomUUID(), /* pass ID */1, startTimeClient1); final RaceLogStartTimeEventWithTransformationSupport eClient1 = new RaceLogStartTimeEventWithTransformationSupport( startTimeEventClient1); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/WindByRaceLogTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/WindByRaceLogTest.java index bf44848d496..d4e925cb997 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/WindByRaceLogTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/WindByRaceLogTest.java @@ -15,8 +15,8 @@ import org.junit.Test; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogWindFixEventImpl; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.DomainFactory; @@ -133,8 +133,8 @@ public class WindByRaceLogTest { new KnotSpeedWithBearingImpl(15, new DegreeBearingImpl(234))); Wind wind2 = new WindImpl(new DegreePosition(49, 3), timeMinus2, new KnotSpeedWithBearingImpl(12, new DegreeBearingImpl(123))); - RaceLogWindFixEvent windEvent1 = RaceLogEventFactory.INSTANCE.createWindFixEvent(timeMinus3, author, 0, wind1, /* isMagnetic */ false); - RaceLogWindFixEvent windEvent2 = RaceLogEventFactory.INSTANCE.createWindFixEvent(timeMinus2, author, 0, wind2, /* isMagnetic */ false); + RaceLogWindFixEvent windEvent1 = new RaceLogWindFixEventImpl(timeMinus3, author, 0, wind1, /* isMagnetic */ false); + RaceLogWindFixEvent windEvent2 = new RaceLogWindFixEventImpl(timeMinus2, author, 0, wind2, /* isMagnetic */ false); raceLog.add(windEvent1); raceLog.add(windEvent2); @@ -163,7 +163,7 @@ public class WindByRaceLogTest { Wind wind1 = new WindImpl(new DegreePosition(50, 4), timeMinus3, new KnotSpeedWithBearingImpl(15, new DegreeBearingImpl(234))); - RaceLogWindFixEvent windEvent1 = RaceLogEventFactory.INSTANCE.createWindFixEvent(timeMinus3, author, 0, wind1, /* isMagnetic */ false); + RaceLogWindFixEvent windEvent1 = new RaceLogWindFixEventImpl(timeMinus3, author, 0, wind1, /* isMagnetic */ false); raceLog.add(windEvent1); WindSource source = new WindSourceImpl(WindSourceType.RACECOMMITTEE); @@ -192,9 +192,9 @@ public class WindByRaceLogTest { new KnotSpeedWithBearingImpl(12, new DegreeBearingImpl(123))); Wind wind3 = new WindImpl(new DegreePosition(48, 1), timeMinus2, new KnotSpeedWithBearingImpl(18, new DegreeBearingImpl(270))); - RaceLogWindFixEvent windEvent1 = RaceLogEventFactory.INSTANCE.createWindFixEvent(timeMinus3, author, 0, wind1, /* isMagnetic */ false); - RaceLogWindFixEvent windEvent2 = RaceLogEventFactory.INSTANCE.createWindFixEvent(timeMinus2, author, 0, wind2, /* isMagnetic */ false); - RaceLogWindFixEvent windEvent3 = RaceLogEventFactory.INSTANCE.createWindFixEvent(timeMinus1, author, 0, wind3, /* isMagnetic */ false); + RaceLogWindFixEvent windEvent1 = new RaceLogWindFixEventImpl(timeMinus3, author, 0, wind1, /* isMagnetic */ false); + RaceLogWindFixEvent windEvent2 = new RaceLogWindFixEventImpl(timeMinus2, author, 0, wind2, /* isMagnetic */ false); + RaceLogWindFixEvent windEvent3 = new RaceLogWindFixEventImpl(timeMinus1, author, 0, wind3, /* isMagnetic */ false); raceLog.add(windEvent1); raceLog.add(windEvent2); diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/OfflineDataManager.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/OfflineDataManager.java index 0990cacc4de..93e1ae7ec11 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/OfflineDataManager.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/OfflineDataManager.java @@ -16,9 +16,9 @@ import android.content.Context; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; -import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventFactoryImpl; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRaceStatusEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; import com.sap.sailing.domain.abstractlog.race.state.impl.RaceStateImpl; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.CourseArea; @@ -98,16 +98,15 @@ public class OfflineDataManager extends DataManager { competitors.add(new CompetitorImpl(UUID.randomUUID(), "Team Korea", Color.GREEN, null, null, null, null, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null)); competitors.add(new CompetitorImpl(UUID.randomUUID(), "Realteam", Color.BLACK, null, null, null, null, /* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null)); - RaceLogEventFactory factory = new RaceLogEventFactoryImpl(); RaceLog log = new RaceLogImpl(UUID.randomUUID()); final AbstractLogEventAuthor author = AppPreferences.on(context).getAuthor(); ConfigurationLoader configuration = PreferencesRegattaConfigurationLoader .loadFromPreferences(preferences); - log.add(factory.createStartTimeEvent(new MillisecondsTimePoint(new Date().getTime() - 2000), author, 1, + log.add(new RaceLogStartTimeEventImpl(new MillisecondsTimePoint(new Date().getTime() - 2000), author, 1, new MillisecondsTimePoint(new Date().getTime() - 1000))); - log.add(factory.createRaceStatusEvent(new MillisecondsTimePoint(new Date().getTime()), + log.add(new RaceLogRaceStatusEventImpl(new MillisecondsTimePoint(new Date().getTime()), AppPreferences.on(context).getAuthor(), 1, RaceLogRaceStatus.FINISHING)); ManagedRace q1 = new ManagedRaceImpl(new ManagedRaceIdentifierImpl("A.B", new FleetImpl("A"), qualifying, raceGroup), From 817bb285c7aad507e1bb94dccccee03258a66046 Mon Sep 17 00:00:00 2001 From: Fredrik Teschke Date: Mon, 2 Nov 2015 23:09:42 +0100 Subject: [PATCH 02/10] more housekeeping on RaceLog*Events --- .../impl/DomainObjectFactoryImpl.java | 31 ++++++++++--------- .../test/DependentStartTimeFinderTest.java | 6 ++-- .../state/test/DependentRaceStateTest.java | 8 ++--- .../racelog/state/test/RaceStateTest.java | 4 +-- .../impl/AbstractLogEventImpl.java | 16 ++++++---- .../RaceLogCourseAreaChangeEventImpl.java | 11 +++---- .../RaceLogCourseDesignChangedEventImpl.java | 11 +++---- .../RaceLogDependentStartTimeEventImpl.java | 6 ++-- .../race/impl/RaceLogEventImpl.java | 17 +++++----- ...ogFinishPositioningConfirmedEventImpl.java | 6 ++-- .../RaceLogFinishPositioningEventImpl.java | 11 +++---- ...FinishPositioningListChangedEventImpl.java | 6 ++-- .../RaceLogFixedMarkPassingEventImpl.java | 17 +++++----- .../race/impl/RaceLogFlagEventImpl.java | 18 +++++------ .../RaceLogGateLineOpeningTimeEventImpl.java | 11 +++---- .../race/impl/RaceLogPassChangeEventImpl.java | 6 ++-- .../race/impl/RaceLogPathfinderEventImpl.java | 11 +++---- .../RaceLogProtestStartTimeEventImpl.java | 19 +++++------- .../race/impl/RaceLogRaceStatusEventImpl.java | 5 ++- .../impl/RaceLogStartOfTrackingEventImpl.java | 6 ++-- ...RaceLogStartProcedureChangedEventImpl.java | 11 +++---- .../race/impl/RaceLogStartTimeEventImpl.java | 9 +++--- ...aceLogSuppressedMarkPassingsEventImpl.java | 11 ++----- .../race/impl/RaceLogWindFixEventImpl.java | 12 +++---- ...AdditionalScoringInformationEventImpl.java | 9 ++---- ...AbstractRaceLogDeviceMappingEventImpl.java | 5 ++- ...gCloseOpenEndedDeviceMappingEventImpl.java | 3 +- .../impl/RaceLogDefineMarkEventImpl.java | 3 +- .../RaceLogDenoteForTrackingEventImpl.java | 5 +-- .../RaceLogRegisterCompetitorEventImpl.java | 3 +- .../impl/RaceLogStartTrackingEventImpl.java | 6 ++-- ...gCloseOpenEndedDeviceMappingEventImpl.java | 6 ++++ ...taLogDeviceCompetitorMappingEventImpl.java | 4 +-- .../RegattaLogDeviceMarkMappingEventImpl.java | 4 +-- ...egattaLogOpenEndedDeviceMappingCloser.java | 6 ++-- .../impl/AbstractDeviceMappingEventImpl.java | 14 +++------ ...eCloseOpenEndedDeviceMappingEventImpl.java | 4 +-- .../impl/BaseRegisterCompetitorEventImpl.java | 4 +-- .../LeaderboardScoringAndRankingTest.java | 4 +-- .../test/StoreAndLoadRaceLogEventsTest.java | 10 +++--- .../test/StoreAndLoadRaceLogsTest.java | 4 +-- ...alScoringInformationEventDeserializer.java | 2 +- ...LogCourseAreaChangedEventDeserializer.java | 2 +- ...gCourseDesignChangedEventDeserializer.java | 2 +- ...PositioningConfirmedEventDeserializer.java | 2 +- ...sitioningListChangedEventDeserializer.java | 2 +- .../impl/RaceLogFlagEventDeserializer.java | 2 +- ...gGateLineOpeningTimeEventDeserializer.java | 2 +- .../RaceLogPassChangeEventDeserializer.java | 2 +- .../RaceLogPathFinderEventDeserializer.java | 2 +- ...eLogProtestStartTimeEventDeserializer.java | 2 +- ...ceLogStartOfTrackingEventDeserializer.java | 2 +- ...tartProcedureChangedEventDeserializer.java | 2 +- .../RaceLogStartTimeEventDeserializer.java | 2 +- ...RaceLogStartTrackingEventDeserializer.java | 2 +- .../impl/RaceLogWindFixEventDeserializer.java | 2 +- .../jaxrs/api/LeaderboardsResource.java | 4 +-- .../server/test/MasterDataImportTest.java | 6 ++-- .../RaceLogOperationalTransformationTest.java | 4 +-- 59 files changed, 174 insertions(+), 233 deletions(-) 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 e1e07e7fae5..f060325da47 100644 --- 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 @@ -1387,7 +1387,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { Serializable id, Integer passId, List competitors, DBObject dbObject) { Wind wind = loadWind((DBObject) dbObject.get(FieldNames.WIND.name())); Boolean isMagnetic = (Boolean) dbObject.get(FieldNames.IS_MAGNETIC.name()); - return new RaceLogWindFixEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, wind, isMagnetic == null ? true : isMagnetic); + return new RaceLogWindFixEventImpl(createdAt, logicalTimePoint, author, id, passId, wind, isMagnetic == null ? true : isMagnetic); } private RaceLogEvent loadRaceLogDeviceCompetitorMappingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, @@ -1434,7 +1434,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { private RaceLogEvent loadRaceLogStartTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { - return new RaceLogStartTrackingEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId); + return new RaceLogStartTrackingEventImpl(createdAt, logicalTimePoint, author, id, passId); } private RaceLogEvent loadRaceLogRevokeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, @@ -1478,19 +1478,19 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } else { logger.warning("Could not find additional scoring information attached to db log for " + dbObject.toString()); } - return new RaceLogAdditionalScoringInformationEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, informationType); + return new RaceLogAdditionalScoringInformationEventImpl(createdAt, logicalTimePoint, author, id, passId, informationType); } private RaceLogEvent loadRaceLogProtestStartTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { TimePoint protestStartTime = loadTimePoint(dbObject, FieldNames.RACE_LOG_PROTEST_START_TIME); - return new RaceLogProtestStartTimeEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, protestStartTime); + return new RaceLogProtestStartTimeEventImpl(createdAt, logicalTimePoint, author, id, passId, protestStartTime); } private RaceLogEvent loadRaceLogStartProcedureChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { RacingProcedureType type = RacingProcedureType.valueOf(dbObject.get(FieldNames.RACE_LOG_START_PROCEDURE_TYPE.name()).toString()); - return new RaceLogStartProcedureChangedEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, type); + return new RaceLogStartProcedureChangedEventImpl(createdAt, logicalTimePoint, author, id, passId, type); } private RaceLogEvent loadRaceLogGateLineOpeningTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, @@ -1500,14 +1500,14 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { if (dbObject.containsField(FieldNames.RACE_LOG_GOLF_DOWN_TIME.name())) { golfDownTime = (Number) dbObject.get(FieldNames.RACE_LOG_GOLF_DOWN_TIME.name()); } - return new RaceLogGateLineOpeningTimeEventImpl(createdAt, logicalTimePoint, author, id, competitors, + return new RaceLogGateLineOpeningTimeEventImpl(createdAt, logicalTimePoint, author, id, passId, gateLaunchStopTime == null ? null : gateLaunchStopTime.longValue(), golfDownTime.longValue()); } private RaceLogEvent loadRaceLogPathfinderEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { String pathfinderId = dbObject.get(FieldNames.RACE_LOG_PATHFINDER_ID.name()).toString(); - return new RaceLogPathfinderEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, pathfinderId); + return new RaceLogPathfinderEventImpl(createdAt, logicalTimePoint, author, id, passId, pathfinderId); } private RaceLogEvent loadRaceLogFinishPositioningConfirmedEvent(TimePoint createdAt, AbstractLogEventAuthor author, @@ -1520,7 +1520,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { positionedCompetitors = loadPositionedCompetitors(dbPositionedCompetitorList); } - return new RaceLogFinishPositioningConfirmedEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, positionedCompetitors); + return new RaceLogFinishPositioningConfirmedEventImpl(createdAt, logicalTimePoint, author, id, passId, positionedCompetitors); } private RaceLogEvent loadRaceLogFinishPositioningListChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, @@ -1528,23 +1528,23 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { BasicDBList dbPositionedCompetitorList = (BasicDBList) dbObject.get(FieldNames.RACE_LOG_POSITIONED_COMPETITORS.name()); CompetitorResults positionedCompetitors = loadPositionedCompetitors(dbPositionedCompetitorList); - return new RaceLogFinishPositioningListChangedEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, positionedCompetitors); + return new RaceLogFinishPositioningListChangedEventImpl(createdAt, logicalTimePoint, author, id, passId, positionedCompetitors); } private RaceLogEvent loadRaceLogPassChangeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors) { - return new RaceLogPassChangeEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId); + return new RaceLogPassChangeEventImpl(createdAt, logicalTimePoint, author, id, passId); } private RaceLogCourseDesignChangedEvent loadRaceLogCourseDesignChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { String courseName = (String) dbObject.get(FieldNames.RACE_LOG_COURSE_DESIGN_NAME.name()); CourseBase courseData = loadCourseData((BasicDBList) dbObject.get(FieldNames.RACE_LOG_COURSE_DESIGN.name()), courseName); - return new RaceLogCourseDesignChangedEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, courseData); + return new RaceLogCourseDesignChangedEventImpl(createdAt, logicalTimePoint, author, id, passId, courseData); } private RaceLogCourseAreaChangedEvent loadRaceLogCourseAreaChangedEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { Serializable courseAreaId = (Serializable) dbObject.get(FieldNames.COURSE_AREA_ID.name()); - return new RaceLogCourseAreaChangeEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, courseAreaId); + return new RaceLogCourseAreaChangeEventImpl(createdAt, logicalTimePoint, author, id, passId, courseAreaId); } private RaceLogEvent loadRaceLogFixedMarkPassingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, @@ -1605,16 +1605,17 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return null; } - return new RaceLogFlagEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId, upperFlag, lowerFlag, displayed); + return new RaceLogFlagEventImpl(createdAt, logicalTimePoint, author, id, passId, upperFlag, lowerFlag, displayed); } private RaceLogStartTimeEvent loadRaceLogStartTimeEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { TimePoint startTime = loadTimePoint(dbObject, FieldNames.RACE_LOG_EVENT_START_TIME); - return new RaceLogStartTimeEventImpl(createdAt, logicalTimePoint, author, id, passId, startTime); + RaceLogRaceStatus nextStatus = RaceLogRaceStatus.valueOf((String) dbObject.get(FieldNames.RACE_LOG_EVENT_NEXT_STATUS.name())); + return new RaceLogStartTimeEventImpl(createdAt, logicalTimePoint, author, id, passId, startTime, nextStatus); } private RaceLogStartOfTrackingEvent loadRaceLogStartOfTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { - return new RaceLogStartOfTrackingEventImpl(createdAt, logicalTimePoint, author, id, competitors, passId); + return new RaceLogStartOfTrackingEventImpl(createdAt, logicalTimePoint, author, id, passId); } private RaceLogEndOfTrackingEvent loadRaceLogEndOfTrackingEvent(TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java index afed08d7e74..332592dea7a 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java @@ -98,7 +98,7 @@ public class DependentStartTimeFinderTest { assertEquals(expectedDependingOnRaces, result.getRacesDependingOn()); TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000))); + raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), null)); finder = new StartTimeFinder(raceLogResolver, raceLogB); result = finder.analyze(); @@ -111,7 +111,7 @@ public class DependentStartTimeFinderTest { assertEquals(5000, result.getStartTimeDiff().asMillis()); // Test correct behaviour, when middle element changes - raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(15000))); + raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(15000), null)); finder = new StartTimeFinder(raceLogResolver, raceLogA); result = finder.analyze(); assertEquals(5000, result.getStartTime().asMillis()); @@ -157,7 +157,7 @@ public class DependentStartTimeFinderTest { // Check that all resolve correctly after changing some element in cycle TimePoint now = MillisecondsTimePoint.now(); - raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000))); + raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), null)); // now A -> C -> B finder = new StartTimeFinder(raceLogResolver, raceLogA); diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java index ee4461ebfe4..3f4cd99ac3e 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java @@ -100,7 +100,7 @@ public class DependentRaceStateTest { new SimpleRaceLogIdentifierImpl("A", "", ""), new MillisecondsDurationImpl(5000), null)); TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000))); + raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), null)); verify(listenerC, times(3)).onStartTimeChanged(stateC); verify(listenerB, times(2)).onStartTimeChanged(stateB); @@ -122,7 +122,7 @@ public class DependentRaceStateTest { } }); TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, now)); + raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, now, null)); assertEquals(now.plus(delta), bTime[0]); } @@ -135,9 +135,9 @@ public class DependentRaceStateTest { new SimpleRaceLogIdentifierImpl("A", "", ""), new MillisecondsDurationImpl(5000), null)); TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000))); + raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), null)); - raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(20000))); + raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(20000), null)); verify(listenerA, times(1)).onStartTimeChanged(stateA); verify(listenerB, times(3)).onStartTimeChanged(stateB); diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/RaceStateTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/RaceStateTest.java index aee069049b4..6d53331d754 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/RaceStateTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/RaceStateTest.java @@ -107,7 +107,7 @@ public class RaceStateTest { config.setESSConfiguration(mock(ESSConfiguration.class)); configuration = mock(ConfigurationLoader.class); when(configuration.load()).thenReturn(config); - raceLog.add(new RaceLogStartProcedureChangedEventImpl(nowMock, nowMock, author, "12", null, 0, RacingProcedureType.ESS)); + raceLog.add(new RaceLogStartProcedureChangedEventImpl(nowMock, nowMock, author, "12", 0, RacingProcedureType.ESS)); state = new RaceStateImpl(mock(RaceLogResolver.class), raceLog, author, new RacingProcedureFactoryImpl(author, configuration)); assertEquals(RacingProcedureType.ESS, state.getRacingProcedure().getType()); @@ -134,7 +134,7 @@ public class RaceStateTest { public void testSetIndividualRecall() { assertFalse(state.getRacingProcedure().isIndividualRecallDisplayed()); raceLog.add(new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), MillisecondsTimePoint.now(), author, UUID - .randomUUID(), null, /* pass */0, Flags.XRAY, Flags.NONE, /* pIsDisplayed */true)); + .randomUUID(), /* pass */0, Flags.XRAY, Flags.NONE, /* pIsDisplayed */true)); assertTrue(state.getRacingProcedure().isIndividualRecallDisplayed()); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java index 03adf4b7386..7c6595e1eb5 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/impl/AbstractLogEventImpl.java @@ -17,9 +17,6 @@ public abstract class AbstractLogEventImpl implements AbstractLogEvent private final Serializable id; private final AbstractLogEventAuthor author; - /** - * Restore existing event. - */ public AbstractLogEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId) { this.createdAt = createdAt; @@ -29,10 +26,17 @@ public abstract class AbstractLogEventImpl implements AbstractLogEvent } /** - * Create new event. + * To be used by constructors creating new events as the value for {@link #createdAt}. */ - public AbstractLogEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author) { - this(MillisecondsTimePoint.now(), logicalTimePoint, author, UUID.randomUUID()); + protected static final TimePoint now() { + return MillisecondsTimePoint.now(); + } + + /** + * To be used by constructors creating new events as the value for {@link #id}. + */ + protected static final Serializable randId() { + return UUID.randomUUID(); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseAreaChangeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseAreaChangeEventImpl.java index e5f811bd4b1..3f0074c24cd 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseAreaChangeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseAreaChangeEventImpl.java @@ -1,12 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseAreaChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogCourseAreaChangeEventImpl extends RaceLogEventImpl implements RaceLogCourseAreaChangedEvent { @@ -15,15 +13,14 @@ public class RaceLogCourseAreaChangeEventImpl extends RaceLogEventImpl implement private final Serializable courseAreaId; public RaceLogCourseAreaChangeEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, - Serializable pId, List pInvolvedBoats, int pPassId, Serializable courseAreaId) { - super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + Serializable pId, int pPassId, Serializable courseAreaId) { + super(createdAt, pTimePoint, author, pId, pPassId); this.courseAreaId = courseAreaId; } - public RaceLogCourseAreaChangeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + public RaceLogCourseAreaChangeEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, Serializable courseAreaId) { - super(pTimePoint, author, pPassId); - this.courseAreaId = courseAreaId; + this(now(), logicalTimePoint, author, randId(), pPassId, courseAreaId); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseDesignChangedEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseDesignChangedEventImpl.java index 5dd184bd3c3..c295cf8d891 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseDesignChangedEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogCourseDesignChangedEventImpl.java @@ -1,12 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogCourseDesignChangedEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; -import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.CourseBase; import com.sap.sse.common.TimePoint; @@ -16,16 +14,15 @@ public class RaceLogCourseDesignChangedEventImpl extends RaceLogEventImpl implem private final CourseBase courseDesign; public RaceLogCourseDesignChangedEventImpl(TimePoint createdAt, TimePoint pTimePoint, - AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, + AbstractLogEventAuthor author, Serializable pId, int pPassId, CourseBase courseDesign) { - super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + super(createdAt, pTimePoint, author, pId, pPassId); this.courseDesign = courseDesign; } - public RaceLogCourseDesignChangedEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + public RaceLogCourseDesignChangedEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, CourseBase courseDesign) { - super(pTimePoint, author, pPassId); - this.courseDesign = courseDesign; + this(now(), logicalTimePoint, author, randId(), pPassId, courseDesign); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogDependentStartTimeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogDependentStartTimeEventImpl.java index 16d94ae580a..a2038c91ffb 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogDependentStartTimeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogDependentStartTimeEventImpl.java @@ -26,11 +26,9 @@ public class RaceLogDependentStartTimeEventImpl extends RaceLogRaceStatusEventIm this.startTimeDifference = startTimeDifference; } - public RaceLogDependentStartTimeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + public RaceLogDependentStartTimeEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, SimpleRaceLogIdentifier dependentOnRace, Duration startTimeDifference) { - super(pTimePoint, author, pPassId, RaceLogRaceStatus.SCHEDULED); - this.dependentOnRace = dependentOnRace; - this.startTimeDifference = startTimeDifference; + this(now(), logicalTimePoint, author, randId(), pPassId, dependentOnRace, startTimeDifference, RaceLogRaceStatus.SCHEDULED); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventImpl.java index d1507b02f9d..41da8329cb0 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogEventImpl.java @@ -16,26 +16,23 @@ public abstract class RaceLogEventImpl extends AbstractLogEventImplemptyList(), pPassId); - } - public RaceLogEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId) { super(createdAt, logicalTimePoint, author, pId); this.raceLogEventData = new RaceLogEventDataImpl(pInvolvedBoats, pPassId); } + public RaceLogEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, + Serializable pId, int pPassId) { + this(createdAt, logicalTimePoint, author, pId, Collections.emptyList(), pPassId); + } + public RaceLogEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Competitor competitor, int pPassId) { - super(logicalTimePoint, author); - this.raceLogEventData = new RaceLogEventDataImpl(Collections.singletonList(competitor), pPassId); + this(now(), logicalTimePoint, author, randId(), Collections.singletonList(competitor), pPassId); } public RaceLogEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId) { - super(logicalTimePoint, author); - this.raceLogEventData = new RaceLogEventDataImpl(Collections.emptyList(), pPassId); + this(now(), logicalTimePoint, author, randId(), Collections.emptyList(), pPassId); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningConfirmedEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningConfirmedEventImpl.java index 472bcd4bd0f..d99930ece66 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningConfirmedEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningConfirmedEventImpl.java @@ -1,13 +1,11 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.CompetitorResults; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogFinishPositioningConfirmedEventImpl extends RaceLogFinishPositioningEventImpl implements @@ -16,9 +14,9 @@ public class RaceLogFinishPositioningConfirmedEventImpl extends RaceLogFinishPos private static final long serialVersionUID = 5028181339200048499L; public RaceLogFinishPositioningConfirmedEventImpl(TimePoint createdAt, TimePoint pTimePoint, - AbstractLogEventAuthor author, Serializable pId, List pCompetitors, int pPassId, + AbstractLogEventAuthor author, Serializable pId, int pPassId, CompetitorResults positionedCompetitors) { - super(createdAt, pTimePoint, author, pId, pCompetitors, pPassId, positionedCompetitors); + super(createdAt, pTimePoint, author, pId, pPassId, positionedCompetitors); } public RaceLogFinishPositioningConfirmedEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningEventImpl.java index d04cbf45008..11114eb24f9 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningEventImpl.java @@ -1,12 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.CompetitorResults; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public abstract class RaceLogFinishPositioningEventImpl extends RaceLogEventImpl implements @@ -17,15 +15,14 @@ public abstract class RaceLogFinishPositioningEventImpl extends RaceLogEventImpl private final CompetitorResults positionedCompetitors; public RaceLogFinishPositioningEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, - Serializable pId, List pInvolvedBoats, int pPassId, CompetitorResults positionedCompetitors) { - super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + Serializable pId, int pPassId, CompetitorResults positionedCompetitors) { + super(createdAt, pTimePoint, author, pId, pPassId); this.positionedCompetitors = positionedCompetitors; } - public RaceLogFinishPositioningEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + public RaceLogFinishPositioningEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, CompetitorResults positionedCompetitors) { - super(pTimePoint, author, pPassId); - this.positionedCompetitors = positionedCompetitors; + this(now(), logicalTimePoint, author, randId(), pPassId, positionedCompetitors); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningListChangedEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningListChangedEventImpl.java index 6429b5f98e2..57999894412 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningListChangedEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFinishPositioningListChangedEventImpl.java @@ -1,13 +1,11 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.CompetitorResults; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningListChangedEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogFinishPositioningListChangedEventImpl extends RaceLogFinishPositioningEventImpl implements @@ -16,9 +14,9 @@ public class RaceLogFinishPositioningListChangedEventImpl extends RaceLogFinishP private static final long serialVersionUID = -8167472925561954739L; public RaceLogFinishPositioningListChangedEventImpl(TimePoint createdAt, TimePoint pTimePoint, - AbstractLogEventAuthor author, Serializable pId, List competitors, int pPassId, + AbstractLogEventAuthor author, Serializable pId, int pPassId, CompetitorResults positionedCompetitors) { - super(createdAt, pTimePoint, author, pId, competitors, pPassId, positionedCompetitors); + super(createdAt, pTimePoint, author, pId, pPassId, positionedCompetitors); } public RaceLogFinishPositioningListChangedEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFixedMarkPassingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFixedMarkPassingEventImpl.java index 16d0e6eed87..b2c5b0b23b3 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFixedMarkPassingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFixedMarkPassingEventImpl.java @@ -1,6 +1,7 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; +import java.util.Collections; import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; @@ -9,15 +10,15 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; - public class RaceLogFixedMarkPassingEventImpl extends RaceLogEventImpl implements RaceLogFixedMarkPassingEvent { private final Integer zeroBasedIndexOfWaypointOfPassing; - + private final TimePoint timePointOfPassing; - public RaceLogFixedMarkPassingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable pId, List pInvolvedBoats, int pPassId, TimePoint timePoint, Integer zeroBasedIndexOfWaypointOfPassing) { + public RaceLogFixedMarkPassingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, + TimePoint timePoint, Integer zeroBasedIndexOfWaypointOfPassing) { super(createdAt, logicalTimePoint, author, pId, pInvolvedBoats, pPassId); this.timePointOfPassing = timePoint; this.zeroBasedIndexOfWaypointOfPassing = zeroBasedIndexOfWaypointOfPassing; @@ -25,9 +26,8 @@ public class RaceLogFixedMarkPassingEventImpl extends RaceLogEventImpl implement public RaceLogFixedMarkPassingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Competitor competitor, int pPassId, TimePoint timePoint, Integer zeroBasedIndexOfWaypointOfPassing) { - super(logicalTimePoint, author, competitor, pPassId); - this.timePointOfPassing = timePoint; - this.zeroBasedIndexOfWaypointOfPassing = zeroBasedIndexOfWaypointOfPassing; + this(now(), logicalTimePoint, author, randId(), Collections.singletonList(competitor), pPassId, timePoint, + zeroBasedIndexOfWaypointOfPassing); } private static final long serialVersionUID = -1796278009919318553L; @@ -49,6 +49,7 @@ public class RaceLogFixedMarkPassingEventImpl extends RaceLogEventImpl implement @Override public String getShortInfo() { - return getInvolvedBoats().get(0).getName()+" at mark "+getZeroBasedIndexOfPassedWaypoint()+" at "+getTimePointOfFixedPassing(); + return getInvolvedBoats().get(0).getName() + " at mark " + getZeroBasedIndexOfPassedWaypoint() + " at " + + getTimePointOfFixedPassing(); } } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFlagEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFlagEventImpl.java index 79fca481973..9af4b2119fb 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFlagEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogFlagEventImpl.java @@ -1,12 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sse.common.TimePoint; @@ -17,18 +15,18 @@ public class RaceLogFlagEventImpl extends RaceLogEventImpl implements RaceLogFla private final Flags lowerFlag; private final boolean isDisplayed; - public RaceLogFlagEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, Flags pUpperFlag, Flags pLowerFlag, boolean pIsDisplayed) { - super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + public RaceLogFlagEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, + Serializable pId, int pPassId, Flags pUpperFlag, Flags pLowerFlag, + boolean pIsDisplayed) { + super(createdAt, pTimePoint, author, pId, pPassId); this.upperFlag = pUpperFlag; this.lowerFlag = pLowerFlag; this.isDisplayed = pIsDisplayed; } - public RaceLogFlagEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, Flags pUpperFlag, Flags pLowerFlag, boolean pIsDisplayed) { - super(pTimePoint, author, pPassId); - this.upperFlag = pUpperFlag; - this.lowerFlag = pLowerFlag; - this.isDisplayed = pIsDisplayed; + public RaceLogFlagEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, Flags pUpperFlag, + Flags pLowerFlag, boolean pIsDisplayed) { + this(now(), logicalTimePoint, author, randId(), pPassId, pUpperFlag, pLowerFlag, pIsDisplayed); } @Override @@ -56,4 +54,4 @@ public class RaceLogFlagEventImpl extends RaceLogEventImpl implements RaceLogFla return "upperFlag=" + upperFlag + ", lowerFlag=" + lowerFlag + ", isDisplayed=" + isDisplayed; } - } +} diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogGateLineOpeningTimeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogGateLineOpeningTimeEventImpl.java index 8187b4a027e..fe90c350dd7 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogGateLineOpeningTimeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogGateLineOpeningTimeEventImpl.java @@ -1,12 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogGateLineOpeningTimeEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogGateLineOpeningTimeEventImpl extends RaceLogEventImpl implements RaceLogGateLineOpeningTimeEvent { @@ -15,16 +13,15 @@ public class RaceLogGateLineOpeningTimeEventImpl extends RaceLogEventImpl implem private final GateLineOpeningTimes gateLineOpeningTimes; public RaceLogGateLineOpeningTimeEventImpl(TimePoint createdAt, TimePoint pTimePoint, - AbstractLogEventAuthor author, Serializable pId, List pCompetitors, int pPassId, + AbstractLogEventAuthor author, Serializable pId, int pPassId, long gateLaunchStopTime, long golfDownTime) { - super(createdAt, pTimePoint, author, pId, pCompetitors, pPassId); + super(createdAt, pTimePoint, author, pId, pPassId); this.gateLineOpeningTimes = new GateLineOpeningTimes(gateLaunchStopTime, golfDownTime); } - public RaceLogGateLineOpeningTimeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + public RaceLogGateLineOpeningTimeEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, long gateLaunchStopTime, long golfDownTime) { - super(pTimePoint, author, pPassId); - this.gateLineOpeningTimes = new GateLineOpeningTimes(gateLaunchStopTime, golfDownTime); + this(now(), logicalTimePoint, author, randId(), pPassId, gateLaunchStopTime, golfDownTime); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPassChangeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPassChangeEventImpl.java index c3251f33254..fad39887ca2 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPassChangeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPassChangeEventImpl.java @@ -1,20 +1,18 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogPassChangeEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogPassChangeEventImpl extends RaceLogEventImpl implements RaceLogPassChangeEvent { private static final long serialVersionUID = -3737606977320640630L; public RaceLogPassChangeEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, - Serializable pId, List pInvolvedBoats, int pPassId) { - super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + Serializable pId, int pPassId) { + super(createdAt, pTimePoint, author, pId, pPassId); } public RaceLogPassChangeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId) { diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPathfinderEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPathfinderEventImpl.java index 64feecd110d..481d48d284b 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPathfinderEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogPathfinderEventImpl.java @@ -1,12 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogPathfinderEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogPathfinderEventImpl extends RaceLogEventImpl implements RaceLogPathfinderEvent { @@ -15,15 +13,14 @@ public class RaceLogPathfinderEventImpl extends RaceLogEventImpl implements Race private final String pathfinderId; public RaceLogPathfinderEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, - Serializable pId, List pCompetitors, int pPassId, String pathfinderId) { - super(createdAt, pTimePoint, author, pId, pCompetitors, pPassId); + Serializable pId, int pPassId, String pathfinderId) { + super(createdAt, pTimePoint, author, pId, pPassId); this.pathfinderId = pathfinderId; } - public RaceLogPathfinderEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + public RaceLogPathfinderEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, String pathfinderId) { - super(pTimePoint, author, pPassId); - this.pathfinderId = pathfinderId; + this(now(), logicalTimePoint, author, randId(), pPassId, pathfinderId); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogProtestStartTimeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogProtestStartTimeEventImpl.java index 422dcf3ef12..270d276792c 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogProtestStartTimeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogProtestStartTimeEventImpl.java @@ -1,29 +1,26 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogProtestStartTimeEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogProtestStartTimeEventImpl extends RaceLogEventImpl implements RaceLogProtestStartTimeEvent { private static final long serialVersionUID = -1800827552916395996L; - + private final TimePoint protestStartTime; - + public RaceLogProtestStartTimeEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, - Serializable pId, List pInvolvedBoats, int pPassId, TimePoint protestStartTime) { - super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + Serializable pId, int pPassId, TimePoint protestStartTime) { + super(createdAt, pTimePoint, author, pId, pPassId); this.protestStartTime = protestStartTime; } - - public RaceLogProtestStartTimeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, - int pPassId, TimePoint protestStartTime) { - super(pTimePoint, author, pPassId); - this.protestStartTime = protestStartTime; + + public RaceLogProtestStartTimeEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, + TimePoint protestStartTime) { + this(now(), logicalTimePoint, author, randId(), pPassId, protestStartTime); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRaceStatusEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRaceStatusEventImpl.java index 447f62d9807..560f743c050 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRaceStatusEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogRaceStatusEventImpl.java @@ -19,10 +19,9 @@ public class RaceLogRaceStatusEventImpl extends RaceLogEventImpl implements Race this.nextStatus = nextStatus; } - public RaceLogRaceStatusEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + public RaceLogRaceStatusEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, RaceLogRaceStatus nextStatus) { - super(pTimePoint, author, pPassId); - this.nextStatus = nextStatus; + this(now(), logicalTimePoint, author, randId(), pPassId, nextStatus); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java index f5502e38f31..5878b3fd7f8 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartOfTrackingEventImpl.java @@ -1,20 +1,18 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogStartOfTrackingEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogStartOfTrackingEventImpl extends RaceLogEventImpl implements RaceLogStartOfTrackingEvent { private static final long serialVersionUID = -4134608549471817247L; public RaceLogStartOfTrackingEventImpl(TimePoint createdAt, TimePoint startOfTracking, - AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId) { - super(createdAt, startOfTracking, author, pId, pInvolvedBoats, pPassId); + AbstractLogEventAuthor author, Serializable pId, int pPassId) { + super(createdAt, startOfTracking, author, pId, pPassId); } public RaceLogStartOfTrackingEventImpl(TimePoint startOfTracking, AbstractLogEventAuthor author, int pPassId) { diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartProcedureChangedEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartProcedureChangedEventImpl.java index 1911efc8f5b..10929f871d7 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartProcedureChangedEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartProcedureChangedEventImpl.java @@ -1,12 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogStartProcedureChangedEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sse.common.TimePoint; @@ -18,15 +16,14 @@ public class RaceLogStartProcedureChangedEventImpl extends RaceLogEventImpl impl private final RacingProcedureType startProcedureType; public RaceLogStartProcedureChangedEventImpl(TimePoint createdAt, TimePoint pTimePoint, - AbstractLogEventAuthor author, Serializable pId, List pInvolvedBoats, int pPassId, RacingProcedureType startProcedureType) { - super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + AbstractLogEventAuthor author, Serializable pId, int pPassId, RacingProcedureType startProcedureType) { + super(createdAt, pTimePoint, author, pId, pPassId); this.startProcedureType = startProcedureType; } - public RaceLogStartProcedureChangedEventImpl(TimePoint pTimePoint, + public RaceLogStartProcedureChangedEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, RacingProcedureType startProcedureType) { - super(pTimePoint, author, pPassId); - this.startProcedureType = startProcedureType; + this(now(), logicalTimePoint, author, randId(), pPassId, startProcedureType); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartTimeEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartTimeEventImpl.java index ab93e31bb0d..3dcf95a655d 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartTimeEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogStartTimeEventImpl.java @@ -14,15 +14,14 @@ public class RaceLogStartTimeEventImpl extends RaceLogRaceStatusEventImpl implem private final TimePoint startTime; public RaceLogStartTimeEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, - Serializable pId, int pPassId, TimePoint pStartTime) { - super(createdAt, pTimePoint, author, pId, pPassId, RaceLogRaceStatus.SCHEDULED); + Serializable pId, int pPassId, TimePoint pStartTime, RaceLogRaceStatus nextStatus) { + super(createdAt, pTimePoint, author, pId, pPassId, nextStatus); this.startTime = pStartTime; } - public RaceLogStartTimeEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, int pPassId, + public RaceLogStartTimeEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, TimePoint pStartTime) { - super(pTimePoint, author, pPassId, RaceLogRaceStatus.SCHEDULED); - this.startTime = pStartTime; + this(now(), logicalTimePoint, author, randId(), pPassId, pStartTime, RaceLogRaceStatus.SCHEDULED); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogSuppressedMarkPassingsEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogSuppressedMarkPassingsEventImpl.java index f2d2b9d0692..2e1028af18b 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogSuppressedMarkPassingsEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogSuppressedMarkPassingsEventImpl.java @@ -1,6 +1,7 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; +import java.util.Collections; import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; @@ -25,14 +26,8 @@ public class RaceLogSuppressedMarkPassingsEventImpl extends RaceLogEventImpl imp public RaceLogSuppressedMarkPassingsEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Competitor competitor, int pPassId, Integer indexOfFirstSuppressedWaypoint) { - super(logicalTimePoint, author, competitor, pPassId); - this.indexOfFirstSuppressedWaypoint = indexOfFirstSuppressedWaypoint; - } - - public RaceLogSuppressedMarkPassingsEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, - int pPassId, Integer indexOfFirstSuppressedWaypoint) { - super(logicalTimePoint, author, pPassId); - this.indexOfFirstSuppressedWaypoint = indexOfFirstSuppressedWaypoint; + this(now(), logicalTimePoint, author, randId(), Collections.singletonList(competitor), pPassId, + indexOfFirstSuppressedWaypoint); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogWindFixEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogWindFixEventImpl.java index dec89aff3ec..d8291210efa 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogWindFixEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/RaceLogWindFixEventImpl.java @@ -1,12 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.RaceLogWindFixEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.Wind; import com.sap.sse.common.TimePoint; @@ -17,17 +15,15 @@ public class RaceLogWindFixEventImpl extends RaceLogEventImpl implements RaceLog private final boolean isMagnetic; public RaceLogWindFixEventImpl(TimePoint createdAt, TimePoint pTimePoint, AbstractLogEventAuthor author, - Serializable pId, List pInvolvedBoats, int pPassId, Wind windFix, boolean isMagnetic) { - super(createdAt, pTimePoint, author, pId, pInvolvedBoats, pPassId); + Serializable pId, int pPassId, Wind windFix, boolean isMagnetic) { + super(createdAt, pTimePoint, author, pId, pPassId); this.windFix = windFix; this.isMagnetic = isMagnetic; } - public RaceLogWindFixEventImpl(TimePoint pTimePoint, AbstractLogEventAuthor author, + public RaceLogWindFixEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, Wind windFix, boolean isMagnetic) { - super(pTimePoint, author, pPassId); - this.windFix = windFix; - this.isMagnetic = isMagnetic; + this(now(), logicalTimePoint, author, randId(), pPassId, windFix, isMagnetic); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/scoring/impl/RaceLogAdditionalScoringInformationEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/scoring/impl/RaceLogAdditionalScoringInformationEventImpl.java index c6945e60bf7..54cf87b8eb9 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/scoring/impl/RaceLogAdditionalScoringInformationEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/scoring/impl/RaceLogAdditionalScoringInformationEventImpl.java @@ -1,14 +1,12 @@ package com.sap.sailing.domain.abstractlog.race.scoring.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventImpl; import com.sap.sailing.domain.abstractlog.race.scoring.AdditionalScoringInformationType; import com.sap.sailing.domain.abstractlog.race.scoring.RaceLogAdditionalScoringInformationEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogAdditionalScoringInformationEventImpl extends RaceLogEventImpl implements RaceLogAdditionalScoringInformationEvent { @@ -17,15 +15,14 @@ public class RaceLogAdditionalScoringInformationEventImpl extends RaceLogEventIm private final AdditionalScoringInformationType informationType; public RaceLogAdditionalScoringInformationEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, - Serializable pId, List competitors, int pPassId, AdditionalScoringInformationType informationType) { - super(createdAt, logicalTimePoint, author, pId, competitors, pPassId); + Serializable pId, int pPassId, AdditionalScoringInformationType informationType) { + super(createdAt, logicalTimePoint, author, pId, pPassId); this.informationType = informationType; } public RaceLogAdditionalScoringInformationEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, AdditionalScoringInformationType informationType) { - super(logicalTimePoint, author, pPassId); - this.informationType = informationType; + this(now(), logicalTimePoint, author, randId(), pPassId, informationType); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/AbstractRaceLogDeviceMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/AbstractRaceLogDeviceMappingEventImpl.java index 4ad5b907a78..5729089b331 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/AbstractRaceLogDeviceMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/AbstractRaceLogDeviceMappingEventImpl.java @@ -22,15 +22,14 @@ extends AbstractDeviceMappingEventImpl implements Ra public AbstractRaceLogDeviceMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable id, int passId, ItemT mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { - super(createdAt, author, logicalTimePoint, id, mappedTo, device, from, to); + super(createdAt, logicalTimePoint, author, id, mappedTo, device, from, to); this.raceLogEventData = new RaceLogEventDataImpl(null, passId); } public AbstractRaceLogDeviceMappingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, ItemT mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { - super(author, logicalTimePoint, mappedTo, device, from, to); - this.raceLogEventData = new RaceLogEventDataImpl(null, passId); + this(now(), logicalTimePoint, author, randId(), passId, mappedTo, device, from, to); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogCloseOpenEndedDeviceMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogCloseOpenEndedDeviceMappingEventImpl.java index 326986d19be..bd20d1e61eb 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogCloseOpenEndedDeviceMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogCloseOpenEndedDeviceMappingEventImpl.java @@ -27,8 +27,7 @@ public class RaceLogCloseOpenEndedDeviceMappingEventImpl extends public RaceLogCloseOpenEndedDeviceMappingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, Serializable deviceMappingEventId, TimePoint closingTimePoint) { - super(logicalTimePoint, author, deviceMappingEventId, closingTimePoint); - this.raceLogEventData = new RaceLogEventDataImpl(null, passId); + this(now(), logicalTimePoint, author, randId(), passId, deviceMappingEventId, closingTimePoint); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDefineMarkEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDefineMarkEventImpl.java index d48167a9635..b4f919ffc5d 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDefineMarkEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDefineMarkEventImpl.java @@ -22,8 +22,7 @@ public class RaceLogDefineMarkEventImpl extends RaceLogEventImpl implements Race public RaceLogDefineMarkEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, Mark mark) { - super(logicalTimePoint, author, pPassId); - this.mark = mark; + this(now(), logicalTimePoint, author, randId(), pPassId, mark); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDenoteForTrackingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDenoteForTrackingEventImpl.java index 5f041a8298b..66b81a2f3c4 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDenoteForTrackingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogDenoteForTrackingEventImpl.java @@ -27,10 +27,7 @@ public class RaceLogDenoteForTrackingEventImpl extends RaceLogEventImpl implemen public RaceLogDenoteForTrackingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int pPassId, String raceName, BoatClass boatClass, Serializable raceId) { - super(logicalTimePoint, author, pPassId); - this.raceName = raceName; - this.boatClass = boatClass; - this.raceId = raceId; + this(now(), logicalTimePoint, author, randId(), pPassId, raceName, boatClass, raceId); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogRegisterCompetitorEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogRegisterCompetitorEventImpl.java index deb5a8a90b1..1c84b6b429b 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogRegisterCompetitorEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogRegisterCompetitorEventImpl.java @@ -36,8 +36,7 @@ public class RaceLogRegisterCompetitorEventImpl extends BaseRegisterCompetitorEv public RaceLogRegisterCompetitorEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, int passId, Competitor competitor) throws IllegalArgumentException { - super(logicalTimePoint, author, competitor); - this.raceLogEventData = new RaceLogEventDataImpl(null, passId); + this(now(), logicalTimePoint, author, randId(), passId, competitor); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogStartTrackingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogStartTrackingEventImpl.java index e5f210ec711..ed62bc86a5f 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogStartTrackingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/tracking/impl/RaceLogStartTrackingEventImpl.java @@ -1,13 +1,11 @@ package com.sap.sailing.domain.abstractlog.race.tracking.impl; import java.io.Serializable; -import java.util.List; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEventImpl; import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogStartTrackingEvent; -import com.sap.sailing.domain.base.Competitor; import com.sap.sse.common.TimePoint; public class RaceLogStartTrackingEventImpl extends RaceLogEventImpl implements @@ -15,8 +13,8 @@ RaceLogStartTrackingEvent { private static final long serialVersionUID = 6017954368580125221L; public RaceLogStartTrackingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, - AbstractLogEventAuthor author, Serializable pId, List involvedBoats, int pPassId) { - super(createdAt, logicalTimePoint, author, pId, involvedBoats, pPassId); + AbstractLogEventAuthor author, Serializable pId, int pPassId) { + super(createdAt, logicalTimePoint, author, pId, pPassId); } public RaceLogStartTrackingEventImpl(TimePoint logicalTimePoint, diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogCloseOpenEndedDeviceMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogCloseOpenEndedDeviceMappingEventImpl.java index 7bc85ccba0a..834b6a08bbe 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogCloseOpenEndedDeviceMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogCloseOpenEndedDeviceMappingEventImpl.java @@ -18,6 +18,12 @@ implements RegattaLogCloseOpenEndedDeviceMappingEvent { super(createdAt, logicalTimePoint, author, id, deviceMappingEventId, closingTimePoint); } + public RegattaLogCloseOpenEndedDeviceMappingEventImpl(AbstractLogEventAuthor author, + TimePoint logicalTimePoint, Serializable deviceMappingEventId, + TimePoint closingTimePoint) { + super(logicalTimePoint, author, deviceMappingEventId, closingTimePoint); + } + @Override public void accept(RegattaLogEventVisitor visitor) { visitor.visit(this); diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceCompetitorMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceCompetitorMappingEventImpl.java index eee389e0dea..aaf28ee10f2 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceCompetitorMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceCompetitorMappingEventImpl.java @@ -16,13 +16,13 @@ public class RegattaLogDeviceCompetitorMappingEventImpl extends public RegattaLogDeviceCompetitorMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, Competitor mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { - super(createdAt, author, logicalTimePoint, pId, mappedTo, device, from, to); + super(createdAt, logicalTimePoint, author, pId, mappedTo, device, from, to); } public RegattaLogDeviceCompetitorMappingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Competitor mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { - super(author, logicalTimePoint, mappedTo, device, from, to); + super(logicalTimePoint, author, mappedTo, device, from, to); } private static final long serialVersionUID = -1494030544804758753L; diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceMarkMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceMarkMappingEventImpl.java index 1e599bff7d3..f00b34d389d 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceMarkMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/events/impl/RegattaLogDeviceMarkMappingEventImpl.java @@ -16,12 +16,12 @@ implements RegattaLogDeviceMarkMappingEvent { public RegattaLogDeviceMarkMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable pId, Mark mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { - super(createdAt, author, logicalTimePoint, pId, mappedTo, device, from, to); + super(createdAt, logicalTimePoint, author, pId, mappedTo, device, from, to); } public RegattaLogDeviceMarkMappingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Mark mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { - super(author, logicalTimePoint, mappedTo, device, from, to); + super(logicalTimePoint, author, mappedTo, device, from, to); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/tracking/analyzing/impl/RegattaLogOpenEndedDeviceMappingCloser.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/tracking/analyzing/impl/RegattaLogOpenEndedDeviceMappingCloser.java index 03e9945894f..783d3872c1c 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/tracking/analyzing/impl/RegattaLogOpenEndedDeviceMappingCloser.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/tracking/analyzing/impl/RegattaLogOpenEndedDeviceMappingCloser.java @@ -1,7 +1,6 @@ package com.sap.sailing.domain.abstractlog.regatta.tracking.analyzing.impl; import java.io.Serializable; -import java.util.UUID; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.regatta.RegattaLog; @@ -12,7 +11,6 @@ import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogCloseOpe import com.sap.sailing.domain.abstractlog.shared.analyzing.OpenEndedDeviceMappingCloser; import com.sap.sailing.domain.racelogtracking.DeviceMapping; import com.sap.sse.common.TimePoint; -import com.sap.sse.common.impl.MillisecondsTimePoint; public class RegattaLogOpenEndedDeviceMappingCloser extends OpenEndedDeviceMappingCloser { @@ -25,7 +23,7 @@ public class RegattaLogOpenEndedDeviceMappingCloser extends @Override protected RegattaLogCloseOpenEndedDeviceMappingEvent createCloseEvent(TimePoint logicalTimePoint, Serializable eventToCloseId) { - return new RegattaLogCloseOpenEndedDeviceMappingEventImpl(MillisecondsTimePoint.now(), author, - logicalTimePoint, UUID.randomUUID(), eventToCloseId, closingTimePoint); + return new RegattaLogCloseOpenEndedDeviceMappingEventImpl(author, + logicalTimePoint, eventToCloseId, closingTimePoint); } } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/AbstractDeviceMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/AbstractDeviceMappingEventImpl.java index d302f09fe55..65a4d94129f 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/AbstractDeviceMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/AbstractDeviceMappingEventImpl.java @@ -18,8 +18,8 @@ DeviceMappingEvent { private final TimePoint from; private final TimePoint to; - public AbstractDeviceMappingEventImpl(TimePoint createdAt, AbstractLogEventAuthor author, - TimePoint logicalTimePoint, Serializable id, ItemType mappedTo, + public AbstractDeviceMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint, + AbstractLogEventAuthor author, Serializable id, ItemType mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { super(createdAt, logicalTimePoint, author, id); this.mappedTo = mappedTo; @@ -28,14 +28,10 @@ DeviceMappingEvent { this.to = to; } - public AbstractDeviceMappingEventImpl(AbstractLogEventAuthor author, - TimePoint logicalTimePoint, ItemType mappedTo, + public AbstractDeviceMappingEventImpl(TimePoint logicalTimePoint, + AbstractLogEventAuthor author, ItemType mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) { - super(logicalTimePoint, author); - this.mappedTo = mappedTo; - this.device = device; - this.from = from; - this.to = to; + this(now(), logicalTimePoint, author, randId(), mappedTo, device, from, to); } public ItemType getMappedTo() { diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseCloseOpenEndedDeviceMappingEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseCloseOpenEndedDeviceMappingEventImpl.java index 6faad98e3f1..82f1b490017 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseCloseOpenEndedDeviceMappingEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseCloseOpenEndedDeviceMappingEventImpl.java @@ -23,9 +23,7 @@ public abstract class BaseCloseOpenEndedDeviceMappingEventImpl extends public BaseCloseOpenEndedDeviceMappingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Serializable deviceMappingEventId, TimePoint closingTimePoint) { - super(logicalTimePoint, author); - this.deviceMappingEventId = deviceMappingEventId; - this.closingTimePoint = closingTimePoint; + this(now(), logicalTimePoint, author, randId(), deviceMappingEventId, closingTimePoint); } @Override diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseRegisterCompetitorEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseRegisterCompetitorEventImpl.java index 816ba547b38..ac71017500e 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseRegisterCompetitorEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/shared/events/impl/BaseRegisterCompetitorEventImpl.java @@ -30,9 +30,7 @@ public abstract class BaseRegisterCompetitorEventImpl extends Abstract */ public BaseRegisterCompetitorEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author, Competitor competitor) throws IllegalArgumentException { - super(logicalTimePoint, author); - checkCompetitor(competitor); - this.competitor = competitor; + this(now(), logicalTimePoint, author, randId(), competitor); } private static void checkCompetitor(Competitor competitor) throws IllegalArgumentException { diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java index eb4db1419bc..ace5830c7fe 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java @@ -1213,11 +1213,11 @@ public class LeaderboardScoringAndRankingTest extends AbstractLeaderboardTest { assertEquals(new Double(18), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[1], later)); assertEquals(new Double(2), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[9], later)); RaceLog raceLogForRace2 = leaderboardHighPoint10Or8AndLastBreaksTie.getRaceColumnByName("R2").getRaceLog(leaderboardHighPoint10Or8AndLastBreaksTie.getFleet(null)); - raceLogForRace2.add(new RaceLogAdditionalScoringInformationEventImpl(now, later, new LogEventAuthorImpl("Plopp", 1), "12345678", Collections.emptyList(), 0, AdditionalScoringInformationType.UNKNOWN)); + raceLogForRace2.add(new RaceLogAdditionalScoringInformationEventImpl(now, later, new LogEventAuthorImpl("Plopp", 1), "12345678", 0, AdditionalScoringInformationType.UNKNOWN)); assertEquals(new Double(20), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[0], later)); assertEquals(new Double(18), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[1], later)); assertEquals(new Double(2), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[9], later)); - raceLogForRace2.add(new RaceLogAdditionalScoringInformationEventImpl(now, later.plus(Duration.ONE_MINUTE), new LogEventAuthorImpl("Plopp", 1), "123456789873773762", Collections.emptyList(), 0, AdditionalScoringInformationType.MAX_POINTS_DECREASE_MAX_SCORE)); + raceLogForRace2.add(new RaceLogAdditionalScoringInformationEventImpl(now, later.plus(Duration.ONE_MINUTE), new LogEventAuthorImpl("Plopp", 1), "123456789873773762", 0, AdditionalScoringInformationType.MAX_POINTS_DECREASE_MAX_SCORE)); assertEquals(new Double(18), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[0], later)); assertEquals(new Double(16), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[1], later)); assertEquals(new Double(2), leaderboardHighPoint10Or8AndLastBreaksTie.getTotalPoints(competitors[9], later)); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java index af607ad1e5f..3973588d18c 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java @@ -102,7 +102,7 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { @Test public void testStoreEventWithoutAuthorLoadsCompatibilityAuthor() { RaceLogFlagEvent expectedEvent = new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), expectedEventTime, null, - expectedId, expectedInvolvedBoats, expectedPassId, Flags.NONE, Flags.NONE, true); + expectedId, expectedPassId, Flags.NONE, Flags.NONE, true); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogFlagEvent actualEvent = loadEvent(dbObject); @@ -120,7 +120,7 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { boolean isDisplayed = true; RaceLogFlagEvent expectedEvent = new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), expectedEventTime, - author, expectedId, expectedInvolvedBoats, expectedPassId, upperFlag, lowerFlag, isDisplayed); + author, expectedId, expectedPassId, upperFlag, lowerFlag, isDisplayed); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogFlagEvent actualEvent = loadEvent(dbObject); @@ -136,7 +136,7 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { Serializable courseAreaId = UUID.randomUUID(); RaceLogCourseAreaChangedEvent expectedEvent = new RaceLogCourseAreaChangeEventImpl(MillisecondsTimePoint.now(), - expectedEventTime, author, expectedId, expectedInvolvedBoats, expectedPassId, courseAreaId); + expectedEventTime, author, expectedId, expectedPassId, courseAreaId); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogCourseAreaChangedEvent actualEvent = loadEvent(dbObject); @@ -148,7 +148,7 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { @Test public void testStoreAndLoadPassChangeEvent() { RaceLogPassChangeEvent expectedEvent = new RaceLogPassChangeEventImpl(MillisecondsTimePoint.now(), - expectedEventTime, author, expectedId, expectedInvolvedBoats, expectedPassId); + expectedEventTime, author, expectedId, expectedPassId); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogPassChangeEvent actualEvent = loadEvent(dbObject); @@ -173,7 +173,7 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { public void testStoreAndLoadStartTimeEvent() { TimePoint startTime = new MillisecondsTimePoint(1337); RaceLogStartTimeEvent expectedEvent = new RaceLogStartTimeEventImpl(MillisecondsTimePoint.now(), - expectedEventTime, author, expectedId, expectedPassId, startTime); + expectedEventTime, author, expectedId, expectedPassId, startTime, null); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogStartTimeEvent actualEvent = loadEvent(dbObject); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogsTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogsTest.java index 29a4ca0e115..a1e39ec8e09 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogsTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogsTest.java @@ -6,7 +6,6 @@ import static org.mockito.Mockito.when; import java.io.Serializable; import java.net.UnknownHostException; -import java.util.Collections; import java.util.UUID; import org.junit.Test; @@ -17,7 +16,6 @@ import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFlagEventImpl; -import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.common.racelog.Flags; @@ -98,7 +96,7 @@ public class StoreAndLoadRaceLogsTest extends AbstractMongoDBTest { } private RaceLogFlagEvent createRaceLogFlagEvent(Serializable id) { - return new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), new MillisecondsTimePoint(42), new LogEventAuthorImpl("Test author", /* priority */ 1), id, Collections. emptyList(), + return new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), new MillisecondsTimePoint(42), new LogEventAuthorImpl("Test author", /* priority */ 1), id, 42, Flags.ALPHA, Flags.BRAVO, true); } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogAdditionalScoringInformationEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogAdditionalScoringInformationEventDeserializer.java index 02e9ae93176..9b3aaf8a2fb 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogAdditionalScoringInformationEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogAdditionalScoringInformationEventDeserializer.java @@ -25,6 +25,6 @@ public class RaceLogAdditionalScoringInformationEventDeserializer extends BaseRa protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { AdditionalScoringInformationType informationType = AdditionalScoringInformationType.valueOf((String)object.get(FIELD_TYPE)); - return new RaceLogAdditionalScoringInformationEventImpl(createdAt, timePoint, author, id, competitors, passId, informationType); + return new RaceLogAdditionalScoringInformationEventImpl(createdAt, timePoint, author, id, passId, informationType); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseAreaChangedEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseAreaChangedEventDeserializer.java index 9ca3601fd98..9820f070d6a 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseAreaChangedEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseAreaChangedEventDeserializer.java @@ -25,7 +25,7 @@ public class RaceLogCourseAreaChangedEventDeserializer extends BaseRaceLogEventD protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { Serializable courseAreaId = (Serializable) object.get(RaceLogCourseAreaChangedEventSerializer.FIELD_COURSE_AREA_ID); - return new RaceLogCourseAreaChangeEventImpl(createdAt, timePoint, author, id, competitors, + return new RaceLogCourseAreaChangeEventImpl(createdAt, timePoint, author, id, passId, Helpers.tryUuidConversion(courseAreaId)); } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseDesignChangedEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseDesignChangedEventDeserializer.java index 9de131a5a0b..2f61f1af5be 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseDesignChangedEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogCourseDesignChangedEventDeserializer.java @@ -32,7 +32,7 @@ public class RaceLogCourseDesignChangedEventDeserializer extends BaseRaceLogEven JSONObject jsonCourseDesign = (JSONObject) object.get(RaceLogCourseDesignChangedEventSerializer.FIELD_COURSE_DESIGN); CourseBase courseData = courseDataDeserializer.deserialize(jsonCourseDesign); - return new RaceLogCourseDesignChangedEventImpl(createdAt, timePoint, author, id, competitors, passId, courseData); + return new RaceLogCourseDesignChangedEventImpl(createdAt, timePoint, author, id, passId, courseData); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningConfirmedEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningConfirmedEventDeserializer.java index a2495cbf584..684435f0f33 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningConfirmedEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningConfirmedEventDeserializer.java @@ -33,7 +33,7 @@ public class RaceLogFinishPositioningConfirmedEventDeserializer extends BaseRace JSONArray jsonPositionedCompetitors = Helpers.getNestedArraySafe(object, RaceLogFinishPositioningConfirmedEventSerializer.FIELD_POSITIONED_COMPETITORS); CompetitorResults positionedCompetitors = deserializePositionedCompetitors(jsonPositionedCompetitors); - return new RaceLogFinishPositioningConfirmedEventImpl(createdAt, timePoint, author, id, competitors, passId, positionedCompetitors); + return new RaceLogFinishPositioningConfirmedEventImpl(createdAt, timePoint, author, id, passId, positionedCompetitors); } private CompetitorResults deserializePositionedCompetitors(JSONArray jsonPositionedCompetitors) throws JsonDeserializationException { diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningListChangedEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningListChangedEventDeserializer.java index bacc88d8fdc..e0561b41c54 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningListChangedEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFinishPositioningListChangedEventDeserializer.java @@ -33,7 +33,7 @@ public class RaceLogFinishPositioningListChangedEventDeserializer extends BaseRa JSONArray jsonPositionedCompetitors = Helpers.getNestedArraySafe(object, RaceLogFinishPositioningListChangedEventSerializer.FIELD_POSITIONED_COMPETITORS); CompetitorResults positionedCompetitors = deserializePositionedCompetitors(jsonPositionedCompetitors); - return new RaceLogFinishPositioningListChangedEventImpl(createdAt, timePoint, author, id, competitors, passId, positionedCompetitors); + return new RaceLogFinishPositioningListChangedEventImpl(createdAt, timePoint, author, id, passId, positionedCompetitors); } private CompetitorResults deserializePositionedCompetitors(JSONArray jsonPositionedCompetitors) throws JsonDeserializationException { diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFlagEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFlagEventDeserializer.java index da635911ca1..ac55c2f9bcb 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFlagEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogFlagEventDeserializer.java @@ -27,7 +27,7 @@ public class RaceLogFlagEventDeserializer extends BaseRaceLogEventDeserializer { Flags lowerFlag = Flags.valueOf(object.get(RaceLogFlagEventSerializer.FIELD_LOWER_FLAG).toString()); boolean isDisplayed = (Boolean) object.get(RaceLogFlagEventSerializer.FIELD_DISPLAYED); - return new RaceLogFlagEventImpl(createdAt, timePoint, author, id, competitors, passId, upperFlag, lowerFlag, isDisplayed); + return new RaceLogFlagEventImpl(createdAt, timePoint, author, id, passId, upperFlag, lowerFlag, isDisplayed); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogGateLineOpeningTimeEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogGateLineOpeningTimeEventDeserializer.java index a8de8b7f3d3..7e066f1cfcc 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogGateLineOpeningTimeEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogGateLineOpeningTimeEventDeserializer.java @@ -31,7 +31,7 @@ public class RaceLogGateLineOpeningTimeEventDeserializer extends BaseRaceLogEven if (object.containsKey(RaceLogGateLineOpeningTimeEventSerializer.FIELD_GATE_GOLF_DOWN_TIME)) { golfDownTime = (Number) object.get(RaceLogGateLineOpeningTimeEventSerializer.FIELD_GATE_GOLF_DOWN_TIME); } - return new RaceLogGateLineOpeningTimeEventImpl(createdAt, timePoint, author, id, competitors, passId, + return new RaceLogGateLineOpeningTimeEventImpl(createdAt, timePoint, author, id, passId, gateLaunchTime.longValue(), golfDownTime.longValue()); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPassChangeEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPassChangeEventDeserializer.java index aca34aaa9ea..0da098ddef5 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPassChangeEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPassChangeEventDeserializer.java @@ -20,7 +20,7 @@ public class RaceLogPassChangeEventDeserializer extends BaseRaceLogEventDeserial @Override protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) { - return new RaceLogPassChangeEventImpl(createdAt, timePoint, author, id, competitors, passId); + return new RaceLogPassChangeEventImpl(createdAt, timePoint, author, id, passId); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPathFinderEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPathFinderEventDeserializer.java index e484d7f3668..db621c82349 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPathFinderEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogPathFinderEventDeserializer.java @@ -25,7 +25,7 @@ public class RaceLogPathFinderEventDeserializer extends BaseRaceLogEventDeserial protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { String pathfinderId = object.get(RaceLogPathfinderEventSerializer.FIELD_PATHFINDER_ID).toString(); - return new RaceLogPathfinderEventImpl(createdAt, timePoint, author, id, competitors, passId, pathfinderId); + return new RaceLogPathfinderEventImpl(createdAt, timePoint, author, id, passId, pathfinderId); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogProtestStartTimeEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogProtestStartTimeEventDeserializer.java index e696f7fe29b..7fb40c04455 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogProtestStartTimeEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogProtestStartTimeEventDeserializer.java @@ -25,7 +25,7 @@ public class RaceLogProtestStartTimeEventDeserializer extends BaseRaceLogEventDe protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { Long protestStartTime = (Long) object.get(RaceLogProtestStartTimeEventSerializer.FIELD_PROTEST_START_TIME); - return new RaceLogProtestStartTimeEventImpl(createdAt, timePoint, author, id, competitors, + return new RaceLogProtestStartTimeEventImpl(createdAt, timePoint, author, id, passId, new MillisecondsTimePoint(protestStartTime)); } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartOfTrackingEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartOfTrackingEventDeserializer.java index 7bedce78d09..25f3336c73e 100755 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartOfTrackingEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartOfTrackingEventDeserializer.java @@ -24,7 +24,7 @@ public class RaceLogStartOfTrackingEventDeserializer extends BaseRaceLogEventDes protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { - return new RaceLogStartOfTrackingEventImpl(createdAt, timePoint, author, id, competitors, passId); + return new RaceLogStartOfTrackingEventImpl(createdAt, timePoint, author, id, passId); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java index feff6705906..bf0b3cec0a7 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java @@ -25,7 +25,7 @@ public class RaceLogStartProcedureChangedEventDeserializer extends BaseRaceLogEv protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { RacingProcedureType type = RacingProcedureType.valueOf(object.get(RaceLogStartProcedureChangedEventSerializer.FIELD_START_PROCEDURE_TYPE).toString()); - return new RaceLogStartProcedureChangedEventImpl(createdAt, timePoint, author, id, competitors, passId, type); + return new RaceLogStartProcedureChangedEventImpl(createdAt, timePoint, author, id, passId, type); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTimeEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTimeEventDeserializer.java index 64c42519fb2..3feb6d3d3b8 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTimeEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTimeEventDeserializer.java @@ -27,7 +27,7 @@ public class RaceLogStartTimeEventDeserializer extends RaceLogRaceStatusEventDes throws JsonDeserializationException { long startTime = (Long) object.get(RaceLogStartTimeEventSerializer.FIELD_START_TIME); RaceLogRaceStatusEvent event = (RaceLogRaceStatusEvent) super.deserialize(object, id, createdAt, author, timePoint, passId, competitors); - return new RaceLogStartTimeEventImpl(event.getCreatedAt(), event.getLogicalTimePoint(), author, event.getId(), event.getPassId(), new MillisecondsTimePoint(startTime)); + return new RaceLogStartTimeEventImpl(event.getCreatedAt(), event.getLogicalTimePoint(), author, event.getId(), event.getPassId(), new MillisecondsTimePoint(startTime), null); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTrackingEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTrackingEventDeserializer.java index b9c59a78447..624a1fb532b 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTrackingEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartTrackingEventDeserializer.java @@ -21,6 +21,6 @@ public class RaceLogStartTrackingEventDeserializer extends BaseRaceLogEventDeser @Override protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, AbstractLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { - return new RaceLogStartTrackingEventImpl(createdAt, timePoint, author, id, competitors, passId); + return new RaceLogStartTrackingEventImpl(createdAt, timePoint, author, id, passId); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogWindFixEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogWindFixEventDeserializer.java index 21b5862cd07..c3d59ac1481 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogWindFixEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogWindFixEventDeserializer.java @@ -31,7 +31,7 @@ public class RaceLogWindFixEventDeserializer extends BaseRaceLogEventDeserialize final JSONObject windJsonObject = Helpers.getNestedObjectSafe(object, RaceLogWindFixEventSerializer.FIELD_WIND); final Wind wind = windDeserializer.deserialize(windJsonObject); final Boolean isMagnetic = (Boolean) object.get(RaceLogWindFixEventSerializer.FIELD_MAGNETIC); - return new RaceLogWindFixEventImpl(createdAt, timePoint, author, id, competitors, passId, wind, isMagnetic == null ? true : isMagnetic); + return new RaceLogWindFixEventImpl(createdAt, timePoint, author, id, passId, wind, isMagnetic == null ? true : isMagnetic); } } diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java index 5bf16431612..36faf045c2e 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/api/LeaderboardsResource.java @@ -496,8 +496,8 @@ public class LeaderboardsResource extends AbstractSailingServerResource { .type(MediaType.TEXT_PLAIN).build(); } - RegattaLogCloseOpenEndedDeviceMappingEventImpl event = new RegattaLogCloseOpenEndedDeviceMappingEventImpl(now, - author, now, UUID.randomUUID(), deviceMappingEventId, closingTimePoint); + RegattaLogCloseOpenEndedDeviceMappingEventImpl event = new RegattaLogCloseOpenEndedDeviceMappingEventImpl( + author, now, deviceMappingEventId, closingTimePoint); isRegattaLike.getRegattaLog().add(event); logger.fine("Successfully checked out competitor " + mappedTo.getName()); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java index 4b1dc4a52de..4b7648a3865 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java @@ -259,12 +259,12 @@ public class MasterDataImportTest { TimePoint logTimePoint = new MillisecondsTimePoint(1372489200000L); TimePoint logTimePoint2 = new MillisecondsTimePoint(1372489201000L); RaceLogStartTimeEvent logEvent = new RaceLogStartTimeEventImpl(logTimePoint, logTimePoint, author, 1, - 0, logTimePoint); + 0, logTimePoint, null); raceColumn.getRaceLog(testFleet1).add(logEvent); Position p = new DegreePosition(3, 3); Wind wind = new WindImpl(p, logTimePoint2, new KnotSpeedWithBearingImpl(5, new DegreeBearingImpl(12))); RaceLogWindFixEvent windEvent = new RaceLogWindFixEventImpl(logTimePoint2, logTimePoint2, author, - UUID.randomUUID(), new ArrayList(), 2, wind, /* isMagnetic */false); + UUID.randomUUID(), 2, wind, /* isMagnetic */false); raceColumn.getRaceLog(testFleet1).add(windEvent); storedLogUUIDs.add(logEvent.getId()); storedLogUUIDs.add(windEvent.getId()); @@ -413,7 +413,7 @@ public class MasterDataImportTest { TimePoint logTimePoint5 = new MillisecondsTimePoint(1372489310000L); UUID postImportEventId = UUID.randomUUID(); RaceLogStartTimeEventImpl postImportLogEvent = new RaceLogStartTimeEventImpl(logTimePoint5, logTimePoint5, - author, postImportEventId, 3, logTimePoint5); + author, postImportEventId, 3, logTimePoint5, null); raceColumnOnTarget.getRaceLog(fleet1OnTarget).add(postImportLogEvent); // Check for regatta log event diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java index 67b7953203d..a167a88dbdb 100755 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java @@ -139,7 +139,7 @@ public class RaceLogOperationalTransformationTest { { RaceLogStartTimeEvent startTimeEventServer = new RaceLogStartTimeEventImpl(createdAt, startTimeServer, author, UUID.randomUUID(), /* pass ID */1, - startTimeServer); + startTimeServer, null); RaceLogStartTimeEventWithTransformationSupport eServer = new RaceLogStartTimeEventWithTransformationSupport( startTimeEventServer); server.apply(eServer); @@ -149,7 +149,7 @@ public class RaceLogOperationalTransformationTest { final MillisecondsTimePoint startTimeClient1 = new MillisecondsTimePoint(cClient1.getTime()); RaceLogStartTimeEvent startTimeEventClient1 = new RaceLogStartTimeEventImpl(createdAt, startTimeClient1, author, UUID.randomUUID(), /* pass ID */1, - startTimeClient1); + startTimeClient1, null); final RaceLogStartTimeEventWithTransformationSupport eClient1 = new RaceLogStartTimeEventWithTransformationSupport( startTimeEventClient1); client1.apply(eClient1); // this call won't block because server calls apply(Peer, O, int) which first waits for the latch before synchronizing From 697a7947d700e4b0e04510b047853a4a1b6d7766 Mon Sep 17 00:00:00 2001 From: Fredrik Teschke Date: Mon, 2 Nov 2015 23:10:54 +0100 Subject: [PATCH 03/10] missed one file in previous commit --- .../gwt/ui/server/SailingServiceImpl.java | 48 +++++++++++-------- 1 file changed, 27 insertions(+), 21 deletions(-) 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 2f6cf4b2365..17af89243f8 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 @@ -17,7 +17,6 @@ import java.net.URLEncoder; import java.net.UnknownHostException; import java.text.ParseException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Calendar; import java.util.Collection; import java.util.Collections; @@ -64,7 +63,6 @@ import com.sap.sailing.domain.abstractlog.impl.AllEventsOfTypeFinder; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; -import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory; import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogSuppressedMarkPassingsEvent; @@ -72,7 +70,12 @@ import com.sap.sailing.domain.abstractlog.race.analyzing.impl.AbortingFlagFinder import com.sap.sailing.domain.abstractlog.race.analyzing.impl.LastPublishedCourseDesignFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.MarkPassingDataFinder; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.TrackingTimesFinder; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseDesignChangedEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogEndOfTrackingEventImpl; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFixedMarkPassingEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogRevokeEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartOfTrackingEventImpl; +import com.sap.sailing.domain.abstractlog.race.impl.RaceLogSuppressedMarkPassingsEventImpl; import com.sap.sailing.domain.abstractlog.race.state.ReadonlyRaceState; import com.sap.sailing.domain.abstractlog.race.state.impl.ReadonlyRaceStateImpl; import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.FlagPoleState; @@ -83,6 +86,9 @@ import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDefineMarkEvent; import com.sap.sailing.domain.abstractlog.race.tracking.analyzing.impl.RaceLogDefinedMarkFinder; import com.sap.sailing.domain.abstractlog.race.tracking.analyzing.impl.RaceLogOpenEndedDeviceMappingCloser; import com.sap.sailing.domain.abstractlog.race.tracking.analyzing.impl.RaceLogTrackingStateAnalyzer; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDefineMarkEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceCompetitorMappingEventImpl; +import com.sap.sailing.domain.abstractlog.race.tracking.impl.RaceLogDeviceMarkMappingEventImpl; import com.sap.sailing.domain.abstractlog.regatta.RegattaLog; import com.sap.sailing.domain.abstractlog.regatta.RegattaLogEvent; import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogCloseOpenEndedDeviceMappingEvent; @@ -4729,14 +4735,14 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S RaceLog raceLog = getRaceLog(dto.leaderboardName, dto.raceColumnName, dto.fleetName); // TODO If new is null and current is not, current should be revoked. if (!Util.equalsWithNull(dto.newStartOfTracking, dto.currentStartOfTracking)) { - raceLog.add(RaceLogEventFactory.INSTANCE.createStartOfTrackingEvent( - dto.newStartOfTracking, new LogEventAuthorImpl(dto.authorName, dto.authorPriority), UUID - .randomUUID(), new ArrayList(), raceLog.getCurrentPassId())); + raceLog.add(new RaceLogStartOfTrackingEventImpl( + dto.newStartOfTracking, new LogEventAuthorImpl(dto.authorName, dto.authorPriority), + raceLog.getCurrentPassId())); } if (!Util.equalsWithNull(dto.newEndOfTracking, dto.currentEndOfTracking)) { - raceLog.add(RaceLogEventFactory.INSTANCE.createEndOfTrackingEvent( - dto.newEndOfTracking, new LogEventAuthorImpl(dto.authorName, dto.authorPriority), UUID - .randomUUID(), new ArrayList(), raceLog.getCurrentPassId())); + raceLog.add(new RaceLogEndOfTrackingEventImpl( + dto.newEndOfTracking, new LogEventAuthorImpl(dto.authorName, dto.authorPriority), + raceLog.getCurrentPassId())); } } @@ -4973,7 +4979,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S public void addMarkToRaceLog(String leaderboardName, String raceColumnName, String fleetName, MarkDTO markDTO) { Mark mark = convertToMark(markDTO, false); RaceLog raceLog = getRaceLog(leaderboardName, raceColumnName, fleetName); - RaceLogEvent event = RaceLogEventFactory.INSTANCE.createDefineMarkEvent(MillisecondsTimePoint.now(), + RaceLogEvent event = new RaceLogDefineMarkEventImpl(MillisecondsTimePoint.now(), getService().getServerAuthor(), raceLog.getCurrentPassId(), mark); raceLog.add(event); } @@ -4993,7 +4999,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S } if (eventToRevoke != null){ - RaceLogEvent event = RaceLogEventFactory.INSTANCE.createRevokeEvent(getService().getServerAuthor(), raceLog.getCurrentPassId(), eventToRevoke, "Revoked by AdminConsole (RaceLogTracking)"); + RaceLogEvent event = new RaceLogRevokeEventImpl(getService().getServerAuthor(), raceLog.getCurrentPassId(), eventToRevoke, "Revoked by AdminConsole (RaceLogTracking)"); raceLog.add(event); } else { logger.warning("Could not revoke event for mark "+markDTO.getIdAsString()+". Mark not found in RaceLog."); @@ -5059,7 +5065,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S throw new RuntimeException(e); } - RaceLogEvent event = RaceLogEventFactory.INSTANCE.createCourseDesignChangedEvent(MillisecondsTimePoint.now(), + RaceLogEvent event = new RaceLogCourseDesignChangedEventImpl(MillisecondsTimePoint.now(), getService().getServerAuthor(), raceLog.getCurrentPassId(), course); raceLog.add(event); } @@ -5264,13 +5270,13 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S TimePoint to = mapping.getTimeRange().hasOpenEnd() ? null : mapping.getTimeRange().to(); if (dto.mappedTo instanceof MarkDTO) { Mark mark = convertToMark(((MarkDTO) dto.mappedTo), true); - event = RaceLogEventFactory.INSTANCE.createDeviceMarkMappingEvent(now, getService().getServerAuthor(), - mapping.getDevice(), mark, raceLog.getCurrentPassId(), from, to); + event = new RaceLogDeviceMarkMappingEventImpl(now, getService().getServerAuthor(), + raceLog.getCurrentPassId(), mark, mapping.getDevice(), from, to); } else if (dto.mappedTo instanceof CompetitorDTO) { Competitor competitor = getService().getCompetitorStore().getExistingCompetitorByIdAsString( ((CompetitorDTO) dto.mappedTo).getIdAsString()); - event = RaceLogEventFactory.INSTANCE.createDeviceCompetitorMappingEvent(now, getService().getServerAuthor(), - mapping.getDevice(), competitor, raceLog.getCurrentPassId(), from, to); + event = new RaceLogDeviceCompetitorMappingEventImpl(now, getService().getServerAuthor(), + raceLog.getCurrentPassId(), competitor, mapping.getDevice(), from, to); } else { throw new RuntimeException("Can only map devices to competitors or marks"); } @@ -5288,12 +5294,12 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S TimePoint to = mapping.getTimeRange().hasOpenEnd() ? null : mapping.getTimeRange().to(); if (dto.mappedTo instanceof MarkDTO) { Mark mark = convertToMark(((MarkDTO) dto.mappedTo), true); - event = new RegattaLogDeviceMarkMappingEventImpl(now, getService().getServerAuthor(), now, UUID.randomUUID(), + event = new RegattaLogDeviceMarkMappingEventImpl(now, now, getService().getServerAuthor(), UUID.randomUUID(), mark, mapping.getDevice(), from, to); } else if (dto.mappedTo instanceof CompetitorDTO) { Competitor competitor = getService().getCompetitorStore().getExistingCompetitorByIdAsString( ((CompetitorDTO) dto.mappedTo).getIdAsString()); - event = new RegattaLogDeviceCompetitorMappingEventImpl(now, getService().getServerAuthor(), now, UUID.randomUUID(), + event = new RegattaLogDeviceCompetitorMappingEventImpl(now, now, getService().getServerAuthor(), UUID.randomUUID(), competitor, mapping.getDevice(), from, to); } else { throw new RuntimeException("Can only map devices to competitors or marks"); @@ -5574,8 +5580,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S } } if (dateOfMarkPassing != null) { - raceLog.add(RaceLogEventFactory.INSTANCE.createFixedMarkPassingEvent(MillisecondsTimePoint.now(), getService() - .getServerAuthor(), UUID.randomUUID(), Arrays.asList(competitor), raceLog.getCurrentPassId(), + raceLog.add(new RaceLogFixedMarkPassingEventImpl(MillisecondsTimePoint.now(), getService() + .getServerAuthor(), competitor, raceLog.getCurrentPassId(), new MillisecondsTimePoint(dateOfMarkPassing), indexOfWaypoint)); } } @@ -5622,8 +5628,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S } } if (create) { - raceLog.add(RaceLogEventFactory.INSTANCE.createSuppressedMarkPassingsEvent(MillisecondsTimePoint.now(), getService() - .getServerAuthor(), UUID.randomUUID(), Arrays.asList(competitor), raceLog.getCurrentPassId(), + raceLog.add(new RaceLogSuppressedMarkPassingsEventImpl(MillisecondsTimePoint.now(), getService() + .getServerAuthor(), competitor, raceLog.getCurrentPassId(), newZeroBasedIndexOfSuppressedMarkPassing)); } } From c2b71627e4c76b09cfc66cfa3d939643d2587ff1 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 3 Nov 2015 10:47:29 +0100 Subject: [PATCH 04/10] clean-up, removing empty lines, formatting --- .../home/desktop/partials/searchresult/SearchResult.java | 8 -------- .../desktop/partials/searchresult/SearchResultItem.java | 5 ----- 2 files changed, 13 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResult.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResult.java index c58cf66cced..bda65824297 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResult.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResult.java @@ -60,7 +60,6 @@ public class SearchResult extends Composite { } } }); - } @UiHandler("searchButton1") @@ -69,15 +68,12 @@ public class SearchResult extends Composite { doSearch(searchText); } - private void doSearch(String searchText) { PlaceNavigation searchResultNavigation = navigator.getSearchResultNavigation(searchText); navigator.goToPlace(searchResultNavigation); } public void updateSearchResult(String searchText, Iterable searchResultItems) { - - for (LeaderboardSearchResultDTO singleSearchResult : searchResultItems) { // for now filter all results where we no event is defined if (singleSearchResult.getEvent() != null) { @@ -87,7 +83,6 @@ public class SearchResult extends Composite { resultCounter++; } } - searchResultCount.setInnerText(String.valueOf(resultCounter)); } @@ -97,13 +92,10 @@ public class SearchResult extends Composite { return; } searchAmountUi.getStyle().setVisibility(Visibility.VISIBLE); - searchResultItemPanel.clear(); searchResultItemComposites.clear(); - searchResultFor.setInnerText(searchText); searchText1.setText(searchText); - resultCounter = 0; } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java index 9df6a400d5d..3490f42f027 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java @@ -39,22 +39,17 @@ public class SearchResultItem extends Composite { public SearchResultItem(DesktopPlacesNavigator navigator, LeaderboardSearchResultDTO searchResult) { this.placeNavigator = navigator; - SearchResultResources.INSTANCE.css().ensureInjected(); initWidget(uiBinder.createAndBindUi(this)); - EventBaseDTO event = searchResult.getEvent(); regattaNavigation = placeNavigator.getRegattaNavigation(event.id.toString(), searchResult.getLeaderboardName(), searchResult.getBaseURL(), searchResult.isOnRemoteServer()); eventNavigation = placeNavigator.getEventNavigation(event.id.toString(), searchResult.getBaseURL(), searchResult.isOnRemoteServer()); - String headlineLink = searchResult.getLeaderboardDisplayName(); if(headlineLink == null) { headlineLink = searchResult.getRegattaName() != null ? searchResult.getRegattaName() : searchResult.getLeaderboardName(); } - regattaLink.setHref(regattaNavigation.getTargetUrl()); regattaLink.setText(headlineLink); -// resultRegattaDetails.setInnerText("I have no idea yet what to show here..."); eventOverviewLink.setHref(eventNavigation.getTargetUrl()); eventOverviewLink.setText(searchResult.getEvent().getName()); resultEventVenue.setInnerText(searchResult.getEvent().venue.getName()); From 652cd4a4e357f353d8569e7775cdfffe265ef4ea Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 3 Nov 2015 11:10:27 +0100 Subject: [PATCH 05/10] fixed date/time deprecations in EventDatesFormatterUtil and removed redundant check for "within one day" that was without effect --- .../shared/utils/EventDatesFormatterUtil.java | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/utils/EventDatesFormatterUtil.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/utils/EventDatesFormatterUtil.java index fd9d2d8b22f..ea3b39f0ff6 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/utils/EventDatesFormatterUtil.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/utils/EventDatesFormatterUtil.java @@ -15,42 +15,45 @@ public class EventDatesFormatterUtil { private final static DateTimeFormat monthFormat = DateTimeFormat.getFormat("MMMM"); private final static DateTimeFormat yearFormat = DateTimeFormat.getFormat("yyyy"); - private final static int ONE_DAY = 24 * 60 * 60 * 1000; - - @SuppressWarnings("deprecation") public static String formatDateRangeWithYear(Date from, Date to) { - String result = ""; - if(from.getMonth() == to.getMonth()) { + final String result; + final String fromMonth = monthFormat.format(from); + final String toMonth = monthFormat.format(to); + if (fromMonth.equals(toMonth)) { // same month - if(from.getDay() == to.getDay() && to.getTime() - to.getTime() <= ONE_DAY) { + final String fromDay = dayFormat.format(from); + final String toDay = dayFormat.format(to); + if (fromDay.equals(toDay)) { // same day - result = monthFormat.format(from) + " " + dayFormat.format(from) + ", " + yearFormat.format(from); + result = fromMonth + " " + fromDay + ", " + yearFormat.format(from); } else { - result = monthFormat.format(from) + " " + dayFormat.format(from) + " - " + dayFormat.format(to) + ", " + yearFormat.format(from); + result = fromMonth + " " + fromDay + " - " + toDay + ", " + + yearFormat.format(from); } } else { - result = dayAndMonthFormat.format(from) + " - " + dayAndMonthFormat.format(to) + ", " + yearFormat.format(from); + result = dayAndMonthFormat.format(from) + " - " + dayAndMonthFormat.format(to) + ", " + + yearFormat.format(from); } - return result; } - @SuppressWarnings("deprecation") public static String formatDateRangeWithoutYear(Date from, Date to) { - String result = ""; - if(from.getMonth() == to.getMonth()) { + final String result; + final String fromMonth = monthFormat.format(from); + final String toMonth = monthFormat.format(to); + if (fromMonth.equals(toMonth)) { // same month - if(from.getDay() == to.getDay() && to.getTime() - to.getTime() <= ONE_DAY) { + final String fromDay = dayFormat.format(from); + final String toDay = dayFormat.format(to); + if (fromDay.equals(toDay)) { // same day - result = monthFormat.format(from) + " " + dayFormat.format(from); + result = fromMonth + " " + fromDay; } else { - result = monthFormat.format(from) + " " + dayFormat.format(from) + " - " + dayFormat.format(to); + result = fromMonth + " " + fromDay + " - " + toDay; } } else { result = dayAndMonthFormat.format(from) + " - " + dayAndMonthFormat.format(to); } - return result; } - } From d63eb74d09d17b9b4fea34f16ff1ae545820a793 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 3 Nov 2015 14:04:18 +0100 Subject: [PATCH 06/10] removed unused resultRegattaDetails UI field in SearchResultItem UIBinder; code formatting changes --- .../partials/searchresult/SearchResultItem.java | 11 ++++++----- .../partials/searchresult/SearchResultItem.ui.xml | 3 +-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java index 3490f42f027..638a53c0a3b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java @@ -28,7 +28,6 @@ public class SearchResultItem extends Composite { private static final HyperlinkImpl HYPERLINK_IMPL = GWT.create(HyperlinkImpl.class); @UiField Anchor regattaLink; - @UiField SpanElement resultRegattaDetails; @UiField SpanElement resultEventDate; @UiField SpanElement resultEventVenue; @UiField Anchor eventOverviewLink; @@ -45,16 +44,18 @@ public class SearchResultItem extends Composite { regattaNavigation = placeNavigator.getRegattaNavigation(event.id.toString(), searchResult.getLeaderboardName(), searchResult.getBaseURL(), searchResult.isOnRemoteServer()); eventNavigation = placeNavigator.getEventNavigation(event.id.toString(), searchResult.getBaseURL(), searchResult.isOnRemoteServer()); String headlineLink = searchResult.getLeaderboardDisplayName(); - if(headlineLink == null) { - headlineLink = searchResult.getRegattaName() != null ? searchResult.getRegattaName() : searchResult.getLeaderboardName(); + if (headlineLink == null) { + headlineLink = searchResult.getRegattaName() != null ? searchResult.getRegattaName() : searchResult + .getLeaderboardName(); } regattaLink.setHref(regattaNavigation.getTargetUrl()); regattaLink.setText(headlineLink); eventOverviewLink.setHref(eventNavigation.getTargetUrl()); eventOverviewLink.setText(searchResult.getEvent().getName()); resultEventVenue.setInnerText(searchResult.getEvent().venue.getName()); - if(searchResult.getEvent().startDate != null) { - resultEventDate.setInnerText(EventDatesFormatterUtil.formatDateRangeWithYear(searchResult.getEvent().startDate, searchResult.getEvent().endDate)); + if (searchResult.getEvent().startDate != null) { + resultEventDate.setInnerText(EventDatesFormatterUtil.formatDateRangeWithYear( + searchResult.getEvent().startDate, searchResult.getEvent().endDate)); } else { resultEventDate.setInnerText("Unknown date"); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.ui.xml index aff81165b66..da1502eaca5 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.ui.xml @@ -6,8 +6,7 @@
-
- +
From b00fd99cf9c32a13d10a02e3f85b6a974b604257 Mon Sep 17 00:00:00 2001 From: Fredrik Teschke Date: Tue, 3 Nov 2015 16:20:18 +0100 Subject: [PATCH 07/10] fixed NPEs due to missing nextStatus in RaceStateEvents --- .../test/DependentStartTimeFinderTest.java | 20 +++++++++++------- .../state/test/DependentRaceStateTest.java | 21 ++++++++++--------- .../test/StoreAndLoadRaceLogEventsTest.java | 2 +- .../server/test/MasterDataImportTest.java | 5 +++-- .../RaceLogOperationalTransformationTest.java | 5 +++-- 5 files changed, 30 insertions(+), 23 deletions(-) diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java index 332592dea7a..bb89960120a 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/DependentStartTimeFinderTest.java @@ -21,6 +21,7 @@ import com.sap.sailing.domain.abstractlog.race.impl.RaceLogDependentStartTimeEve import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; import com.sap.sailing.domain.abstractlog.race.impl.SimpleRaceLogIdentifierImpl; +import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sse.common.TimePoint; import com.sap.sse.common.impl.MillisecondsDurationImpl; import com.sap.sse.common.impl.MillisecondsTimePoint; @@ -65,7 +66,7 @@ public class DependentStartTimeFinderTest { public void testDependentStartTimeUpdate() { final MillisecondsDurationImpl cAfterB = new MillisecondsDurationImpl(5000); raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, - new SimpleRaceLogIdentifierImpl("B", "", ""), cAfterB, null)); + new SimpleRaceLogIdentifierImpl("B", "", ""), cAfterB, RaceLogRaceStatus.SCHEDULED)); StartTimeFinder finder = new StartTimeFinder(raceLogResolver, raceLogC); // Tests for correct behaviour, when race depending on has no start time set @@ -73,7 +74,7 @@ public class DependentStartTimeFinderTest { final MillisecondsDurationImpl bAfterA = new MillisecondsDurationImpl(6000); raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, - new SimpleRaceLogIdentifierImpl("A", "", ""), bAfterA, null)); + new SimpleRaceLogIdentifierImpl("A", "", ""), bAfterA, RaceLogRaceStatus.SCHEDULED)); finder = new StartTimeFinder(raceLogResolver, raceLogB); StartTimeFinderResult result = finder.analyze(); @@ -98,7 +99,8 @@ public class DependentStartTimeFinderTest { assertEquals(expectedDependingOnRaces, result.getRacesDependingOn()); TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), null)); + raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), + RaceLogRaceStatus.SCHEDULED)); finder = new StartTimeFinder(raceLogResolver, raceLogB); result = finder.analyze(); @@ -111,7 +113,8 @@ public class DependentStartTimeFinderTest { assertEquals(5000, result.getStartTimeDiff().asMillis()); // Test correct behaviour, when middle element changes - raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(15000), null)); + raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(15000), + RaceLogRaceStatus.SCHEDULED)); finder = new StartTimeFinder(raceLogResolver, raceLogA); result = finder.analyze(); assertEquals(5000, result.getStartTime().asMillis()); @@ -132,15 +135,15 @@ public class DependentStartTimeFinderTest { public void testDependentStartTimeCycle() { final MillisecondsDurationImpl cAfterB = new MillisecondsDurationImpl(6000); raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, - new SimpleRaceLogIdentifierImpl("B", "", ""), cAfterB, null)); + new SimpleRaceLogIdentifierImpl("B", "", ""), cAfterB, RaceLogRaceStatus.SCHEDULED)); final MillisecondsDurationImpl bAfterA = new MillisecondsDurationImpl(7000); raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, - new SimpleRaceLogIdentifierImpl("A", "", ""), bAfterA, null)); + new SimpleRaceLogIdentifierImpl("A", "", ""), bAfterA, RaceLogRaceStatus.SCHEDULED)); final MillisecondsDurationImpl aAfterC = new MillisecondsDurationImpl(8000); raceLogA.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, - new SimpleRaceLogIdentifierImpl("C", "", ""), aAfterC, null)); + new SimpleRaceLogIdentifierImpl("C", "", ""), aAfterC, RaceLogRaceStatus.SCHEDULED)); // Check that all resolve to null in case of a cycle StartTimeFinder finder = new StartTimeFinder(raceLogResolver, raceLogC); @@ -157,7 +160,8 @@ public class DependentStartTimeFinderTest { // Check that all resolve correctly after changing some element in cycle TimePoint now = MillisecondsTimePoint.now(); - raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), null)); + raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), + RaceLogRaceStatus.SCHEDULED)); // now A -> C -> B finder = new StartTimeFinder(raceLogResolver, raceLogA); diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java index 3f4cd99ac3e..29472750181 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/state/test/DependentRaceStateTest.java @@ -26,6 +26,7 @@ import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.impl.Racing import com.sap.sailing.domain.base.configuration.ConfigurationLoader; import com.sap.sailing.domain.base.configuration.RegattaConfiguration; import com.sap.sailing.domain.base.configuration.impl.EmptyRegattaConfiguration; +import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sse.common.TimePoint; import com.sap.sse.common.impl.MillisecondsDurationImpl; import com.sap.sse.common.impl.MillisecondsTimePoint; @@ -94,13 +95,13 @@ public class DependentRaceStateTest { @Test public void testCorrectAmountOfStartTimeChanges() { raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, - new SimpleRaceLogIdentifierImpl("B", "", ""), new MillisecondsDurationImpl(5000), null)); + new SimpleRaceLogIdentifierImpl("B", "", ""), new MillisecondsDurationImpl(5000), RaceLogRaceStatus.SCHEDULED)); raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, - new SimpleRaceLogIdentifierImpl("A", "", ""), new MillisecondsDurationImpl(5000), null)); + new SimpleRaceLogIdentifierImpl("A", "", ""), new MillisecondsDurationImpl(5000), RaceLogRaceStatus.SCHEDULED)); TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), null)); + raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), RaceLogRaceStatus.SCHEDULED)); verify(listenerC, times(3)).onStartTimeChanged(stateC); verify(listenerB, times(2)).onStartTimeChanged(stateB); @@ -110,8 +111,8 @@ public class DependentRaceStateTest { @Test public void testInitialRegistrationOfRaceState() { final MillisecondsDurationImpl delta = new MillisecondsDurationImpl(5000); - raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, - new SimpleRaceLogIdentifierImpl("A", "", ""), delta, null)); + raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, author, 12, + new SimpleRaceLogIdentifierImpl("A", "", ""), delta)); final RaceState stateB2 = new RaceStateImpl(raceLogResolver, raceLogB, author, new RacingProcedureFactoryImpl( author, configuration)); final TimePoint[] bTime = new TimePoint[1]; @@ -122,22 +123,22 @@ public class DependentRaceStateTest { } }); TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, now, null)); + raceLogA.add(new RaceLogStartTimeEventImpl(now, author, 12, now)); assertEquals(now.plus(delta), bTime[0]); } @Test public void testCorrectAmountOfStartTimeChanges2() { raceLogC.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, - new SimpleRaceLogIdentifierImpl("B", "", ""), new MillisecondsDurationImpl(5000), null)); + new SimpleRaceLogIdentifierImpl("B", "", ""), new MillisecondsDurationImpl(5000), RaceLogRaceStatus.SCHEDULED)); raceLogB.add(new RaceLogDependentStartTimeEventImpl(nowMock, nowMock, author, "12", 12, - new SimpleRaceLogIdentifierImpl("A", "", ""), new MillisecondsDurationImpl(5000), null)); + new SimpleRaceLogIdentifierImpl("A", "", ""), new MillisecondsDurationImpl(5000), RaceLogRaceStatus.SCHEDULED)); TimePoint now = MillisecondsTimePoint.now(); - raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), null)); + raceLogA.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(5000), RaceLogRaceStatus.SCHEDULED)); - raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(20000), null)); + raceLogB.add(new RaceLogStartTimeEventImpl(now, now, author, "12", 12, new MillisecondsTimePoint(20000), RaceLogRaceStatus.SCHEDULED)); verify(listenerA, times(1)).onStartTimeChanged(stateA); verify(listenerB, times(3)).onStartTimeChanged(stateB); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java index 3973588d18c..ab651c9a1b8 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/StoreAndLoadRaceLogEventsTest.java @@ -173,7 +173,7 @@ public class StoreAndLoadRaceLogEventsTest extends AbstractMongoDBTest { public void testStoreAndLoadStartTimeEvent() { TimePoint startTime = new MillisecondsTimePoint(1337); RaceLogStartTimeEvent expectedEvent = new RaceLogStartTimeEventImpl(MillisecondsTimePoint.now(), - expectedEventTime, author, expectedId, expectedPassId, startTime, null); + expectedEventTime, author, expectedId, expectedPassId, startTime, RaceLogRaceStatus.SCHEDULED); DBObject dbObject = mongoFactory.storeRaceLogEntry(logIdentifier, expectedEvent); RaceLogStartTimeEvent actualEvent = loadEvent(dbObject); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java index 4b7648a3865..302e93e9f0a 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/MasterDataImportTest.java @@ -94,6 +94,7 @@ import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl; import com.sap.sailing.domain.common.impl.WindImpl; import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID; import com.sap.sailing.domain.common.media.MediaTrack; +import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sailing.domain.common.tracking.GPSFix; import com.sap.sailing.domain.common.tracking.impl.GPSFixMovingImpl; import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; @@ -259,7 +260,7 @@ public class MasterDataImportTest { TimePoint logTimePoint = new MillisecondsTimePoint(1372489200000L); TimePoint logTimePoint2 = new MillisecondsTimePoint(1372489201000L); RaceLogStartTimeEvent logEvent = new RaceLogStartTimeEventImpl(logTimePoint, logTimePoint, author, 1, - 0, logTimePoint, null); + 0, logTimePoint, RaceLogRaceStatus.SCHEDULED); raceColumn.getRaceLog(testFleet1).add(logEvent); Position p = new DegreePosition(3, 3); Wind wind = new WindImpl(p, logTimePoint2, new KnotSpeedWithBearingImpl(5, new DegreeBearingImpl(12))); @@ -413,7 +414,7 @@ public class MasterDataImportTest { TimePoint logTimePoint5 = new MillisecondsTimePoint(1372489310000L); UUID postImportEventId = UUID.randomUUID(); RaceLogStartTimeEventImpl postImportLogEvent = new RaceLogStartTimeEventImpl(logTimePoint5, logTimePoint5, - author, postImportEventId, 3, logTimePoint5, null); + author, postImportEventId, 3, logTimePoint5, RaceLogRaceStatus.SCHEDULED); raceColumnOnTarget.getRaceLog(fleet1OnTarget).add(postImportLogEvent); // Check for regatta log event diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java index a167a88dbdb..25430a3b5d0 100755 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceLogOperationalTransformationTest.java @@ -16,6 +16,7 @@ import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogImpl; import com.sap.sailing.domain.abstractlog.race.impl.RaceLogStartTimeEventImpl; +import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sailing.server.operationaltransformation.racelog.RaceLogEventWithTransformationSupport; import com.sap.sailing.server.operationaltransformation.racelog.RaceLogStartTimeEventWithTransformationSupport; import com.sap.sse.common.TimePoint; @@ -139,7 +140,7 @@ public class RaceLogOperationalTransformationTest { { RaceLogStartTimeEvent startTimeEventServer = new RaceLogStartTimeEventImpl(createdAt, startTimeServer, author, UUID.randomUUID(), /* pass ID */1, - startTimeServer, null); + startTimeServer, RaceLogRaceStatus.SCHEDULED); RaceLogStartTimeEventWithTransformationSupport eServer = new RaceLogStartTimeEventWithTransformationSupport( startTimeEventServer); server.apply(eServer); @@ -149,7 +150,7 @@ public class RaceLogOperationalTransformationTest { final MillisecondsTimePoint startTimeClient1 = new MillisecondsTimePoint(cClient1.getTime()); RaceLogStartTimeEvent startTimeEventClient1 = new RaceLogStartTimeEventImpl(createdAt, startTimeClient1, author, UUID.randomUUID(), /* pass ID */1, - startTimeClient1, null); + startTimeClient1, RaceLogRaceStatus.SCHEDULED); final RaceLogStartTimeEventWithTransformationSupport eClient1 = new RaceLogStartTimeEventWithTransformationSupport( startTimeEventClient1); client1.apply(eClient1); // this call won't block because server calls apply(Peer, O, int) which first waits for the latch before synchronizing From 26c7f3ada9350da3e305ad00a0ba00d1a4edb772 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 3 Nov 2015 16:21:22 +0100 Subject: [PATCH 08/10] made autoSelectMedia the default for RaceBoard as per Stefan's request --- .../com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java | 2 +- .../sailing/gwt/ui/raceboard/RaceBoardViewConfiguration.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java index 4c6778185ef..103c8788aa5 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java @@ -93,7 +93,7 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint { boolean showViewSimulation = GwtHttpRequestUtils.getBooleanParameter(RaceBoardViewConfiguration.PARAM_VIEW_SHOW_SIMULATION, true /* default*/); String activeCompetitorsFilterSetName = GwtHttpRequestUtils.getStringParameter(RaceBoardViewConfiguration.PARAM_VIEW_COMPETITOR_FILTER, null /* default*/); final boolean canReplayWhileLiveIsPossible = GwtHttpRequestUtils.getBooleanParameter(RaceBoardViewConfiguration.PARAM_CAN_REPLAY_DURING_LIVE_RACES, false); - final boolean autoSelectMedia = GwtHttpRequestUtils.getBooleanParameter(RaceBoardViewConfiguration.PARAM_AUTOSELECT_MEDIA, false); + final boolean autoSelectMedia = GwtHttpRequestUtils.getBooleanParameter(RaceBoardViewConfiguration.PARAM_AUTOSELECT_MEDIA, true); final String defaultMedia = GwtHttpRequestUtils.getStringParameter(RaceBoardViewConfiguration.PARAM_DEFAULT_MEDIA, null /* default*/); final boolean showMapControls = GwtHttpRequestUtils.getBooleanParameter(RaceBoardViewConfiguration.PARAM_VIEW_SHOW_MAPCONTROLS, true /* default*/); raceboardViewConfig = new RaceBoardViewConfiguration(activeCompetitorsFilterSetName, showLeaderboard, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardViewConfiguration.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardViewConfiguration.java index c9c7a1ce220..ee83f828313 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardViewConfiguration.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardViewConfiguration.java @@ -85,8 +85,8 @@ public class RaceBoardViewConfiguration { } public boolean isAutoSelectMedia() { - return autoSelectMedia; - } + return autoSelectMedia; + } public String getDefaultMedia() { return defaultMedia; From 34c4b08092ab66583c137dbafd20a7c9b90afd66 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 3 Nov 2015 18:20:09 +0100 Subject: [PATCH 09/10] search result now returns multiple events per leaderboard --- .../base/LeaderboardSearchResultBase.java | 2 +- .../domain/base/LeaderboardSearchResult.java | 4 +- .../impl/LeaderboardSearchResultBaseImpl.java | 10 +- .../impl/LeaderboardSearchResultImpl.java | 10 +- .../partials/searchresult/SearchResult.java | 2 +- .../searchresult/SearchResultItem.java | 32 +++--- .../gwt/ui/server/SailingServiceImpl.java | 11 ++- .../ui/shared/LeaderboardSearchResultDTO.java | 16 +-- ...boardSearchResultBaseJsonDeserializer.java | 17 ++-- ...LeaderboardSearchResultJsonSerializer.java | 12 ++- .../server/test/SearchServiceTest.java | 18 ++-- .../impl/RegattaByKeywordSearchService.java | 97 +++++++++++-------- .../src/com/sap/sse/common/Util.java | 13 +++ .../sse/common/filter/AbstractListFilter.java | 1 - 14 files changed, 147 insertions(+), 98 deletions(-) diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/LeaderboardSearchResultBase.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/LeaderboardSearchResultBase.java index 1ab3365fc2e..176dd2a67d2 100755 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/LeaderboardSearchResultBase.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/LeaderboardSearchResultBase.java @@ -34,5 +34,5 @@ public interface LeaderboardSearchResultBase extends Hit { * that is referenced by the leaderboard as its {@link Leaderboard#getDefaultCourseArea() default course area}, the * event is returned; null otherwise. */ - EventBase getEvent(); + Iterable getEvents(); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/LeaderboardSearchResult.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/LeaderboardSearchResult.java index a49b710723b..8beb6d53e52 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/LeaderboardSearchResult.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/LeaderboardSearchResult.java @@ -36,7 +36,7 @@ public interface LeaderboardSearchResult extends LeaderboardSearchResultBase { * If there is a connection between an {@link Event} and the {@link #getLeaderboard() leaderboard}, e.g., because * the {@link Event} has a {@link Event#getLeaderboardGroups() leaderboard group} that is part of {@link #getLeaderboardGroups()} or * the event has a course area attached to its {@link Event#getVenue() venue} that is referenced by the leaderboard as - * its {@link Leaderboard#getDefaultCourseArea() default course area}, the event is returned; null otherwise. + * its {@link Leaderboard#getDefaultCourseArea() default course area}, the event is part of the resulting iterable. */ - Event getEvent(); + Iterable getEvents(); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/LeaderboardSearchResultBaseImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/LeaderboardSearchResultBaseImpl.java index 216e51850b3..6644dc200d5 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/LeaderboardSearchResultBaseImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/LeaderboardSearchResultBaseImpl.java @@ -19,17 +19,17 @@ public class LeaderboardSearchResultBaseImpl implements LeaderboardSearchResultB private final LeaderboardBase leaderboard; private final String regattaName; private final Iterable leaderboardGroups; - private final EventBase event; + private final Iterable events; private final String boatClassName; public LeaderboardSearchResultBaseImpl(LeaderboardBase leaderboard, String regattaName, - String boatClassName, Iterable leaderboardGroups, EventBase event) { + String boatClassName, Iterable leaderboardGroups, Iterable events) { super(); this.leaderboard = leaderboard; this.regattaName = regattaName; this.boatClassName = boatClassName; this.leaderboardGroups = leaderboardGroups; - this.event = event; + this.events = events; } @Override @@ -53,8 +53,8 @@ public class LeaderboardSearchResultBaseImpl implements LeaderboardSearchResultB } @Override - public EventBase getEvent() { - return event; + public Iterable getEvents() { + return events; } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/LeaderboardSearchResultImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/LeaderboardSearchResultImpl.java index d619c8234f2..edb1557c2b9 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/LeaderboardSearchResultImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/LeaderboardSearchResultImpl.java @@ -14,17 +14,17 @@ import com.sap.sailing.domain.tracking.TrackedRace; public class LeaderboardSearchResultImpl implements LeaderboardSearchResult { private final Leaderboard leaderboard; - private final Event event; + private final Set events; private final Set leaderboardGroups; - public LeaderboardSearchResultImpl(Leaderboard leaderboard, Event event, Set leaderboardGroups) { + public LeaderboardSearchResultImpl(Leaderboard leaderboard, Set events, Set leaderboardGroups) { this.leaderboard = leaderboard; if (leaderboardGroups == null) { this.leaderboardGroups = Collections.emptySet(); } else { this.leaderboardGroups = leaderboardGroups; } - this.event = event; + this.events = events; } @Override @@ -49,8 +49,8 @@ public class LeaderboardSearchResultImpl implements LeaderboardSearchResult { } @Override - public Event getEvent() { - return event; + public Iterable getEvents() { + return events; } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResult.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResult.java index bda65824297..c6280ffc619 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResult.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResult.java @@ -76,7 +76,7 @@ public class SearchResult extends Composite { public void updateSearchResult(String searchText, Iterable searchResultItems) { for (LeaderboardSearchResultDTO singleSearchResult : searchResultItems) { // for now filter all results where we no event is defined - if (singleSearchResult.getEvent() != null) { + if (singleSearchResult.getEvents() != null) { SearchResultItem searchResultItem = new SearchResultItem(navigator, singleSearchResult); searchResultItemPanel.add(searchResultItem); searchResultItemComposites.add(searchResultItem); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java index 638a53c0a3b..e7cf04a7245 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/searchresult/SearchResultItem.java @@ -18,6 +18,7 @@ import com.sap.sailing.gwt.home.shared.places.event.EventDefaultPlace; import com.sap.sailing.gwt.home.shared.utils.EventDatesFormatterUtil; import com.sap.sailing.gwt.ui.shared.EventBaseDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardSearchResultDTO; +import com.sap.sse.common.Util; public class SearchResultItem extends Composite { interface SearchResultUiBinder extends UiBinder { @@ -40,9 +41,16 @@ public class SearchResultItem extends Composite { this.placeNavigator = navigator; SearchResultResources.INSTANCE.css().ensureInjected(); initWidget(uiBinder.createAndBindUi(this)); - EventBaseDTO event = searchResult.getEvent(); - regattaNavigation = placeNavigator.getRegattaNavigation(event.id.toString(), searchResult.getLeaderboardName(), searchResult.getBaseURL(), searchResult.isOnRemoteServer()); - eventNavigation = placeNavigator.getEventNavigation(event.id.toString(), searchResult.getBaseURL(), searchResult.isOnRemoteServer()); + Iterable events = searchResult.getEvents(); + final EventBaseDTO event; + // TODO bug 3348: iterate over all events instead of just picking the first... + if (Util.isEmpty(events)) { + event = null; + } else { + event = events.iterator().next(); + } + regattaNavigation = placeNavigator.getRegattaNavigation(event==null ? "" : event.id.toString(), searchResult.getLeaderboardName(), searchResult.getBaseURL(), searchResult.isOnRemoteServer()); + eventNavigation = placeNavigator.getEventNavigation(event==null?"":event.id.toString(), searchResult.getBaseURL(), searchResult.isOnRemoteServer()); String headlineLink = searchResult.getLeaderboardDisplayName(); if (headlineLink == null) { headlineLink = searchResult.getRegattaName() != null ? searchResult.getRegattaName() : searchResult @@ -50,14 +58,16 @@ public class SearchResultItem extends Composite { } regattaLink.setHref(regattaNavigation.getTargetUrl()); regattaLink.setText(headlineLink); - eventOverviewLink.setHref(eventNavigation.getTargetUrl()); - eventOverviewLink.setText(searchResult.getEvent().getName()); - resultEventVenue.setInnerText(searchResult.getEvent().venue.getName()); - if (searchResult.getEvent().startDate != null) { - resultEventDate.setInnerText(EventDatesFormatterUtil.formatDateRangeWithYear( - searchResult.getEvent().startDate, searchResult.getEvent().endDate)); - } else { - resultEventDate.setInnerText("Unknown date"); + if (event != null) { + eventOverviewLink.setHref(eventNavigation.getTargetUrl()); + eventOverviewLink.setText(event.getName()); + resultEventVenue.setInnerText(event.venue.getName()); + if (event.startDate != null) { + resultEventDate.setInnerText(EventDatesFormatterUtil.formatDateRangeWithYear( + event.startDate, event.endDate)); + } else { + resultEventDate.setInnerText("Unknown date"); + } } } 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 2f6cf4b2365..24f20fb3790 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 @@ -5493,15 +5493,18 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S private LeaderboardSearchResultDTO createLeaderboardSearchResultDTO(LeaderboardSearchResultBase leaderboardSearchResult, URL baseURL, boolean isOnRemoteServer) { - ArrayList leaderboardGroups = new ArrayList<>(); - for (LeaderboardGroupBase lgb : leaderboardSearchResult.getLeaderboardGroups()) { + Collection leaderboardGroups = new ArrayList<>(); + for (final LeaderboardGroupBase lgb : leaderboardSearchResult.getLeaderboardGroups()) { LeaderboardGroupBaseDTO leaderboardGroupDTO = convertToLeaderboardGroupBaseDTO(lgb); leaderboardGroups.add(leaderboardGroupDTO); } + Collection events = new ArrayList<>(); + for (final EventBase e : leaderboardSearchResult.getEvents()) { + events.add(convertToEventDTO(e)); + } return new LeaderboardSearchResultDTO(baseURL.toString(), isOnRemoteServer, leaderboardSearchResult.getLeaderboard().getName(), leaderboardSearchResult.getLeaderboard().getDisplayName(), leaderboardSearchResult.getRegattaName(), - leaderboardSearchResult.getBoatClassName(), convertToEventDTO(leaderboardSearchResult.getEvent()), - leaderboardGroups); + leaderboardSearchResult.getBoatClassName(), events, leaderboardGroups); } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardSearchResultDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardSearchResultDTO.java index b91cdb995ae..27baba35087 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardSearchResultDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardSearchResultDTO.java @@ -22,13 +22,13 @@ public class LeaderboardSearchResultDTO implements IsSerializable { private String leaderboardDisplayName; private String regattaName; private String boatClassName; - private EventBaseDTO event; + private Iterable events; private Iterable leaderboardGroups; LeaderboardSearchResultDTO() {} // for GWT RPC serialization only public LeaderboardSearchResultDTO(String baseURL, boolean isOnRemoteServer, String leaderboardName, String leaderboardDisplayName, - String regattaName, String boatClassName, EventBaseDTO event, + String regattaName, String boatClassName, Iterable events, Iterable leaderboardGroups) { super(); this.baseURL = baseURL; @@ -37,7 +37,7 @@ public class LeaderboardSearchResultDTO implements IsSerializable { this.leaderboardDisplayName = leaderboardDisplayName; this.regattaName = regattaName; this.boatClassName = boatClassName; - this.event = event; + this.events = events; this.leaderboardGroups = leaderboardGroups; } @@ -61,8 +61,8 @@ public class LeaderboardSearchResultDTO implements IsSerializable { return boatClassName; } - public EventBaseDTO getEvent() { - return event; + public Iterable getEvents() { + return events; } public Iterable getLeaderboardGroups() { @@ -81,9 +81,9 @@ public class LeaderboardSearchResultDTO implements IsSerializable { sb.append(getLeaderboardDisplayName()); sb.append(")"); } - if (getEvent() != null) { - sb.append(", Event "); - sb.append(getEvent().getName()); + if (getEvents() != null) { + sb.append(", Events "); + sb.append(getEvents()); } sb.append(", "); sb.append("Boat class: "); diff --git a/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/impl/LeaderboardSearchResultBaseJsonDeserializer.java b/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/impl/LeaderboardSearchResultBaseJsonDeserializer.java index a2a7f6df5ea..bcadd30f714 100755 --- a/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/impl/LeaderboardSearchResultBaseJsonDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/impl/LeaderboardSearchResultBaseJsonDeserializer.java @@ -1,6 +1,8 @@ package com.sap.sailing.server.gateway.deserialization.impl; import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; import java.util.List; import org.json.simple.JSONArray; @@ -29,12 +31,15 @@ public class LeaderboardSearchResultBaseJsonDeserializer implements JsonDeserial @Override public LeaderboardSearchResultBase deserialize(JSONObject object) throws JsonDeserializationException { - final JSONObject eventJson = (JSONObject) object.get(LeaderboardSearchResultJsonSerializer.FIELD_EVENT); - final EventBase event; - if (eventJson != null) { - event = eventDeserializer.deserialize(eventJson); + final JSONArray eventsJson = (JSONArray) object.get(LeaderboardSearchResultJsonSerializer.FIELD_EVENTS); + Collection events = new ArrayList<>(); + if (eventsJson != null) { + for (Object eventJson : eventsJson) { + final EventBase event = eventDeserializer.deserialize((JSONObject) eventJson); + events.add(event); + } } else { - event = null; + events = Collections.emptySet(); } JSONObject leaderboardJson = Helpers.getNestedObjectSafe(object, LeaderboardSearchResultJsonSerializer.FIELD_LEADERBOARD); String leaderboardName = (String) leaderboardJson.get(LeaderboardSearchResultJsonSerializer.FIELD_LEADERBOARD_NAME); @@ -47,7 +52,7 @@ public class LeaderboardSearchResultBaseJsonDeserializer implements JsonDeserial leaderboardGroups.add(leaderboardGroupDeserializer.deserialize((JSONObject) leaderboardGroupJson)); } return new LeaderboardSearchResultBaseImpl(new LeaderboardBaseImpl(leaderboardName, leaderboardDisplayName), - regattaName, boatClassName, leaderboardGroups, event); + regattaName, boatClassName, leaderboardGroups, events); } } diff --git a/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/serialization/impl/LeaderboardSearchResultJsonSerializer.java b/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/serialization/impl/LeaderboardSearchResultJsonSerializer.java index e2dbf1cd2f2..4c100b15a3f 100755 --- a/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/serialization/impl/LeaderboardSearchResultJsonSerializer.java +++ b/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/serialization/impl/LeaderboardSearchResultJsonSerializer.java @@ -3,6 +3,7 @@ package com.sap.sailing.server.gateway.serialization.impl; import org.json.simple.JSONArray; import org.json.simple.JSONObject; +import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.EventBase; import com.sap.sailing.domain.base.LeaderboardGroupBase; import com.sap.sailing.domain.base.LeaderboardSearchResult; @@ -14,7 +15,7 @@ import com.sap.sailing.server.gateway.serialization.JsonSerializer; public class LeaderboardSearchResultJsonSerializer implements JsonSerializer { public static final String FIELD_SERVER_BASE_URL = "serverBaseURL"; - public static final String FIELD_EVENT = "event"; + public static final String FIELD_EVENTS = "events"; public static final String FIELD_LEADERBOARD = "leaderboard"; public static final String FIELD_LEADERBOARD_NAME = "name"; public static final String FIELD_LEADERBOARD_DISPLAY_NAME = "displayName"; @@ -33,10 +34,11 @@ public class LeaderboardSearchResultJsonSerializer implements JsonSerializer expectedLGs = expected.getLeaderboardGroups().iterator(); Iterator deserializedLGs = deserialized.getLeaderboardGroups().iterator(); while (expectedLGs.hasNext()) { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RegattaByKeywordSearchService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RegattaByKeywordSearchService.java index 72aa4fce917..120c31aa8e9 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RegattaByKeywordSearchService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RegattaByKeywordSearchService.java @@ -3,12 +3,12 @@ package com.sap.sailing.server.impl; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; -import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.CourseArea; import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.LeaderboardSearchResult; import com.sap.sailing.domain.base.impl.LeaderboardSearchResultImpl; @@ -34,8 +34,32 @@ import com.sap.sse.common.search.ResultImpl; public class RegattaByKeywordSearchService { Result search(final RacingEventService racingEventService, KeywordQuery query) { ResultImpl result = new ResultImpl<>(query, new LeaderboardSearchResultRanker(racingEventService)); - final Map eventForLeaderboard = new HashMap<>(); + final Map> eventsForLeaderboardGroup = new HashMap<>(); final Map> leaderboardGroupsForLeaderboard = new HashMap<>(); + final Map eventForCourseArea = new HashMap<>(); + final Map> stringsForEvent = new HashMap<>(); + final Map> stringsForLeaderboardGroup = new HashMap<>(); + for (final Event event : racingEventService.getAllEvents()) { + final Set s4e = new HashSet<>(); + s4e.add(event.getName()); + s4e.add(event.getVenue().getName()); + stringsForEvent.put(event, s4e); + for (final LeaderboardGroup leaderboardGroup : event.getLeaderboardGroups()) { + Util.add(eventsForLeaderboardGroup, leaderboardGroup, event); + } + for (final CourseArea courseArea : event.getVenue().getCourseAreas()) { + eventForCourseArea.put(courseArea, event); + } + } + for (final LeaderboardGroup leaderboardGroup : racingEventService.getLeaderboardGroups().values()) { + final Set s4lg = new HashSet<>(); + s4lg.add(leaderboardGroup.getName()); + s4lg.add(leaderboardGroup.getDescription()); + stringsForLeaderboardGroup.put(leaderboardGroup, s4lg); + for (final Leaderboard leaderboard : leaderboardGroup.getLeaderboards()) { + Util.add(leaderboardGroupsForLeaderboard, leaderboard, leaderboardGroup); + } + } AbstractListFilter leaderboardFilter = new AbstractListFilter() { @Override public Iterable getStrings(Leaderboard leaderboard) { @@ -51,58 +75,51 @@ public class RegattaByKeywordSearchService { leaderboardStrings.add(competitorDisplayName); } } - final Iterable leaderboardGroupsHostingLeaderboard = getLeaderboardGroupsHostingLeaderboard( - leaderboard, racingEventService); - for (LeaderboardGroup leaderboardGroup : leaderboardGroupsHostingLeaderboard) { - leaderboardStrings.add(leaderboardGroup.getName()); - leaderboardStrings.add(leaderboardGroup.getDescription()); - Set leaderboardGroups = leaderboardGroupsForLeaderboard.get(leaderboard); - if (leaderboardGroups == null) { - leaderboardGroups = new HashSet<>(); - leaderboardGroupsForLeaderboard.put(leaderboard, leaderboardGroups); + final Iterable leaderboardGroupsHostingLeaderboard = leaderboardGroupsForLeaderboard.get(leaderboard); + if (leaderboardGroupsHostingLeaderboard != null) { + for (LeaderboardGroup leaderboardGroup : leaderboardGroupsHostingLeaderboard) { + leaderboardStrings.addAll(stringsForLeaderboardGroup.get(leaderboardGroup)); + final Set eventsForLG = eventsForLeaderboardGroup.get(leaderboardGroup); + if (eventsForLG != null) { + for (final Event event : eventsForLG) { + leaderboardStrings.addAll(stringsForEvent.get(event)); + } + } } - leaderboardGroups.add(leaderboardGroup); } - for (Event event : getEventsHostingLeaderboard(leaderboard, racingEventService, leaderboardGroupsHostingLeaderboard)) { - leaderboardStrings.add(event.getName()); - leaderboardStrings.add(event.getVenue().getName()); - eventForLeaderboard.put(leaderboard, event); + final Event eventByDefaultCourseArea = eventForCourseArea.get(leaderboard.getDefaultCourseArea()); + if (eventByDefaultCourseArea != null) { + leaderboardStrings.addAll(stringsForEvent.get(eventByDefaultCourseArea)); } + // FIXME bug 3348: for event series the "containment" between event and leaderboard group works the other way: one leaderboard group hosts the leaderboards of a series of events return leaderboardStrings; } }; for (Leaderboard matchingLeaderboard : leaderboardFilter.applyFilter(query.getKeywords(), racingEventService.getLeaderboards().values())) { - result.addHit(new LeaderboardSearchResultImpl(matchingLeaderboard, eventForLeaderboard.get(matchingLeaderboard), leaderboardGroupsForLeaderboard.get(matchingLeaderboard))); + result.addHit(new LeaderboardSearchResultImpl(matchingLeaderboard, + getEventsForLeaderboard(matchingLeaderboard, leaderboardGroupsForLeaderboard, + eventsForLeaderboardGroup, eventForCourseArea), leaderboardGroupsForLeaderboard + .get(matchingLeaderboard))); } return result; } - private Iterable getLeaderboardGroupsHostingLeaderboard(Leaderboard leaderboard, RacingEventService racingEventService) { - Set result = new LinkedHashSet<>(); - for (LeaderboardGroup leaderboardGroup : racingEventService.getLeaderboardGroups().values()) { - for (Leaderboard lgLeaderboard : leaderboardGroup.getLeaderboards()) { - if (lgLeaderboard == leaderboard) { - result.add(leaderboardGroup); + private Set getEventsForLeaderboard(Leaderboard matchingLeaderboard, + Map> leaderboardGroupsForLeaderboard, + Map> eventsForLeaderboardGroup, Map eventForCourseArea) { + final Set result = new HashSet<>(); + final Set lgs = leaderboardGroupsForLeaderboard.get(matchingLeaderboard); + if (lgs != null) { + for (final LeaderboardGroup lg : lgs) { + final Set eventsForLG = eventsForLeaderboardGroup.get(lg); + if (eventsForLG != null) { + result.addAll(eventsForLG); } } } - return result; - } - - private Iterable getEventsHostingLeaderboard(Leaderboard leaderboard, RacingEventService racingEventService, - Iterable leaderboardGroupsHostingLeaderboard) { - Set result = new LinkedHashSet<>(); - for (Event event : racingEventService.getAllEvents()) { - if (Util.contains(event.getVenue().getCourseAreas(), leaderboard.getDefaultCourseArea())) { - result.add(event); - } else { - for (LeaderboardGroup leaderboardGroupHostingRegatta : leaderboardGroupsHostingLeaderboard) { - if (Util.contains(event.getLeaderboardGroups(), leaderboardGroupHostingRegatta)) { - result.add(event); - break; - } - } - } + final Event eventByCourseArea = eventForCourseArea.get(matchingLeaderboard.getDefaultCourseArea()); + if (eventByCourseArea != null) { + result.add(eventByCourseArea); } return result; } diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/Util.java b/java/com.sap.sse.common/src/com/sap/sse/common/Util.java index 3c1d8d300fc..fbe48741381 100755 --- a/java/com.sap.sse.common/src/com/sap/sse/common/Util.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/Util.java @@ -147,6 +147,19 @@ public class Util { } return addTo; } + + /** + * Adds v to the value set for key k. If no entry exists yet for k, the + * entry is created using a {@link HashSet} for the value set. + */ + public static void add(Map> map, K k, V v) { + Set set = map.get(k); + if (set == null) { + set = new HashSet<>(); + map.put(k, set); + } + set.add(v); + } /** * Removes all elements in what from removeFrom and returns removeFrom for chained use. diff --git a/java/com.sap.sse.common/src/com/sap/sse/common/filter/AbstractListFilter.java b/java/com.sap.sse.common/src/com/sap/sse/common/filter/AbstractListFilter.java index 993e83dbae2..a1308ddf82c 100755 --- a/java/com.sap.sse.common/src/com/sap/sse/common/filter/AbstractListFilter.java +++ b/java/com.sap.sse.common/src/com/sap/sse/common/filter/AbstractListFilter.java @@ -28,7 +28,6 @@ public abstract class AbstractListFilter { */ public abstract Iterable getStrings(T t); - /** * Constructs a list based on the contents of {@link #all} and the current search phrase {@link #text}. */ From 93e6cdb5d48ccfb7df47a2fd7643af21c580227b Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 4 Nov 2015 10:57:00 +0100 Subject: [PATCH 10/10] added backward compatibility for "event" field in search results --- .../impl/LeaderboardSearchResultBaseJsonDeserializer.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/impl/LeaderboardSearchResultBaseJsonDeserializer.java b/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/impl/LeaderboardSearchResultBaseJsonDeserializer.java index bcadd30f714..441566dc6ec 100755 --- a/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/impl/LeaderboardSearchResultBaseJsonDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/impl/LeaderboardSearchResultBaseJsonDeserializer.java @@ -39,7 +39,13 @@ public class LeaderboardSearchResultBaseJsonDeserializer implements JsonDeserial events.add(event); } } else { - events = Collections.emptySet(); + // for backward compatibility try the FIELD_EVENT approach: + JSONObject deprecatedEventJson = (JSONObject) object.get("event"); + if (deprecatedEventJson == null) { + events = Collections.emptySet(); + } else { + events = Collections.singleton(eventDeserializer.deserialize(deprecatedEventJson)); + } } JSONObject leaderboardJson = Helpers.getNestedObjectSafe(object, LeaderboardSearchResultJsonSerializer.FIELD_LEADERBOARD); String leaderboardName = (String) leaderboardJson.get(LeaderboardSearchResultJsonSerializer.FIELD_LEADERBOARD_NAME);