From 8b1561cdc7ce0410e7abbed83fef59b22dafb6a7 Mon Sep 17 00:00:00 2001 From: Jessica Syder Date: Sun, 13 Aug 2017 16:08:14 +1200 Subject: [PATCH] Fixed nullpointer when boat passes finish line. - Added a condition in calculateBearingToNextMethod to avoid nullpointer --- racevisionGame/src/main/java/mock/model/MockBoat.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/racevisionGame/src/main/java/mock/model/MockBoat.java b/racevisionGame/src/main/java/mock/model/MockBoat.java index 1cc2e95b..cbe6b39b 100644 --- a/racevisionGame/src/main/java/mock/model/MockBoat.java +++ b/racevisionGame/src/main/java/mock/model/MockBoat.java @@ -75,7 +75,15 @@ public class MockBoat extends Boat { //Get the start and end points. GPSCoordinate currentPosition = this.getCurrentPosition(); - GPSCoordinate nextMarkerPosition = this.getCurrentLeg().getEndCompoundMark().getAverageGPSCoordinate(); + GPSCoordinate nextMarkerPosition; + + // if boat is at the finish + if (this.getCurrentLeg().getEndCompoundMark() == null) { + nextMarkerPosition = currentPosition; + } + else { + nextMarkerPosition = this.getCurrentLeg().getEndCompoundMark().getAverageGPSCoordinate(); + } //Calculate bearing. Bearing bearing = GPSCoordinate.calculateBearing(currentPosition, nextMarkerPosition);