From c0cbb177852ec9b05630ae8e28fd452dfa471a13 Mon Sep 17 00:00:00 2001 From: Lukas Niemeier Date: Mon, 11 Nov 2013 00:58:31 +0100 Subject: [PATCH] # renamed StartProcedureType to RacingProcedureType # tested new Comparator including author --- ...dureType.java => RacingProcedureType.java} | 4 +- .../impl/DomainObjectFactoryImpl.java | 4 +- .../test/RaceLogEventComparatorTest.java | 78 +++++++++++++++---- .../domain/racelog/test/RaceLogTest.java | 72 ++++++++++++----- .../domain/racelog/RaceLogEventFactory.java | 6 +- .../racelog/RaceLogEventRestoreFactory.java | 4 +- .../RaceLogStartProcedureChangedEvent.java | 4 +- .../impl/RRS26StartModeFlagFinder.java | 10 +-- ....java => RacingProcedureTypeAnalyzer.java} | 8 +- .../racelog/impl/RaceLogEventComparator.java | 21 +++-- .../racelog/impl/RaceLogEventFactoryImpl.java | 6 +- .../impl/RaceLogEventRestoreFactoryImpl.java | 4 +- ...RaceLogStartProcedureChangedEventImpl.java | 8 +- .../gwt/ui/server/SailingServiceImpl.java | 8 +- .../sailing/gwt/ui/shared/RaceInfoDTO.java | 4 +- ...ingAndRetrievingRaceLogInLeaderboards.java | 4 +- ...tStoringAndRetrievingRaceLogInRegatta.java | 4 +- .../racelog/RaceLogEventSerializerTest.java | 4 +- ...tartProcedureChangedEventDeserializer.java | 4 +- .../racecommittee/app/AppPreferences.java | 6 +- .../app/data/OfflineDataManager.java | 8 +- .../data/parsers/ManagedRacesDataParser.java | 4 +- .../app/domain/impl/ManagedRaceImpl.java | 4 +- .../impl/StartProcedureFactory.java | 4 +- .../app/domain/state/RaceState.java | 6 +- .../app/domain/state/impl/RaceStateImpl.java | 20 ++--- .../app/ui/activities/SettingsActivity.java | 4 +- .../raceinfo/SetStartTimeRaceFragment.java | 16 ++-- .../lint.xml | 4 +- 29 files changed, 202 insertions(+), 131 deletions(-) rename java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/racelog/{StartProcedureType.java => RacingProcedureType.java} (78%) rename java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/analyzing/impl/{StartProcedureTypeAnalyzer.java => RacingProcedureTypeAnalyzer.java} (70%) diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/racelog/StartProcedureType.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/racelog/RacingProcedureType.java similarity index 78% rename from java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/racelog/StartProcedureType.java rename to java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/racelog/RacingProcedureType.java index 0bd82f959ba..6b4b7c7e13e 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/racelog/StartProcedureType.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/racelog/RacingProcedureType.java @@ -1,13 +1,13 @@ package com.sap.sailing.domain.common.racelog; -public enum StartProcedureType { +public enum RacingProcedureType { RRS26("Fix Line Start (RRS26)"), GateStart("Gate Start"), ESS("\"Extreme Sailing Series\"-Start"); private String displayName; - private StartProcedureType(String displayName) { + private RacingProcedureType(String displayName) { this.displayName = displayName; } 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 260762ceb70..d760599ae93 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -73,7 +73,7 @@ import com.sap.sailing.domain.common.impl.WindSourceImpl; import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.leaderboard.DelayedLeaderboardCorrections; import com.sap.sailing.domain.leaderboard.DelayedLeaderboardCorrections.LeaderboardCorrectionsResolvedListener; import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; @@ -1097,7 +1097,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { private RaceLogEvent loadRaceLogStartProcedureChangedEvent(TimePoint createdAt, RaceLogEventAuthor author, TimePoint timePoint, Serializable id, Integer passId, List competitors, DBObject dbObject) { - StartProcedureType type = StartProcedureType.valueOf(dbObject.get(FieldNames.RACE_LOG_START_PROCEDURE_TYPE.name()).toString()); + RacingProcedureType type = RacingProcedureType.valueOf(dbObject.get(FieldNames.RACE_LOG_START_PROCEDURE_TYPE.name()).toString()); return raceLogEventFactory.createStartProcedureChangedEvent(createdAt, author, timePoint, id, competitors, passId, type); } diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogEventComparatorTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogEventComparatorTest.java index d947d06a9b4..e3186a2c666 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogEventComparatorTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/test/RaceLogEventComparatorTest.java @@ -10,12 +10,14 @@ import org.junit.Test; import com.sap.sailing.domain.common.impl.MillisecondsTimePoint; import com.sap.sailing.domain.racelog.RaceLogEvent; +import com.sap.sailing.domain.racelog.RaceLogEventAuthor; import com.sap.sailing.domain.racelog.impl.RaceLogEventComparator; public class RaceLogEventComparatorTest { private RaceLogEvent eventOne; private RaceLogEvent eventTwo; + private RaceLogEventAuthor author; private RaceLogEventComparator comparator; @@ -23,13 +25,15 @@ public class RaceLogEventComparatorTest { public void setUp() { eventOne = mock(RaceLogEvent.class); eventTwo = mock(RaceLogEvent.class); + author = mock(RaceLogEventAuthor.class); comparator = RaceLogEventComparator.INSTANCE; } @Test public void testEqualsOnSame() { - when(eventOne.getTimePoint()).thenReturn(new MillisecondsTimePoint(1)); + when(eventOne.getAuthor()).thenReturn(mock(RaceLogEventAuthor.class)); + when(eventOne.getCreatedAt()).thenReturn(new MillisecondsTimePoint(1)); when(eventOne.getId()).thenReturn("a"); int result = comparator.compare(eventOne, eventOne); @@ -37,12 +41,14 @@ public class RaceLogEventComparatorTest { } @Test - public void testSamePassAndSameTimeSameId() { + public void testSamePassAndSameAuthorAndSameTimeAndSameId() { when(eventOne.getPassId()).thenReturn(0); - when(eventOne.getTimePoint()).thenReturn(new MillisecondsTimePoint(0)); + when(eventOne.getAuthor()).thenReturn(author); + when(eventOne.getCreatedAt()).thenReturn(new MillisecondsTimePoint(0)); when(eventOne.getId()).thenReturn("a"); when(eventTwo.getPassId()).thenReturn(0); - when(eventTwo.getTimePoint()).thenReturn(new MillisecondsTimePoint(0)); + when(eventTwo.getAuthor()).thenReturn(author); + when(eventTwo.getCreatedAt()).thenReturn(new MillisecondsTimePoint(0)); when(eventTwo.getId()).thenReturn("a"); int result = comparator.compare(eventOne, eventTwo); @@ -50,12 +56,14 @@ public class RaceLogEventComparatorTest { } @Test - public void testSamePassAndSameTimeDifferentId() { + public void testSamePassAndSameAuthorAndSameTimeButDifferentId() { when(eventOne.getPassId()).thenReturn(0); - when(eventOne.getTimePoint()).thenReturn(new MillisecondsTimePoint(0)); + when(eventOne.getAuthor()).thenReturn(author); + when(eventOne.getCreatedAt()).thenReturn(new MillisecondsTimePoint(0)); when(eventOne.getId()).thenReturn("a"); when(eventTwo.getPassId()).thenReturn(0); - when(eventTwo.getTimePoint()).thenReturn(new MillisecondsTimePoint(0)); + when(eventTwo.getAuthor()).thenReturn(author); + when(eventTwo.getCreatedAt()).thenReturn(new MillisecondsTimePoint(0)); when(eventTwo.getId()).thenReturn("b"); int result = comparator.compare(eventOne, eventTwo); @@ -63,22 +71,58 @@ public class RaceLogEventComparatorTest { } @Test - public void testSamePassLowerHigherTime() { + public void testSamePassAndSameAuthorButLowerHigherTime() { when(eventOne.getPassId()).thenReturn(0); - when(eventOne.getTimePoint()).thenReturn(new MillisecondsTimePoint(1)); + when(eventOne.getAuthor()).thenReturn(author); + when(eventOne.getCreatedAt()).thenReturn(new MillisecondsTimePoint(1)); when(eventTwo.getPassId()).thenReturn(0); - when(eventTwo.getTimePoint()).thenReturn(new MillisecondsTimePoint(2)); + when(eventTwo.getAuthor()).thenReturn(author); + when(eventTwo.getCreatedAt()).thenReturn(new MillisecondsTimePoint(2)); int result = comparator.compare(eventOne, eventTwo); assertTrue(result < 0); } @Test - public void testSamePassHigherLowerTime() { + public void testSamePassAndSameAuthorButHigherLowerTime() { when(eventOne.getPassId()).thenReturn(0); - when(eventOne.getTimePoint()).thenReturn(new MillisecondsTimePoint(2)); + when(eventOne.getAuthor()).thenReturn(author); + when(eventOne.getCreatedAt()).thenReturn(new MillisecondsTimePoint(2)); when(eventTwo.getPassId()).thenReturn(0); - when(eventTwo.getTimePoint()).thenReturn(new MillisecondsTimePoint(1)); + when(eventTwo.getAuthor()).thenReturn(author); + when(eventTwo.getCreatedAt()).thenReturn(new MillisecondsTimePoint(1)); + + int result = comparator.compare(eventOne, eventTwo); + assertTrue(result > 0); + } + + @Test + public void testSamePassButLowerHigherAuthor() { + RaceLogEventAuthor minorAuthor = mock(RaceLogEventAuthor.class); + when(minorAuthor.getPriority()).thenReturn(2); + RaceLogEventAuthor majorAuthor = mock(RaceLogEventAuthor.class); + when(majorAuthor.getPriority()).thenReturn(1); + + when(eventOne.getPassId()).thenReturn(0); + when(eventOne.getAuthor()).thenReturn(minorAuthor); + when(eventTwo.getPassId()).thenReturn(0); + when(eventTwo.getAuthor()).thenReturn(majorAuthor); + + int result = comparator.compare(eventOne, eventTwo); + assertTrue(result < 0); + } + + @Test + public void testSamePassButHigherLowerAuthor() { + RaceLogEventAuthor minorAuthor = mock(RaceLogEventAuthor.class); + when(minorAuthor.getPriority()).thenReturn(2); + RaceLogEventAuthor majorAuthor = mock(RaceLogEventAuthor.class); + when(majorAuthor.getPriority()).thenReturn(1); + + when(eventOne.getPassId()).thenReturn(0); + when(eventOne.getAuthor()).thenReturn(majorAuthor); + when(eventTwo.getPassId()).thenReturn(0); + when(eventTwo.getAuthor()).thenReturn(minorAuthor); int result = comparator.compare(eventOne, eventTwo); assertTrue(result > 0); @@ -87,9 +131,9 @@ public class RaceLogEventComparatorTest { @Test public void testPassLowerHigher() { when(eventOne.getPassId()).thenReturn(0); - when(eventOne.getTimePoint()).thenReturn(new MillisecondsTimePoint(2)); + when(eventOne.getCreatedAt()).thenReturn(new MillisecondsTimePoint(2)); when(eventTwo.getPassId()).thenReturn(1); - when(eventTwo.getTimePoint()).thenReturn(new MillisecondsTimePoint(1)); + when(eventTwo.getCreatedAt()).thenReturn(new MillisecondsTimePoint(1)); int result = comparator.compare(eventOne, eventTwo); assertTrue(result < 0); @@ -98,9 +142,9 @@ public class RaceLogEventComparatorTest { @Test public void testPassHigherLower() { when(eventOne.getPassId()).thenReturn(1); - when(eventOne.getTimePoint()).thenReturn(new MillisecondsTimePoint(1)); + when(eventOne.getCreatedAt()).thenReturn(new MillisecondsTimePoint(1)); when(eventTwo.getPassId()).thenReturn(0); - when(eventTwo.getTimePoint()).thenReturn(new MillisecondsTimePoint(2)); + when(eventTwo.getCreatedAt()).thenReturn(new MillisecondsTimePoint(2)); int result = comparator.compare(eventOne, eventTwo); assertTrue(result > 0); 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 ce1773c8a6f..cdf2790c846 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 @@ -18,6 +18,7 @@ import com.sap.sailing.domain.common.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.racelog.RaceLog; import com.sap.sailing.domain.racelog.RaceLogEvent; +import com.sap.sailing.domain.racelog.RaceLogEventAuthor; import com.sap.sailing.domain.racelog.RaceLogEventVisitor; import com.sap.sailing.domain.racelog.RaceLogFlagEvent; import com.sap.sailing.domain.racelog.impl.RaceLogImpl; @@ -59,15 +60,17 @@ public class RaceLogTest { } @Test - public void testAddEventDifferentPassSameTimePoint() { + public void testAddEventDifferentPassButSameTimePoint() { RaceLogEvent eventOne = mock(RaceLogEvent.class); RaceLogEvent eventTwo = mock(RaceLogEvent.class); when(eventOne.getPassId()).thenReturn(0); - when(eventOne.getTimePoint()).thenReturn(new MillisecondsTimePoint(0)); + when(eventOne.getAuthor()).thenReturn(mock(RaceLogEventAuthor.class)); + when(eventOne.getCreatedAt()).thenReturn(new MillisecondsTimePoint(0)); when(eventOne.getId()).thenReturn("a"); when(eventTwo.getPassId()).thenReturn(1); - when(eventTwo.getTimePoint()).thenReturn(new MillisecondsTimePoint(0)); + when(eventTwo.getAuthor()).thenReturn(mock(RaceLogEventAuthor.class)); + when(eventTwo.getCreatedAt()).thenReturn(new MillisecondsTimePoint(0)); when(eventTwo.getId()).thenReturn("b"); assertTrue(raceLog.add(eventOne)); @@ -80,15 +83,18 @@ public class RaceLogTest { } @Test - public void testAddEventSamePassSameTimePointDifferentId() { + public void testAddEventSamePassAndSameAuthorAndSameTimePointButDifferentId() { RaceLogEvent eventOne = mock(RaceLogEvent.class); RaceLogEvent eventTwo = mock(RaceLogEvent.class); + RaceLogEventAuthor author = mock(RaceLogEventAuthor.class); when(eventOne.getPassId()).thenReturn(0); - when(eventOne.getTimePoint()).thenReturn(new MillisecondsTimePoint(0)); + when(eventOne.getAuthor()).thenReturn(author); + when(eventOne.getCreatedAt()).thenReturn(new MillisecondsTimePoint(0)); when(eventOne.getId()).thenReturn("a"); when(eventTwo.getPassId()).thenReturn(0); - when(eventTwo.getTimePoint()).thenReturn(new MillisecondsTimePoint(0)); + when(eventTwo.getAuthor()).thenReturn(author); + when(eventTwo.getCreatedAt()).thenReturn(new MillisecondsTimePoint(0)); when(eventTwo.getId()).thenReturn("b"); assertTrue(raceLog.add(eventOne)); @@ -101,15 +107,18 @@ public class RaceLogTest { } @Test - public void testWontAddEventSamePassSameTimePointSameId() { + public void testWontAddEventSamePassAndSameAuthorAndSameTimePointAndSameId() { RaceLogEvent eventOne = mock(RaceLogEvent.class); RaceLogEvent eventTwo = mock(RaceLogEvent.class); + RaceLogEventAuthor author = mock(RaceLogEventAuthor.class); when(eventOne.getPassId()).thenReturn(0); - when(eventOne.getTimePoint()).thenReturn(new MillisecondsTimePoint(0)); + when(eventOne.getAuthor()).thenReturn(author); + when(eventOne.getCreatedAt()).thenReturn(new MillisecondsTimePoint(0)); when(eventOne.getId()).thenReturn("a"); when(eventTwo.getPassId()).thenReturn(0); - when(eventTwo.getTimePoint()).thenReturn(new MillisecondsTimePoint(0)); + when(eventTwo.getAuthor()).thenReturn(author); + when(eventTwo.getCreatedAt()).thenReturn(new MillisecondsTimePoint(0)); when(eventTwo.getId()).thenReturn("a"); assertTrue(raceLog.add(eventOne)); @@ -151,19 +160,26 @@ public class RaceLogTest { RaceLogEvent event1 = mock(RaceLogEvent.class); RaceLogEvent event2 = mock(RaceLogEvent.class); RaceLogEvent event3 = mock(RaceLogEvent.class); + RaceLogEventAuthor minorAuthor = mock(RaceLogEventAuthor.class); + when(minorAuthor.getPriority()).thenReturn(3); + RaceLogEventAuthor majorAuthor = mock(RaceLogEventAuthor.class); + when(majorAuthor.getPriority()).thenReturn(1); - when(event1.getTimePoint()).thenReturn(new MillisecondsTimePoint(1)); - when(event2.getTimePoint()).thenReturn(new MillisecondsTimePoint(2)); - when(event3.getTimePoint()).thenReturn(new MillisecondsTimePoint(3)); + when(event1.getAuthor()).thenReturn(majorAuthor); + when(event1.getCreatedAt()).thenReturn(new MillisecondsTimePoint(1)); + when(event2.getAuthor()).thenReturn(minorAuthor); + when(event2.getCreatedAt()).thenReturn(new MillisecondsTimePoint(2)); + when(event3.getAuthor()).thenReturn(minorAuthor); + when(event3.getCreatedAt()).thenReturn(new MillisecondsTimePoint(3)); raceLog.add(event1); raceLog.add(event2); raceLog.add(event3); raceLog.lockForRead(); - assertEquals(event3, Util.get(raceLog.getRawFixesDescending(), 0)); - assertEquals(event2, Util.get(raceLog.getRawFixesDescending(), 1)); - assertEquals(event1, Util.get(raceLog.getRawFixesDescending(), 2)); + assertEquals(event1, Util.get(raceLog.getRawFixesDescending(), 0)); + assertEquals(event3, Util.get(raceLog.getRawFixesDescending(), 1)); + assertEquals(event2, Util.get(raceLog.getRawFixesDescending(), 2)); raceLog.unlockAfterRead(); } @@ -172,21 +188,35 @@ public class RaceLogTest { RaceLogEvent event1 = mock(RaceLogEvent.class); RaceLogEvent event2 = mock(RaceLogEvent.class); RaceLogEvent event3 = mock(RaceLogEvent.class); + RaceLogEvent event4 = mock(RaceLogEvent.class); + RaceLogEventAuthor minorAuthor = mock(RaceLogEventAuthor.class); + when(minorAuthor.getPriority()).thenReturn(3); + RaceLogEventAuthor majorAuthor = mock(RaceLogEventAuthor.class); + when(majorAuthor.getPriority()).thenReturn(1); when(event1.getPassId()).thenReturn(1); - when(event1.getTimePoint()).thenReturn(new MillisecondsTimePoint(1)); + when(event1.getAuthor()).thenReturn(majorAuthor); + when(event1.getCreatedAt()).thenReturn(new MillisecondsTimePoint(1)); when(event2.getPassId()).thenReturn(1); - when(event2.getTimePoint()).thenReturn(new MillisecondsTimePoint(2)); - when(event3.getPassId()).thenReturn(0); - when(event3.getTimePoint()).thenReturn(new MillisecondsTimePoint(3)); + when(event2.getAuthor()).thenReturn(minorAuthor); + when(event2.getCreatedAt()).thenReturn(new MillisecondsTimePoint(2)); + when(event3.getPassId()).thenReturn(1); + when(event3.getAuthor()).thenReturn(minorAuthor); + when(event3.getCreatedAt()).thenReturn(new MillisecondsTimePoint(3)); + when(event4.getPassId()).thenReturn(0); + when(event4.getAuthor()).thenReturn(majorAuthor); + when(event4.getCreatedAt()).thenReturn(new MillisecondsTimePoint(4)); raceLog.add(event1); raceLog.add(event2); raceLog.add(event3); + raceLog.add(event4); raceLog.lockForRead(); - assertEquals(event2, Util.get(raceLog.getFixesDescending(), 0)); - assertEquals(event1, Util.get(raceLog.getFixesDescending(), 1)); + assertEquals(3, Util.size(raceLog.getFixesDescending())); + assertEquals(event1, Util.get(raceLog.getFixesDescending(), 0)); + assertEquals(event3, Util.get(raceLog.getFixesDescending(), 1)); + assertEquals(event2, Util.get(raceLog.getFixesDescending(), 2)); raceLog.unlockAfterRead(); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogEventFactory.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogEventFactory.java index a3de5bce368..48f83f727b1 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogEventFactory.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogEventFactory.java @@ -10,7 +10,7 @@ import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.impl.RaceLogEventFactoryImpl; import com.sap.sailing.domain.tracking.Wind; @@ -75,10 +75,10 @@ public interface RaceLogEventFactory { int passId, Long gateLineOpeningTimeInMillis); RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint timePoint, RaceLogEventAuthor author, - Serializable id, List competitors, int passId, StartProcedureType type); + Serializable id, List competitors, int passId, RacingProcedureType type); RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint timePoint, RaceLogEventAuthor author, - int passId, StartProcedureType type); + int passId, RacingProcedureType type); RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint timePoint, RaceLogEventAuthor author, Serializable id, List competitors, int passId, TimePoint protestStartTime); diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogEventRestoreFactory.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogEventRestoreFactory.java index b8fe469e3ff..a891c7d4d66 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogEventRestoreFactory.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogEventRestoreFactory.java @@ -10,7 +10,7 @@ import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.impl.RaceLogEventRestoreFactoryImpl; import com.sap.sailing.domain.tracking.Wind; @@ -50,7 +50,7 @@ public interface RaceLogEventRestoreFactory extends RaceLogEventFactory { TimePoint logicalTimePoint, Serializable id, List competitors, int passId, Long gateLineOpeningTime); RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint createdAt, RaceLogEventAuthor author, - TimePoint timePoint, Serializable id, List competitors, int passId, StartProcedureType type); + TimePoint timePoint, Serializable id, List competitors, int passId, RacingProcedureType type); RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint createdAt, RaceLogEventAuthor author, TimePoint timePoint, Serializable id, List competitors, int passId, TimePoint protestStartTime); diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogStartProcedureChangedEvent.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogStartProcedureChangedEvent.java index 01cc4f46a61..85ee71f1297 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogStartProcedureChangedEvent.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/RaceLogStartProcedureChangedEvent.java @@ -1,9 +1,9 @@ package com.sap.sailing.domain.racelog; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; public interface RaceLogStartProcedureChangedEvent extends RaceLogEvent { - StartProcedureType getStartProcedureType(); + RacingProcedureType getStartProcedureType(); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/analyzing/impl/RRS26StartModeFlagFinder.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/analyzing/impl/RRS26StartModeFlagFinder.java index 2837c899871..c554fd45e58 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/analyzing/impl/RRS26StartModeFlagFinder.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/analyzing/impl/RRS26StartModeFlagFinder.java @@ -4,7 +4,7 @@ import java.util.List; import java.util.Arrays; import com.sap.sailing.domain.common.racelog.Flags; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.RaceLog; import com.sap.sailing.domain.racelog.RaceLogEvent; import com.sap.sailing.domain.racelog.RaceLogFlagEvent; @@ -12,7 +12,7 @@ import com.sap.sailing.domain.racelog.RaceLogFlagEvent; public class RRS26StartModeFlagFinder extends RaceLogAnalyzer { private final List startModeFlags = Arrays.asList(Flags.PAPA, Flags.ZULU, Flags.BLACK, Flags.INDIA); - private StartProcedureTypeAnalyzer procedureAnalyzer; + private RacingProcedureTypeAnalyzer procedureAnalyzer; /** * Searches for the start mode flag of a RRS26 race. @@ -21,7 +21,7 @@ public class RRS26StartModeFlagFinder extends RaceLogAnalyzer { * to be used to ensure a RRS26 race. Must operate on the same race log. Otherwise a * {@link IllegalArgumentException} is thrown. */ - public RRS26StartModeFlagFinder(StartProcedureTypeAnalyzer procedureAnalyzer, RaceLog raceLog) { + public RRS26StartModeFlagFinder(RacingProcedureTypeAnalyzer procedureAnalyzer, RaceLog raceLog) { super(raceLog); if (raceLog != procedureAnalyzer.getRaceLog()) { throw new IllegalArgumentException("Both analyzers must operate on the same race log."); @@ -31,8 +31,8 @@ public class RRS26StartModeFlagFinder extends RaceLogAnalyzer { @Override protected Flags performAnalysis() { - StartProcedureType type = procedureAnalyzer.analyze(); - if (StartProcedureType.RRS26.equals(type)) { + RacingProcedureType type = procedureAnalyzer.analyze(); + if (RacingProcedureType.RRS26.equals(type)) { for (RaceLogEvent event : getPassEventsDescending()) { if (event instanceof RaceLogFlagEvent) { RaceLogFlagEvent flagEvent = (RaceLogFlagEvent) event; diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/analyzing/impl/StartProcedureTypeAnalyzer.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/analyzing/impl/RacingProcedureTypeAnalyzer.java similarity index 70% rename from java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/analyzing/impl/StartProcedureTypeAnalyzer.java rename to java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/analyzing/impl/RacingProcedureTypeAnalyzer.java index 8d6bfc7db5a..ba23a9ab451 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/analyzing/impl/StartProcedureTypeAnalyzer.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/analyzing/impl/RacingProcedureTypeAnalyzer.java @@ -1,18 +1,18 @@ package com.sap.sailing.domain.racelog.analyzing.impl; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.RaceLog; import com.sap.sailing.domain.racelog.RaceLogEvent; import com.sap.sailing.domain.racelog.RaceLogStartProcedureChangedEvent; -public class StartProcedureTypeAnalyzer extends RaceLogAnalyzer { +public class RacingProcedureTypeAnalyzer extends RaceLogAnalyzer { - public StartProcedureTypeAnalyzer(RaceLog raceLog) { + public RacingProcedureTypeAnalyzer(RaceLog raceLog) { super(raceLog); } @Override - protected StartProcedureType performAnalysis() { + protected RacingProcedureType performAnalysis() { for (RaceLogEvent event : getAllEventsDescending()) { if (event instanceof RaceLogStartProcedureChangedEvent) { RaceLogStartProcedureChangedEvent startProcedureEvent = (RaceLogStartProcedureChangedEvent) event; diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventComparator.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventComparator.java index f7e1bb326b2..db7b74affe9 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventComparator.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventComparator.java @@ -5,38 +5,35 @@ import java.util.Comparator; import com.sap.sailing.domain.base.Timed; import com.sap.sailing.domain.racelog.RaceLogEvent; -import com.sap.sailing.domain.tracking.impl.TimedComparator; public enum RaceLogEventComparator implements Comparator, Serializable { INSTANCE; - private Comparator timedComparator; - - private RaceLogEventComparator() { - this.timedComparator = TimedComparator.INSTANCE; - } - @Override public int compare(Timed o1, Timed o2) { if (o1 instanceof RaceLogEvent && o2 instanceof RaceLogEvent) { return compareEvents((RaceLogEvent)o1, (RaceLogEvent)o2); } - // fallback to timed comparison - return timedComparator.compare(o1, o2); + throw new UnsupportedOperationException("Must provide objects of type " + RaceLogEvent.class.getName()); } private int compareEvents(RaceLogEvent e1, RaceLogEvent e2) { int result = comparePasses(e1, e2); - return result == 0 ? compareTimes(e1, e2) : result; + return result == 0 ? comparePriorities(e1, e2) : result; } private int comparePasses(RaceLogEvent e1, RaceLogEvent e2) { return e1.getPassId() - e2.getPassId(); } + + private int comparePriorities(RaceLogEvent e1, RaceLogEvent e2) { + int result = new Integer(e2.getAuthor().getPriority()).compareTo(e1.getAuthor().getPriority()); + return result == 0 ? compareCreatedAtTimes(e1, e2) : result; + } - private int compareTimes(RaceLogEvent e1, RaceLogEvent e2) { - int result = timedComparator.compare(e1, e2); + private int compareCreatedAtTimes(RaceLogEvent e1, RaceLogEvent e2) { + int result = e1.getCreatedAt().compareTo(e2.getCreatedAt()); return result == 0 ? compareIds(e1, e2) : result; } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventFactoryImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventFactoryImpl.java index c4fb3dc3b64..06456768f9f 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventFactoryImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventFactoryImpl.java @@ -13,7 +13,7 @@ import com.sap.sailing.domain.common.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.RaceLogCourseAreaChangedEvent; import com.sap.sailing.domain.racelog.RaceLogCourseDesignChangedEvent; import com.sap.sailing.domain.racelog.RaceLogEventAuthor; @@ -165,14 +165,14 @@ public class RaceLogEventFactoryImpl implements RaceLogEventFactory { @Override public RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint timePoint, RaceLogEventAuthor author, - Serializable id, List competitors, int passId, StartProcedureType type) { + Serializable id, List competitors, int passId, RacingProcedureType type) { return new RaceLogStartProcedureChangedEventImpl(MillisecondsTimePoint.now(), author, timePoint, id, competitors, passId, type); } @Override public RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint timePoint, RaceLogEventAuthor author, - int passId, StartProcedureType type) { + int passId, RacingProcedureType type) { return createStartProcedureChangedEvent(timePoint, author, UUID.randomUUID(), new ArrayList(), passId, type); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventRestoreFactoryImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventRestoreFactoryImpl.java index c6a36a51ab8..d51cd01cdc0 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventRestoreFactoryImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogEventRestoreFactoryImpl.java @@ -10,7 +10,7 @@ import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.RaceLogCourseAreaChangedEvent; import com.sap.sailing.domain.racelog.RaceLogCourseDesignChangedEvent; import com.sap.sailing.domain.racelog.RaceLogEventAuthor; @@ -92,7 +92,7 @@ public class RaceLogEventRestoreFactoryImpl extends RaceLogEventFactoryImpl impl @Override public RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint createdAt, RaceLogEventAuthor author, - TimePoint timePoint, Serializable id, List competitors, int passId, StartProcedureType type) { + TimePoint timePoint, Serializable id, List competitors, int passId, RacingProcedureType type) { return new RaceLogStartProcedureChangedEventImpl(createdAt, author, timePoint, id, competitors, passId, type); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogStartProcedureChangedEventImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogStartProcedureChangedEventImpl.java index 0fdd53102a8..0f85f2b7572 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogStartProcedureChangedEventImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/RaceLogStartProcedureChangedEventImpl.java @@ -5,7 +5,7 @@ import java.util.List; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.TimePoint; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.RaceLogEventAuthor; import com.sap.sailing.domain.racelog.RaceLogEventVisitor; import com.sap.sailing.domain.racelog.RaceLogStartProcedureChangedEvent; @@ -15,17 +15,17 @@ public class RaceLogStartProcedureChangedEventImpl extends RaceLogEventImpl impl private static final long serialVersionUID = -8102049547516570034L; - private final StartProcedureType startProcedureType; + private final RacingProcedureType startProcedureType; public RaceLogStartProcedureChangedEventImpl(TimePoint createdAt, RaceLogEventAuthor author, - TimePoint pTimePoint, Serializable pId, List pInvolvedBoats, int pPassId, StartProcedureType startProcedureType) { + TimePoint pTimePoint, Serializable pId, List pInvolvedBoats, int pPassId, RacingProcedureType startProcedureType) { super(createdAt, author, pTimePoint, pId, pInvolvedBoats, pPassId); this.startProcedureType = startProcedureType; } @Override - public StartProcedureType getStartProcedureType() { + public RacingProcedureType getStartProcedureType() { return startProcedureType; } 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 26830218e25..56a8e99a4e4 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 @@ -132,7 +132,7 @@ import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.common.impl.WindSourceImpl; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; @@ -159,7 +159,7 @@ import com.sap.sailing.domain.racelog.analyzing.impl.PathfinderFinder; import com.sap.sailing.domain.racelog.analyzing.impl.ProtestStartTimeFinder; import com.sap.sailing.domain.racelog.analyzing.impl.RRS26StartModeFlagFinder; import com.sap.sailing.domain.racelog.analyzing.impl.RaceStatusAnalyzer; -import com.sap.sailing.domain.racelog.analyzing.impl.StartProcedureTypeAnalyzer; +import com.sap.sailing.domain.racelog.analyzing.impl.RacingProcedureTypeAnalyzer; import com.sap.sailing.domain.racelog.analyzing.impl.StartTimeFinder; import com.sap.sailing.domain.swisstimingadapter.SwissTimingArchiveConfiguration; import com.sap.sailing.domain.swisstimingadapter.SwissTimingConfiguration; @@ -708,8 +708,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S } private void fillStartProcedureSpecifics(RaceInfoDTO raceInfoDTO, RaceLog raceLog) { - StartProcedureTypeAnalyzer procedureAnalyzer = new StartProcedureTypeAnalyzer(raceLog); - StartProcedureType type = procedureAnalyzer.analyze(); + RacingProcedureTypeAnalyzer procedureAnalyzer = new RacingProcedureTypeAnalyzer(raceLog); + RacingProcedureType type = procedureAnalyzer.analyze(); if (type != null) { raceInfoDTO.startProcedure = type; RaceInfoExtensionDTO info = null; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInfoDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInfoDTO.java index eebf534abec..485186a356e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInfoDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInfoDTO.java @@ -6,7 +6,7 @@ import com.google.gwt.user.client.rpc.IsSerializable; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; public class RaceInfoDTO implements IsSerializable { public interface RaceInfoExtensionDTO extends IsSerializable { @@ -55,7 +55,7 @@ public class RaceInfoDTO implements IsSerializable { public RaceCourseDTO lastCourseDesign; public String lastCourseName; public WindDTO lastWind; - public StartProcedureType startProcedure; + public RacingProcedureType startProcedure; public RaceInfoExtensionDTO startProcedureDTO; // for GWT serialization 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 c6c270bb391..8579e87964f 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,7 @@ import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; @@ -124,7 +124,7 @@ public class TestStoringAndRetrievingRaceLogInLeaderboards extends RaceLogMongoD @Test public void testStoreAndRetrieveSimpleLeaderboardWithRaceLogStartProcedureChangedEvent() { - RaceLogStartProcedureChangedEvent expectedEvent = RaceLogEventFactory.INSTANCE.createStartProcedureChangedEvent(now, author, 0, StartProcedureType.ESS); + RaceLogStartProcedureChangedEvent expectedEvent = RaceLogEventFactory.INSTANCE.createStartProcedureChangedEvent(now, author, 0, RacingProcedureType.ESS); addAndStoreRaceLogEvent(leaderboard, raceColumnName, expectedEvent); 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 e09c807675d..bf6a73a0823 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 @@ -36,7 +36,7 @@ import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.leaderboard.ScoringScheme; import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoFactory; @@ -157,7 +157,7 @@ public class TestStoringAndRetrievingRaceLogInRegatta extends RaceLogMongoDBTest @Test public void testStoreAndRetrieveRegattaWithRaceLogStartProcedureChangedEvent() { - RaceLogStartProcedureChangedEvent expectedEvent = RaceLogEventFactory.INSTANCE.createStartProcedureChangedEvent(now, author, 0, StartProcedureType.ESS); + RaceLogStartProcedureChangedEvent expectedEvent = RaceLogEventFactory.INSTANCE.createStartProcedureChangedEvent(now, author, 0, RacingProcedureType.ESS); addAndStoreRaceLogEvent(regatta, raceColumnName, expectedEvent); 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 24efbbd2ee2..2d6f9b550f0 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 @@ -7,7 +7,7 @@ import org.junit.Before; import org.junit.Test; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.RaceLogEvent; import com.sap.sailing.domain.racelog.RaceLogEventAuthor; import com.sap.sailing.domain.racelog.RaceLogEventFactory; @@ -145,7 +145,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, StartProcedureType.ESS); + RaceLogEvent event = factory.createStartProcedureChangedEvent(null, author, 0, RacingProcedureType.ESS); serializer.serialize(event); verify(startProcedureTypeChangedEventSerializer).serialize(event); } diff --git a/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java b/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java index 6172a0daeb1..50e8f72f564 100644 --- a/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java +++ b/java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/racelog/impl/RaceLogStartProcedureChangedEventDeserializer.java @@ -7,7 +7,7 @@ import org.json.simple.JSONObject; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.TimePoint; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.RaceLogEvent; import com.sap.sailing.domain.racelog.RaceLogEventAuthor; import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException; @@ -23,7 +23,7 @@ public class RaceLogStartProcedureChangedEventDeserializer extends BaseRaceLogEv @Override protected RaceLogEvent deserialize(JSONObject object, Serializable id, TimePoint createdAt, RaceLogEventAuthor author, TimePoint timePoint, int passId, List competitors) throws JsonDeserializationException { - StartProcedureType type = StartProcedureType.valueOf(object.get(RaceLogStartProcedureChangedEventSerializer.FIELD_START_PROCEDURE_TYPE).toString()); + RacingProcedureType type = RacingProcedureType.valueOf(object.get(RaceLogStartProcedureChangedEventSerializer.FIELD_START_PROCEDURE_TYPE).toString()); return factory.createStartProcedureChangedEvent(createdAt, author, timePoint, id, competitors, passId, type); } diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/AppPreferences.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/AppPreferences.java index 37b1bf0e192..d65761e1d5c 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/AppPreferences.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/AppPreferences.java @@ -9,7 +9,7 @@ import android.preference.PreferenceManager; import android.provider.Settings.Secure; import android.util.Log; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.RaceLogEventAuthor; import com.sap.sailing.domain.racelog.impl.RaceLogEventAuthorImpl; import com.sap.sailing.racecommittee.app.domain.coursedesign.BoatClassType; @@ -222,10 +222,10 @@ public class AppPreferences { sp.edit().putString(PREFERENCE_MIN_ROUNDS, String.valueOf(minRounds)).commit(); } - public static StartProcedureType getDefaultStartProcedureType(Context context) { + public static RacingProcedureType getDefaultStartProcedureType(Context context) { SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); String defaultStartProcedureType = sp.getString(PREFERENCE_DEFAULT_START_PROCEDURE_TYPE, "RRS26"); - StartProcedureType type = StartProcedureType.valueOf(defaultStartProcedureType); + RacingProcedureType type = RacingProcedureType.valueOf(defaultStartProcedureType); return type; } 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 0e48de3d988..7fc4be5fd9d 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 @@ -31,7 +31,7 @@ import com.sap.sailing.domain.base.racegroup.impl.RaceGroupImpl; import com.sap.sailing.domain.base.racegroup.impl.SeriesWithRowsImpl; import com.sap.sailing.domain.common.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.RaceLog; import com.sap.sailing.domain.racelog.RaceLogEventAuthor; import com.sap.sailing.domain.racelog.RaceLogEventFactory; @@ -91,7 +91,7 @@ public class OfflineDataManager extends DataManager { 1, RaceLogRaceStatus.FINISHING)); ManagedRace q1 = new ManagedRaceImpl(context, new ManagedRaceIdentifierImpl("A.B", new FleetImpl("A"), qualifying, - raceGroup), StartProcedureType.ESS, log); + raceGroup), RacingProcedureType.ESS, log); log = new RaceLogImpl(UUID.randomUUID()); /* @@ -100,7 +100,7 @@ public class OfflineDataManager extends DataManager { */ ManagedRace q2 = new ManagedRaceImpl(context, new ManagedRaceIdentifierImpl("B", new FleetImpl("A.A"), qualifying, - raceGroup), StartProcedureType.ESS, log); + raceGroup), RacingProcedureType.ESS, log); log = new RaceLogImpl(UUID.randomUUID()); /* @@ -108,7 +108,7 @@ public class OfflineDataManager extends DataManager { * RaceLogRaceStatus.FINISHED)); */ ManagedRace q3 = new ManagedRaceImpl(context, new ManagedRaceIdentifierImpl("Q3", new FleetImpl("Default"), qualifying, - raceGroup), StartProcedureType.ESS, log); + raceGroup), RacingProcedureType.ESS, log); /* * ManagedRace m1 = new ManagedRaceImpl( new ManagedRaceIdentifierImpl( "M1", new FleetImpl("Default"), medal, * raceGroup), null); diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/parsers/ManagedRacesDataParser.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/parsers/ManagedRacesDataParser.java index ae1a0079d85..8ddfbe07b06 100755 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/parsers/ManagedRacesDataParser.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/parsers/ManagedRacesDataParser.java @@ -16,7 +16,7 @@ import com.sap.sailing.domain.base.racegroup.RaceCell; import com.sap.sailing.domain.base.racegroup.RaceGroup; import com.sap.sailing.domain.base.racegroup.RaceRow; import com.sap.sailing.domain.base.racegroup.SeriesWithRows; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.domain.racelog.RaceLog; import com.sap.sailing.racecommittee.app.AppPreferences; import com.sap.sailing.racecommittee.app.domain.ManagedRace; @@ -66,7 +66,7 @@ public class ManagedRacesDataParser implements DataParser entries = new ArrayList(); List entryValues = new ArrayList(); - for (StartProcedureType type : StartProcedureType.values()) { + for (RacingProcedureType type : RacingProcedureType.values()) { entries.add(type.toString()); entryValues.add(type.name()); } diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/SetStartTimeRaceFragment.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/SetStartTimeRaceFragment.java index cb3b7ee5bf0..bb4d9ff188c 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/SetStartTimeRaceFragment.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/SetStartTimeRaceFragment.java @@ -23,7 +23,7 @@ import android.widget.TimePicker; import com.sap.sailing.domain.common.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.racelog.Flags; -import com.sap.sailing.domain.common.racelog.StartProcedureType; +import com.sap.sailing.domain.common.racelog.RacingProcedureType; import com.sap.sailing.racecommittee.app.AppConstants; import com.sap.sailing.racecommittee.app.R; import com.sap.sailing.racecommittee.app.domain.ManagedRace; @@ -43,7 +43,7 @@ public class SetStartTimeRaceFragment extends RaceFragment implements UserRequir } protected boolean isReset; - private StartProcedureType selectedStartProcedureType; + private RacingProcedureType selectedStartProcedureType; protected Spinner spinnerStartProcedure; protected TimePicker pickerTime; @@ -142,13 +142,13 @@ public class SetStartTimeRaceFragment extends RaceFragment implements UserRequir } private void setupStartProcedureSpinner() { - ArrayAdapter adapter = new ArrayAdapter(getActivity(), - android.R.layout.simple_spinner_dropdown_item, StartProcedureType.values()); + ArrayAdapter adapter = new ArrayAdapter(getActivity(), + android.R.layout.simple_spinner_dropdown_item, RacingProcedureType.values()); spinnerStartProcedure.setAdapter(adapter); spinnerStartProcedure.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView adapterView, View view, int position, long id) { - selectedStartProcedureType = (StartProcedureType) adapterView.getItemAtPosition(position); + selectedStartProcedureType = (RacingProcedureType) adapterView.getItemAtPosition(position); } @Override @@ -157,12 +157,12 @@ public class SetStartTimeRaceFragment extends RaceFragment implements UserRequir }); //TODO read the preferences from AppPreferences - StartProcedureType type = StartProcedureType.ESS; + RacingProcedureType type = RacingProcedureType.ESS; boolean overrideStartProcedureType = PreferenceManager.getDefaultSharedPreferences(getActivity()).getBoolean( "overrideDefaultStartProcedureType", false); if (overrideStartProcedureType) { - type = StartProcedureType.valueOf(PreferenceManager.getDefaultSharedPreferences(getActivity()).getString( - "defaultStartProcedureType", StartProcedureType.ESS.name())); + type = RacingProcedureType.valueOf(PreferenceManager.getDefaultSharedPreferences(getActivity()).getString( + "defaultStartProcedureType", RacingProcedureType.ESS.name())); } else { type = getRace().getState().getStartProcedureType(); } diff --git a/mobile/com.sap.sailing.racecommittee.glue/lint.xml b/mobile/com.sap.sailing.racecommittee.glue/lint.xml index 694ca087b0a..ee0eead5bb7 100644 --- a/mobile/com.sap.sailing.racecommittee.glue/lint.xml +++ b/mobile/com.sap.sailing.racecommittee.glue/lint.xml @@ -1,3 +1,3 @@ - - + + \ No newline at end of file