From 0f79353936aee8ac7110ece2755746dc0af0131c Mon Sep 17 00:00:00 2001 From: Peter Galloway Date: Wed, 17 May 2017 20:15:47 +1200 Subject: [PATCH] fixes from merge #story[923] --- .../controllers/RaceViewController.java | 103 +++++++----------- .../controllers/StartScreenController.java | 2 +- .../seng302/models/stream/StreamParser.java | 7 +- 3 files changed, 44 insertions(+), 68 deletions(-) diff --git a/src/main/java/seng302/controllers/RaceViewController.java b/src/main/java/seng302/controllers/RaceViewController.java index 22c96f13..b00963be 100644 --- a/src/main/java/seng302/controllers/RaceViewController.java +++ b/src/main/java/seng302/controllers/RaceViewController.java @@ -26,7 +26,7 @@ import seng302.controllers.annotations.ImportantAnnotationController; import seng302.controllers.annotations.ImportantAnnotationDelegate; import seng302.controllers.annotations.ImportantAnnotationsState; import seng302.models.*; -import seng302.models.parsers.StreamParser; +import seng302.models.stream.StreamParser; import java.io.IOException; import java.util.*; @@ -58,7 +58,6 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel private ArrayList startingBoats = new ArrayList<>(); private boolean displayFps; private Timeline timerTimeline; - private Race race; private Stage stage; private ImportantAnnotationsState importantAnnotations; @@ -68,13 +67,6 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel // Load a default important annotation state importantAnnotations = new ImportantAnnotationsState(); - //Initialise race controller - RaceController raceController = new RaceController(); - raceController.initializeRace(); - race = raceController.getRace(); - - startingBoats = new ArrayList<>(Arrays.asList(race.getBoats())); - includedCanvasController.setup(this); includedCanvasController.initializeCanvas(); initializeUpdateTimer(); @@ -282,7 +274,6 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel */ private void loadRaceResultView() { FXMLLoader loader = new FXMLLoader(getClass().getResource("/views/FinishView.fxml")); - loader.setController(new RaceResultController(race)); try { contentAnchorPane.getChildren().removeAll(); @@ -335,11 +326,6 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel return displayFps; } - public Race getRace() { - return race; - } - - /** * Display the important annotations for a specific BoatGroup * @param bg The boat group to set the annotations for @@ -368,57 +354,48 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel } else { bg.setWakeVisible(false); } - - if (importantAnnotations.getAnnotationState(Annotation.ESTTIMETONEXTMARK)) { - bg.setEstTimeToNextMarkObjectVisible(true); - } else { - bg.setEstTimeToNextMarkObjectVisible(false); - } - - if (importantAnnotations.getAnnotationState(Annotation.LEGTIME)) { - bg.setLegTimeObjectVisible(true); - } else { - bg.setLegTimeObjectVisible(false); - } + //TODO fix boat annotations with new boatgroup +// if (importantAnnotations.getAnnotationState(Annotation.ESTTIMETONEXTMARK)) { +// bg.setEstTimeToNextMarkObjectVisible(true); +// } else { +// bg.setEstTimeToNextMarkObjectVisible(false); +// } +// +// if (importantAnnotations.getAnnotationState(Annotation.LEGTIME)) { +// bg.setLegTimeObjectVisible(true); +// } else { +// bg.setLegTimeObjectVisible(false); +// } } private void setAnnotations(Integer annotationLevel) { switch (annotationLevel) { // No Annotations case 0: - for (RaceObject ro : includedCanvasController.getRaceObjects()) { - if (ro instanceof BoatGroup) { - BoatGroup bg = (BoatGroup) ro; - bg.setTeamNameObjectVisible(false); - bg.setVelocityObjectVisible(false); - bg.setEstTimeToNextMarkObjectVisible(false); - bg.setLegTimeObjectVisible(false); - bg.setLineGroupVisible(false); - bg.setWakeVisible(false); - } + for (BoatGroup bg : includedCanvasController.getBoatGroups()) { + bg.setTeamNameObjectVisible(false); + bg.setVelocityObjectVisible(false); +// bg.setEstTimeToNextMarkObjectVisible(false); +// bg.setLegTimeObjectVisible(false); + bg.setLineGroupVisible(false); + bg.setWakeVisible(false); } break; // Important Annotations case 1: - for (RaceObject ro : includedCanvasController.getRaceObjects()) { - if (ro instanceof BoatGroup) { - BoatGroup bg = (BoatGroup) ro; - setBoatGroupImportantAnnotations(bg); - } + for (BoatGroup bg : includedCanvasController.getBoatGroups()) { + setBoatGroupImportantAnnotations(bg); } break; // All Annotations case 2: - for (RaceObject ro : includedCanvasController.getRaceObjects()) { - if (ro instanceof BoatGroup) { - BoatGroup bg = (BoatGroup) ro; - bg.setTeamNameObjectVisible(true); - bg.setVelocityObjectVisible(true); - bg.setEstTimeToNextMarkObjectVisible(true); - bg.setLegTimeObjectVisible(true); - bg.setLineGroupVisible(true); - bg.setWakeVisible(true); - } + for (BoatGroup bg : includedCanvasController.getBoatGroups()) { + bg.setTeamNameObjectVisible(true); + bg.setVelocityObjectVisible(true); +// bg.setEstTimeToNextMarkObjectVisible(true); +// bg.setLegTimeObjectVisible(true); + bg.setLineGroupVisible(true); + bg.setWakeVisible(true); } break; } @@ -431,18 +408,16 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel * @param yacht The yacht for which we want to view all annotations */ private void setSelectedBoat(Yacht yacht) { - for (RaceObject ro : includedCanvasController.getRaceObjects()) { - if (ro instanceof BoatGroup) { - BoatGroup bg = (BoatGroup) ro; - //We need to iterate over all race groups to get the matching boat group belonging to this boat if we - //are to toggle its annotations, there is no other backwards knowledge of a yacht to its boatgroup. - if (bg.getBoat().getHullID().equals(yacht.getHullID())) { - bg.setIsSelected(true); - selectedBoat = yacht; - } else { - bg.setIsSelected(false); - } - } + for (BoatGroup bg : includedCanvasController.getBoatGroups()) { + //We need to iterate over all race groups to get the matching boat group belonging to this boat if we + //are to toggle its annotations, there is no other backwards knowledge of a yacht to its boatgroup. + //TODO fix boat selection with new boatgroup +// if (bg.getBoat().getHullID().equals(yacht.getHullID())) { +// bg.setIsSelected(true); +// selectedBoat = yacht; +// } else { +// bg.setIsSelected(false); +// } } } diff --git a/src/main/java/seng302/controllers/StartScreenController.java b/src/main/java/seng302/controllers/StartScreenController.java index 8a4d563b..94851d05 100644 --- a/src/main/java/seng302/controllers/StartScreenController.java +++ b/src/main/java/seng302/controllers/StartScreenController.java @@ -22,7 +22,7 @@ import javafx.scene.layout.GridPane; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import seng302.models.Yacht; -import seng302.models.parsers.StreamParser; +import seng302.models.stream.StreamParser; public class StartScreenController implements Initializable { @FXML diff --git a/src/main/java/seng302/models/stream/StreamParser.java b/src/main/java/seng302/models/stream/StreamParser.java index b6f0f0be..f7093306 100644 --- a/src/main/java/seng302/models/stream/StreamParser.java +++ b/src/main/java/seng302/models/stream/StreamParser.java @@ -1,12 +1,12 @@ -package seng302.models.parsers; +package seng302.models.stream; import org.w3c.dom.Document; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import seng302.models.Yacht; -import seng302.models.parsers.packets.BoatPositionPacket; -import seng302.models.parsers.packets.StreamPacket; +import seng302.models.stream.packets.BoatPositionPacket; +import seng302.models.stream.packets.StreamPacket; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -19,6 +19,7 @@ import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentSkipListMap; import java.util.concurrent.PriorityBlockingQueue; +import seng302.models.stream.XMLParser; /** * The purpose of this class is to take in the stream of divided packets so they can be read