diff --git a/src/main/java/seng302/App.java b/src/main/java/seng302/App.java index 726f66db..a9d4e967 100644 --- a/src/main/java/seng302/App.java +++ b/src/main/java/seng302/App.java @@ -4,8 +4,6 @@ import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; -import javafx.scene.control.Alert; -import javafx.scene.control.Alert.AlertType; import javafx.stage.Stage; import seng302.models.PolarTable; import seng302.models.stream.StreamParser; @@ -16,7 +14,7 @@ public class App extends Application { @Override public void start(Stage primaryStage) throws Exception { - PolarTable.parsePolarFile(getClass().getResource("/config/acc_polars.csv").getFile()); + PolarTable.parsePolarFile(getClass().getResourceAsStream("/config/acc_polars.csv")); Parent root = FXMLLoader.load(getClass().getResource("/views/MainView.fxml")); primaryStage.setTitle("RaceVision"); @@ -31,60 +29,55 @@ public class App extends Application { StreamReceiver.noMoreBytes(); System.exit(0); }); + + + } public static void main(String[] args) { + StreamReceiver sr = null; + + new ServerThread("Racevision Test Server"); + try { - - StreamReceiver sr = null; - - new ServerThread("Racevision Test Server"); - - try { Thread.sleep(2000); - } catch (InterruptedException e) { + } catch (InterruptedException e) { e.printStackTrace(); - } + } - if (args.length == 1 && args[0].equals("-standalone")) { + if (args.length == 1 && args[0].equals("-standalone")) { return; - } + } - if (args.length == 3 && args[0].equals("-server")) { + if (args.length == 3 && args[0].equals("-server")) { sr = new StreamReceiver(args[1], Integer.valueOf(args[2]), "RaceStream"); - } else if (args.length == 2 && args[0].equals("-server")) { + } else if (args.length == 2 && args[0].equals("-server")) { switch (args[1]) { - case "internal": - sr = new StreamReceiver("localhost", 4949, "RaceStream"); - break; - case "staffserver": - sr = new StreamReceiver("csse-s302staff.canterbury.ac.nz", 4941, "RaceStream"); - break; - case "official": - sr = new StreamReceiver("livedata.americascup.com", 4941, "RaceStream"); - break; + case "internal": + sr = new StreamReceiver("localhost", 4949, "RaceStream"); + break; + case "staffserver": + sr = new StreamReceiver("csse-s302staff.canterbury.ac.nz", 4941, "RaceStream"); + break; + case "official": + sr = new StreamReceiver("livedata.americascup.com", 4941, "RaceStream"); + break; } - } - //Change the StreamReceiver in this else block to change the default data source. - else { - sr = new StreamReceiver("livedata.americascup.com", 4940, "RaceStream"); - } - - sr.start(); - StreamParser streamParser = new StreamParser("StreamParser"); - streamParser.start(); } - catch (Exception e){ - Alert alert = new Alert(AlertType.INFORMATION); - alert.setTitle("Information Dialog"); - alert.setHeaderText("Fatal Error"); - alert.setContentText("There was an error connecting to the AC35 stream"); - - alert.showAndWait(); + //Change the StreamReceiver in this else block to change the default data source. + else{ +// sr = new StreamReceiver("localhost", 4949, "RaceStream"); +// sr = new StreamReceiver("csse-s302staff.canterbury.ac.nz", 4941, "RaceStream"); +// sr = new StreamReceiver("csse-s302staff.canterbury.ac.nz", 4942, "RaceStream"); + sr = new StreamReceiver("livedata.americascup.com", 4941, "RaceStream"); } + sr.start(); + StreamParser streamParser = new StreamParser("StreamParser"); + streamParser.start(); + launch(args); } diff --git a/src/main/java/seng302/models/PolarTable.java b/src/main/java/seng302/models/PolarTable.java index 168d2291..b40b54dd 100644 --- a/src/main/java/seng302/models/PolarTable.java +++ b/src/main/java/seng302/models/PolarTable.java @@ -24,9 +24,8 @@ public final class PolarTable { * Iterates through each row of the polar table, in pairs, to extract the row into a hashmap of angle to boat speed. * These angle boatspeed hashmaps are then added to an outer hashmap at the end of wind speed key to each row hashmap * as a value - * @param file containing the polar csv information */ - public static void parsePolarFile(String file) { + public static void parsePolarFile(InputStream polarFile) { polarTable = new HashMap<>(); upwindOptimal = new HashMap<>(); downwindOptimal = new HashMap<>(); @@ -34,7 +33,7 @@ public final class PolarTable { String line; Boolean isHeaderLine = true; - try (BufferedReader br = new BufferedReader(new FileReader(file))) { + try (BufferedReader br = new BufferedReader(new InputStreamReader(polarFile))) { while ((line = br.readLine()) != null) { String[] thisLine = line.split(","); @@ -69,6 +68,8 @@ public final class PolarTable { } catch (IOException e) { e.printStackTrace(); } + + }