From 41a4bd2db720b2c4cabc1357b2ef7dffc68223a1 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 1 May 2018 14:56:29 +0200 Subject: [PATCH] implemented time to burn to line; fixed set of disabled Expedition columns Change-Id: I87832ad3b7e274c5d11a9418175e9550340344f8 --- .../sap/sailing/domain/common/DetailType.java | 6 +- .../domain/tracking/BravoFixTrack.java | 2 +- .../tracking/impl/BravoFixTrackImpl.java | 72 +++++++++---------- .../impl/TrackedLegOfCompetitorImpl.java | 2 +- .../LeaderboardSettingsDialogComponent.java | 5 -- .../gwt/ui/raceboard/FullAnalysisMode.java | 1 - .../gwt/ui/raceboard/RaceBoardEntryPoint.java | 1 - .../gwt/ui/server/SailingServiceImpl.java | 2 +- 8 files changed, 42 insertions(+), 49 deletions(-) diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DetailType.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DetailType.java index 34cecc75fa0..d8af42c2aa7 100755 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DetailType.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/DetailType.java @@ -436,13 +436,13 @@ public enum DetailType implements Serializable { EXPEDITION_LEG_TIME_TO_COMMITTEE_BOAT, EXPEDITION_LEG_TIME_TO_PIN, EXPEDITION_LEG_TIME_TO_BURN_TO_LINE, EXPEDITION_LEG_TIME_TO_BURN_TO_PIN, EXPEDITION_LEG_DISTANCE_TO_COMMITTEE_BOAT, EXPEDITION_LEG_DISTANCE_TO_PIN, EXPEDITION_LEG_LINE_SQUARE_FOR_WIND_DIRECTION, EXPEDITION_RACE_TARG_TWA, - EXPEDITION_RACE_VMG, EXPEDITION_RACE_VMG_TARG_VMG_DELTA, EXPEDITION_RACE_RATE_OF_TURN, + EXPEDITION_RACE_VMG, EXPEDITION_RACE_VMG_TARG_VMG_DELTA, EXPEDITION_RACE_RUDDER_ANGLE, EXPEDITION_RACE_TIME_TO_PORT_LAYLINE, EXPEDITION_RACE_TIME_TO_STB_LAYLINE, EXPEDITION_RACE_DIST_TO_PORT_LAYLINE, EXPEDITION_RACE_DIST_TO_STB_LAYLINE, EXPEDITION_RACE_TIME_TO_COMMITTEE_BOAT, EXPEDITION_RACE_TIME_TO_PIN, - EXPEDITION_RACE_TIME_TO_BURN_TO_LINE, EXPEDITION_RACE_TIME_TO_BURN_TO_PIN, + EXPEDITION_RACE_TIME_TO_BURN_TO_PIN, EXPEDITION_RACE_TIME_TO_BURN_TO_COMMITTEE_BOAT, EXPEDITION_RACE_DISTANCE_TO_COMMITTEE_BOAT, EXPEDITION_RACE_DISTANCE_TO_PIN, - EXPEDITION_RACE_LINE_SQUARE_FOR_WIND_DIRECTION, EXPEDITION_LEG_DISTANCE_BELOW_LINE, + EXPEDITION_RACE_LINE_SQUARE_FOR_WIND_DIRECTION, EXPEDITION_RACE_DISTANCE_BELOW_LINE, EXPEDITION_RACE_TIME_TO_GUN, EXPEDITION_LEG_TIME_TO_GUN }); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/BravoFixTrack.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/BravoFixTrack.java index 69d93b86fdf..b046cbe90ca 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/BravoFixTrack.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/BravoFixTrack.java @@ -121,7 +121,7 @@ public interface BravoFixTrack extends S Double getExpeditionTimeToStbLaylineIfAvailable(TimePoint at); Double getExpeditionDistToPortLaylineIfAvailable(TimePoint at); Double getExpeditionDistToStbLaylineIfAvailable(TimePoint at); - Double getExpeditionTimeToGUNIfAvailable(TimePoint at); + Double getExpeditionTimeToGunIfAvailable(TimePoint at); Double getExpeditionTimeToCommitteeBoatIfAvailable(TimePoint at); Double getExpeditionTimeToPinIfAvailable(TimePoint at); Double getExpeditionTimeToBurnToLineIfAvailable(TimePoint at); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/BravoFixTrackImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/BravoFixTrackImpl.java index dc5968585c4..ed267402cd9 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/BravoFixTrackImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/BravoFixTrackImpl.java @@ -68,6 +68,8 @@ public class BravoFixTrackImpl extends S private transient TimeRangeCache> expeditionTimeToGunCache; private transient TimeRangeCache> expeditionRudderCache; private transient TimeRangeCache> expeditionRateOfTurnCache; + private transient TimeRangeCache> expeditionTimeToBurnToLineCache; + private transient TimeRangeCache> expeditionDistanceBelowLineCache; /** * If a GPS track was provided at construction time, remember it non-transiently. It is needed when restoring @@ -144,6 +146,8 @@ public class BravoFixTrackImpl extends S this.expeditionTimeToGunCache = createTimeRangeCache(trackedItem, "expeditionTimeToGunCache"); this.expeditionRudderCache = createTimeRangeCache(trackedItem, "expeditionRudderCache"); this.expeditionRateOfTurnCache = createTimeRangeCache(trackedItem, "expeditionRateOfTurnCache"); + this.expeditionTimeToBurnToLineCache = createTimeRangeCache(trackedItem, "expeditionTimeToBurnToLineCache"); + this.expeditionDistanceBelowLineCache = createTimeRangeCache(trackedItem, "expeditionDistanceBelowLineCache"); } public GPSFixTrack getGpsTrack() { @@ -582,13 +586,13 @@ public class BravoFixTrackImpl extends S @Override public Double getAverageExpeditionVMGIfAvailable(TimePoint start, TimePoint endTimePoint){ - //column currently unkown + // TODO column currently unkown return null; } @Override public Double getAverageExpeditionVMGTargVMGDeltaIfAvailable(TimePoint start, TimePoint endTimePoint){ - //column currently unkown + // TODO column currently unkown return null; } @@ -601,7 +605,6 @@ public class BravoFixTrackImpl extends S public Double getAverageExpeditionRudderAngleIfAvailable(TimePoint start, TimePoint endTimePoint) { return getAverageOfBravoExtenededFixValueWithCachingForDouble(start, endTimePoint, new Function() { - @Override public Double apply(BravoExtendedFix t) { final Bearing rudder = t.getRudder(); @@ -616,13 +619,13 @@ public class BravoFixTrackImpl extends S @Override public Double getAverageExpeditionTargetHeelIfAvailable(TimePoint start, TimePoint endTimePoint) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getAverageExpeditionTimeToPortLaylineIfAvailable(TimePoint start, TimePoint endTimePoint) { - // column currently unkown + // TODO column currently unkown return null; } @@ -640,7 +643,7 @@ public class BravoFixTrackImpl extends S @Override public Double getAverageExpeditionDistToStbLaylineIfAvailable(TimePoint start, TimePoint endTimePoint) { - // column currently unkown + // TODO column currently unkown return null; } @@ -652,50 +655,50 @@ public class BravoFixTrackImpl extends S @Override public Double getAverageExpeditionTimeToCommitteeBoatIfAvailable(TimePoint start, TimePoint endTimePoint) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getAverageExpeditionTimeToPinIfAvailable(TimePoint start, TimePoint endTimePoint) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getAverageExpeditionTimeToBurnToLineIfAvailable(TimePoint start, TimePoint endTimePoint) { - // column currently unkown - return null; + return getAverageOfBravoExtenededFixValueWithCachingForDouble(start, endTimePoint, + BravoExtendedFix::getExpeditionTmToBurn, expeditionTimeToBurnToLineCache); } @Override public Double getAverageExpeditionTimeToBurnToCommitteeBoatIfAvailable(TimePoint start, TimePoint endTimePoint) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getAverageExpeditionTimeToBurnToPinIfAvailable(TimePoint start, TimePoint endTimePoint) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getAverageExpeditionDistanceToCommitteeBoatIfAvailable(TimePoint start, TimePoint endTimePoint) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getAverageExpeditionDistanceToPinDetailIfAvailable(TimePoint start, TimePoint endTimePoint) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getAverageExpeditionDistanceBelowLineIfAvailable(TimePoint start, TimePoint endTimePoint) { - // column currently unkown - return null; + return getAverageOfBravoExtenededFixValueWithCachingForDouble(start, endTimePoint, + BravoExtendedFix::getExpeditionBelowLn, expeditionDistanceBelowLineCache); } @Override @@ -814,13 +817,13 @@ public class BravoFixTrackImpl extends S @Override public Double getExpeditionVMGIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getExpeditionVMGTargVMGDeltaIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @@ -831,90 +834,87 @@ public class BravoFixTrackImpl extends S @Override public Double getExpeditionTargetHeelIfAvailable(TimePoint at) { - // column currently unkown - return null; + return getExpeditionValueForDouble(at, bravoExtendedFix->bravoExtendedFix.getTargetHeel().getDegrees()); } @Override public Double getExpeditionTimeToPortLaylineIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getExpeditionTimeToStbLaylineIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getExpeditionDistToPortLaylineIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getExpeditionDistToStbLaylineIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @Override - public Double getExpeditionTimeToGUNIfAvailable(TimePoint at) { + public Double getExpeditionTimeToGunIfAvailable(TimePoint at) { return getExpeditionValueForDouble(at, BravoExtendedFix::getExpeditionTmToGun); } @Override public Double getExpeditionTimeToCommitteeBoatIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getExpeditionTimeToPinIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getExpeditionTimeToBurnToLineIfAvailable(TimePoint at) { - // column currently unkown - return null; + return getExpeditionValueForDouble(at, BravoExtendedFix::getExpeditionTmToBurn); } @Override public Double getExpeditionTimeToBurnToCommitteeBoatIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getExpeditionTimeToBurnToPinIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getExpeditionDistanceToCommitteeBoatIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getExpeditionDistanceToPinDetailIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } @Override public Double getExpeditionDistanceBelowLineIfAvailable(TimePoint at) { - // column currently unkown - return null; + return getExpeditionValueForDouble(at, BravoExtendedFix::getExpeditionBelowLn); } @Override public Double getExpeditionLineSquareForWindIfAvailable(TimePoint at) { - // column currently unkown + // TODO column currently unkown return null; } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegOfCompetitorImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegOfCompetitorImpl.java index b5794c98231..fb682bac6ed 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegOfCompetitorImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegOfCompetitorImpl.java @@ -868,7 +868,7 @@ public class TrackedLegOfCompetitorImpl implements TrackedLegOfCompetitor { @Override public Double getExpeditionTimeToGUN(TimePoint at) { - return getExpeditionValueFromBravoFixTrackIfLegIsStarted(at, BravoFixTrack::getExpeditionTimeToGUNIfAvailable); + return getExpeditionValueFromBravoFixTrackIfLegIsStarted(at, BravoFixTrack::getExpeditionTimeToGunIfAvailable); } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettingsDialogComponent.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettingsDialogComponent.java index 99cffd06227..cecfa375774 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettingsDialogComponent.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/settings/client/leaderboard/LeaderboardSettingsDialogComponent.java @@ -50,7 +50,6 @@ public abstract class LeaderboardSettingsDialogComponent(); legDetailCheckboxes = new LinkedHashMap(); raceDetailCheckboxes = new LinkedHashMap(); @@ -83,13 +82,10 @@ public abstract class LeaderboardSettingsDialogComponent() { - @Override public void onSettingsReloaded(SingleRaceLeaderboardSettings patchedSettings) { leaderboardPanel.updateSettings(patchedSettings); 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 5e0b992545f..d5ab94621a9 100644 --- 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 @@ -187,7 +187,6 @@ public class RaceBoardEntryPoint extends AbstractSailingEntryPoint { AsyncActionsExecutor asyncActionsExecutor = new AsyncActionsExecutor(); RaceTimesInfoProvider raceTimesInfoProvider = new RaceTimesInfoProvider(sailingService, asyncActionsExecutor, this, Collections.singletonList(selectedRace.getRaceIdentifier()), 5000l /* requestInterval*/); - RaceBoardPanel raceBoardPerspective = new RaceBoardPanel(parent, context, raceLifeCycle, settings, sailingService, mediaService, getUserService(), asyncActionsExecutor, raceboardData.getCompetitorAndTheirBoats(), timer, selectedRace.getRaceIdentifier(), 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 72d63b8e372..47613d71c9a 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 @@ -3273,7 +3273,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S break; } case EXPEDITION_RACE_TIME_TO_GUN: { - result = getBravoDoubleValue(BravoFixTrack::getExpeditionTimeToGUNIfAvailable, trackedRace, competitor, timePoint); + result = getBravoDoubleValue(BravoFixTrack::getExpeditionTimeToGunIfAvailable, trackedRace, competitor, timePoint); break; } case EXPEDITION_RACE_TIME_TO_PIN: {