implemented time to burn to line; fixed set of disabled Expedition columns

Change-Id: I87832ad3b7e274c5d11a9418175e9550340344f8
This commit is contained in:
Axel Uhl committed 2018-05-01 14:56:29 +02:00
1 parent 3348682468
commit 41a4bd2db7
8 files changed
+42 -49

No files matched your search

@@ -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 });
}
@@ -121,7 +121,7 @@ public interface BravoFixTrack<ItemType extends WithID & Serializable> 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);
@@ -68,6 +68,8 @@ public class BravoFixTrackImpl<ItemType extends WithID & Serializable> extends S
private transient TimeRangeCache<Pair<Double, Long>> expeditionTimeToGunCache;
private transient TimeRangeCache<Pair<Double, Long>> expeditionRudderCache;
private transient TimeRangeCache<Pair<Double, Long>> expeditionRateOfTurnCache;
private transient TimeRangeCache<Pair<Double, Long>> expeditionTimeToBurnToLineCache;
private transient TimeRangeCache<Pair<Double, Long>> 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<ItemType extends WithID & Serializable> 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<ItemType, GPSFixMoving> getGpsTrack() {
@@ -582,13 +586,13 @@ public class BravoFixTrackImpl<ItemType extends WithID & Serializable> 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<ItemType extends WithID & Serializable> extends S
public Double getAverageExpeditionRudderAngleIfAvailable(TimePoint start, TimePoint endTimePoint) {
return getAverageOfBravoExtenededFixValueWithCachingForDouble(start, endTimePoint,
new Function<BravoExtendedFix, Double>() {
@Override
public Double apply(BravoExtendedFix t) {
final Bearing rudder = t.getRudder();
@@ -616,13 +619,13 @@ public class BravoFixTrackImpl<ItemType extends WithID & Serializable> 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<ItemType extends WithID & Serializable> 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<ItemType extends WithID & Serializable> 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<ItemType extends WithID & Serializable> 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<ItemType extends WithID & Serializable> 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;
}
@@ -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
@@ -50,7 +50,6 @@ public abstract class LeaderboardSettingsDialogComponent<T extends LeaderboardSe
this.initialSettings = initialSettings;
this.stringMessages = stringMessages;
this.canBoatInfoBeShown = canBoatInfoBeShown;
maneuverDetailCheckboxes = new LinkedHashMap<DetailType, CheckBox>();
legDetailCheckboxes = new LinkedHashMap<DetailType, CheckBox>();
raceDetailCheckboxes = new LinkedHashMap<DetailType, CheckBox>();
@@ -83,13 +82,10 @@ public abstract class LeaderboardSettingsDialogComponent<T extends LeaderboardSe
(initialSettings.getDelayBetweenAutoAdvancesInMilliseconds()==null ?
LeaderboardEntryPoint.DEFAULT_REFRESH_INTERVAL_MILLIS : initialSettings.getDelayBetweenAutoAdvancesInMilliseconds()) / 1000l, 4);
refreshIntervalInSecondsBox.ensureDebugId("RefreshIntervalLongBox");
timingPanel.add(dialog.createHeadline(stringMessages.timing(), true));
timingPanel.addStyleName("SettingsDialogComponent");
FlowPanel timingContent = new FlowPanel();
timingPanel.add(timingContent);
timingContent.addStyleName("dialogInnerContent");
Label refreshIntervalLabel = new Label(stringMessages.refreshInterval() + ":");
refreshIntervalLabel.getElement().getStyle().setPaddingRight(5, Unit.PX);
@@ -97,7 +93,6 @@ public abstract class LeaderboardSettingsDialogComponent<T extends LeaderboardSe
refreshIntervalLabel.getElement().getStyle().setFloat(Float.LEFT);
timingContent.add(refreshIntervalLabel);
timingContent.add(refreshIntervalInSecondsBox);
return timingPanel;
}
@@ -55,7 +55,6 @@ public class FullAnalysisMode extends AbstractRaceBoardMode {
raceDetailsToShow.add(DetailType.RACE_GAP_TO_LEADER_IN_SECONDS);
final SingleRaceLeaderboardSettings additiveSettings = LeaderboardSettingsFactory.getInstance().createNewSettingsWithCustomRaceDetails(raceDetailsToShow);
((RaceBoardComponentContext) leaderboardPanel.getComponentContext()).addModesPatching(leaderboardPanel, additiveSettings, new OnSettingsReloadedCallback<SingleRaceLeaderboardSettings>() {
@Override
public void onSettingsReloaded(SingleRaceLeaderboardSettings patchedSettings) {
leaderboardPanel.updateSettings(patchedSettings);
@@ -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(),
@@ -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: {