From aaa6d8c3b2cd51329fa6f99ef243bd2cc37edc66 Mon Sep 17 00:00:00 2001 From: Lukas Niemeier Date: Thu, 25 Apr 2013 01:05:15 +0200 Subject: [PATCH 01/27] # abort in previous pass --- .../racecommittee/app/domain/state/impl/RaceStateImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/state/impl/RaceStateImpl.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/state/impl/RaceStateImpl.java index d02730dc4d2..6a0e372029c 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/state/impl/RaceStateImpl.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/state/impl/RaceStateImpl.java @@ -164,6 +164,9 @@ public class RaceStateImpl implements RaceState, RaceLogChangedListener { @Override public void onRaceAborted(TimePoint eventTime) { + RaceLogEvent abortEvent = RaceLogEventFactory.INSTANCE.createRaceStatusEvent(eventTime, raceLog.getCurrentPassId(), RaceLogRaceStatus.UNSCHEDULED); + this.raceLog.add(abortEvent); + RaceLogEvent passChangeEvent = RaceLogEventFactory.INSTANCE.createPassChangeEvent(eventTime, raceLog.getCurrentPassId() + 1); this.raceLog.add(passChangeEvent); From 85be56a72d95eee41f990a981d3485d693461dcc Mon Sep 17 00:00:00 2001 From: Lukas Niemeier Date: Thu, 25 Apr 2013 13:21:01 +0200 Subject: [PATCH 02/27] # clarified copying constructor of PassAwareRaceLogImpl --- .../domain/racelog/impl/PassAwareRaceLogImpl.java | 14 +++++++------- .../sailing/domain/test/PassawareRaceLogTest.java | 2 +- .../sailing/gwt/ui/server/SailingServiceImpl.java | 3 ++- .../app/data/parsers/ManagedRacesDataParser.java | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/PassAwareRaceLogImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/PassAwareRaceLogImpl.java index b693d842d0b..ee5b3d757d5 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/PassAwareRaceLogImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/racelog/impl/PassAwareRaceLogImpl.java @@ -13,22 +13,22 @@ public class PassAwareRaceLogImpl extends RaceLogImpl implements PassAwareRaceLo private static final String ReadWriteLockName = PassAwareRaceLogImpl.class.getName() + ".lock"; public static final int DefaultPassId = 0; - - private int currentPassId; - - public PassAwareRaceLogImpl(RaceLog raceLog) { - this(); + + public static PassAwareRaceLog copy(RaceLog raceLog) { + PassAwareRaceLog newRaceLog = new PassAwareRaceLogImpl(); raceLog.lockForRead(); try { for (RaceLogEvent event : raceLog.getRawFixes()) { - this.add(event); + newRaceLog.add(event); } } finally { raceLog.unlockAfterRead(); } - + return newRaceLog; } + private int currentPassId; + public PassAwareRaceLogImpl() { this(DefaultPassId); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/PassawareRaceLogTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/PassawareRaceLogTest.java index ff250aecb88..b0f51c1356c 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/PassawareRaceLogTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/PassawareRaceLogTest.java @@ -29,7 +29,7 @@ public class PassawareRaceLogTest { RaceLogFlagEvent rcEvent1 = RaceLogEventFactory.INSTANCE.createFlagEvent(t1, UUID.randomUUID(), new ArrayList(), passId, Flags.CLASS, Flags.NONE, false); RaceLogFlagEvent rcEvent2 = RaceLogEventFactory.INSTANCE.createFlagEvent(t1, UUID.randomUUID(), new ArrayList(), ++passId, Flags.CLASS, Flags.NONE, false); - RaceLog passAwareRaceLog = new PassAwareRaceLogImpl(raceLog); + RaceLog passAwareRaceLog = PassAwareRaceLogImpl.copy(raceLog); passAwareRaceLog.add(rcEvent1); passAwareRaceLog.add(rcEvent2); 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 7b5eeeddf81..c7557b89059 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 @@ -124,6 +124,7 @@ import com.sap.sailing.domain.persistence.MongoRaceLogStoreFactory; import com.sap.sailing.domain.persistence.MongoWindStoreFactory; import com.sap.sailing.domain.polarsheets.BoatAndWindSpeed; import com.sap.sailing.domain.polarsheets.PolarSheetGenerationWorker; +import com.sap.sailing.domain.racelog.PassAwareRaceLog; import com.sap.sailing.domain.racelog.RaceLog; import com.sap.sailing.domain.racelog.RaceLogFlagEvent; import com.sap.sailing.domain.racelog.analyzing.impl.GateLineOpeningTimeFinder; @@ -1109,7 +1110,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S RaceLog raceLog = raceColumn.getRaceLog(fleet); if (raceLog != null) { - PassAwareRaceLogImpl passAwareRaceLog = new PassAwareRaceLogImpl(raceLog); + PassAwareRaceLog passAwareRaceLog = PassAwareRaceLogImpl.copy(raceLog); StartTimeFinder startTimeFinder = new StartTimeFinder(passAwareRaceLog); if(startTimeFinder.getStartTime()!=null){ raceInfoDTO.startTime = startTimeFinder.getStartTime().asDate(); 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 59d51b9412d..03287295282 100644 --- 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 @@ -54,7 +54,7 @@ public class ManagedRacesDataParser implements DataParser Date: Thu, 25 Apr 2013 19:38:26 +0200 Subject: [PATCH 03/27] # reworked the set time view to enable the usage of different start procedures --- .../res/drawable/ic_menu_block.png | Bin 0 -> 1972 bytes .../res/drawable/ic_menu_recent_history.png | Bin 0 -> 2171 bytes .../res/layout/race_reset_time.xml | 218 +++++++++--------- .../res/values/strings.xml | 4 +- .../app/ui/fragments/RaceFragment.java | 25 +- .../app/ui/fragments/RaceInfoFragment.java | 2 +- .../raceinfo/FinishingRaceFragment.java | 2 +- .../GateStartRunningRaceFragment.java | 6 +- .../raceinfo/RunningRaceFragment.java | 2 +- .../raceinfo/SetStartTimeRaceFragment.java | 115 +++------ .../startphase/EssStartPhaseFragment.java | 2 +- .../startphase/GateStartPhaseFragment.java | 6 +- .../startphase/StartphaseRaceFragment.java | 2 +- 13 files changed, 167 insertions(+), 217 deletions(-) create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_menu_block.png create mode 100644 mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_menu_recent_history.png diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_menu_block.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_menu_block.png new file mode 100644 index 0000000000000000000000000000000000000000..826c0941d363bb415abb45cd0fa8bd0ce5159c24 GIT binary patch literal 1972 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 literal 0 HcmV?d00001 diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_reset_time.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_reset_time.xml index 0bac901213b..627582833d4 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_reset_time.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_reset_time.xml @@ -2,129 +2,119 @@ - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_height="wrap_content" + android:gravity="center_horizontal" + android:orientation="vertical" + android:layout_marginBottom="18dp"> + + + + + + + - - - -