From 66d4a4b958a27d1c607f2a18677d519dfffa2a03 Mon Sep 17 00:00:00 2001 From: Zhi You Tan Date: Thu, 25 May 2017 12:28:13 +1200 Subject: [PATCH] Fix finish screen showing wrong ("-" as) position --- .../controllers/FinishScreenViewController.java | 17 ++++++++++++++++- .../seng302/models/stream/StreamParser.java | 4 ---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/seng302/controllers/FinishScreenViewController.java b/src/main/java/seng302/controllers/FinishScreenViewController.java index 5737fa83..ae440968 100644 --- a/src/main/java/seng302/controllers/FinishScreenViewController.java +++ b/src/main/java/seng302/controllers/FinishScreenViewController.java @@ -2,6 +2,7 @@ package seng302.controllers; import java.io.IOException; import java.net.URL; +import java.util.ArrayList; import java.util.ResourceBundle; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -16,6 +17,7 @@ import javafx.scene.layout.GridPane; import javafx.scene.layout.Pane; import seng302.models.Yacht; import seng302.models.stream.StreamParser; +import seng302.models.stream.XMLParser.RaceXMLObject.Participant; public class FinishScreenViewController implements Initializable { @@ -56,8 +58,21 @@ public class FinishScreenViewController implements Initializable { new PropertyValueFactory<>("country") ); + // check if the boat is racing + ArrayList participants = StreamParser.getXmlObject().getRaceXML() + .getParticipants(); + ArrayList participantIDs = new ArrayList<>(); + for (Participant p : participants) { + participantIDs.add(p.getsourceID()); + } + // add data to table - data.addAll(StreamParser.getBoatsPos().values()); + for (Yacht boat : StreamParser.getBoatsPos().values()) { + if (participantIDs.contains(boat.getSourceID())) { + data.add(boat); + System.out.println(boat.getBoatName() + ": " + boat.getPosition()); + } + } finishOrderTable.refresh(); } diff --git a/src/main/java/seng302/models/stream/StreamParser.java b/src/main/java/seng302/models/stream/StreamParser.java index f800379c..0aefef9e 100644 --- a/src/main/java/seng302/models/stream/StreamParser.java +++ b/src/main/java/seng302/models/stream/StreamParser.java @@ -252,10 +252,6 @@ public class StreamParser extends Thread{ yacht.setPosition(String.valueOf(pos)); pos++; } - } else { - for (Yacht yacht : boatsPos.values()) { - yacht.setPosition("-"); - } } }