From 9bc3fddebc69b705132ad259bd41c53471dd2d81 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 20 May 2015 18:03:58 +0200 Subject: [PATCH] avoid reducing windward distance traveled in case a competitor is at the mark rounding and has a negative windward distance traveled for the current leg --- .../sap/sailing/domain/ranking/AbstractRankingMetric.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/ranking/AbstractRankingMetric.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/ranking/AbstractRankingMetric.java index 87a4f32b4f7..82cb069e3ec 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/ranking/AbstractRankingMetric.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/ranking/AbstractRankingMetric.java @@ -533,7 +533,11 @@ public abstract class AbstractRankingMetric implements RankingMetric { if (legWindwardDistance.compareTo(windwardDistanceFromLegStart) < 0) { d = d.add(legWindwardDistance); } else { - d = d.add(windwardDistanceFromLegStart); + // if the competitor is currently at the mark rounding, the windward distance within the leg may + // be negative; don't reduce the distance in this case + if (windwardDistanceFromLegStart.getMeters() > 0) { + d = d.add(windwardDistanceFromLegStart); + } } break; } else {