diff --git a/src/main/java/seng302/App.java b/src/main/java/seng302/App.java index 0637d2cc..ff943a15 100644 --- a/src/main/java/seng302/App.java +++ b/src/main/java/seng302/App.java @@ -5,16 +5,26 @@ import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; +import seng302.models.parsers.StreamParser; +import seng302.models.parsers.StreamReceiver; public class App extends Application { @Override public void start(Stage primaryStage) throws Exception { + Parent root = FXMLLoader.load(getClass().getResource("/views/MainView.fxml")); primaryStage.setTitle("RaceVision"); primaryStage.setScene(new Scene(root)); primaryStage.show(); + StreamReceiver sr = new StreamReceiver("csse-s302staff.canterbury.ac.nz", 4941,"TestThread1"); +// StreamReceiver sr = new StreamReceiver("livedata.americascup.com", 4941, "TestThread1"); + sr.start(); + StreamParser streamParser = new StreamParser("TestThread2"); + + streamParser.start(); + } public static void main(String[] args) { diff --git a/src/main/java/seng302/controllers/CanvasController.java b/src/main/java/seng302/controllers/CanvasController.java index eb028a3f..6b3fdb2e 100644 --- a/src/main/java/seng302/controllers/CanvasController.java +++ b/src/main/java/seng302/controllers/CanvasController.java @@ -135,9 +135,7 @@ public class CanvasController { // e.printStackTrace(); //} - StreamReceiver sr = new StreamReceiver("csse-s302staff.canterbury.ac.nz", 4941,"TestThread1"); -// StreamReceiver sr = new StreamReceiver("livedata.americascup.com", 4941, "TestThread1"); - sr.start(); + timer = new AnimationTimer() { private int countdown = 60; diff --git a/src/main/java/seng302/models/parsers/StreamPacket.java b/src/main/java/seng302/models/parsers/StreamPacket.java index 6ded78d1..ad945b83 100644 --- a/src/main/java/seng302/models/parsers/StreamPacket.java +++ b/src/main/java/seng302/models/parsers/StreamPacket.java @@ -19,11 +19,11 @@ public class StreamPacket { this.payload = payload; //System.out.println("type = " + this.type.toString()); //switch the packet type to deal with what ever specific packet you want to deal with - if (this.type == PacketType.XML_MESSAGE){ - //System.out.println("--------"); - System.out.println(new String(payload)); - StreamParser.parsePacket(this); - } +// if (this.type == PacketType.XML_MESSAGE){ +// //System.out.println("--------"); +// System.out.println(new String(payload)); +// StreamParser.parsePacket(this); +// } } PacketType getType() { diff --git a/src/main/java/seng302/models/parsers/StreamParser.java b/src/main/java/seng302/models/parsers/StreamParser.java index f4902423..8fb71e85 100644 --- a/src/main/java/seng302/models/parsers/StreamParser.java +++ b/src/main/java/seng302/models/parsers/StreamParser.java @@ -29,21 +29,25 @@ public class StreamParser extends Thread{ private String threadName; private Thread t; - StreamParser(String threadName){ + public StreamParser(String threadName){ this.threadName = threadName; } public void run(){ try { - while (StreamReceiver.packetBuffer.size() <= 1) { + System.out.println("START OF STREAM"); + while (StreamReceiver.packetBuffer == null || StreamReceiver.packetBuffer.size() < 1) { Thread.sleep(1); } - StreamPacket packet = StreamReceiver.packetBuffer.take(); - while (packet != null){ + while (StreamReceiver.packetBuffer.peek() != null){ + StreamPacket packet = StreamReceiver.packetBuffer.take(); parsePacket(packet); Thread.sleep(10); - packet = StreamReceiver.packetBuffer.take(); + while (StreamReceiver.packetBuffer.peek() == null) { + Thread.sleep(1); + } } + System.out.println("END OF STREAM"); } catch (Exception e){ e.printStackTrace(); } diff --git a/src/main/java/seng302/models/parsers/StreamReceiver.java b/src/main/java/seng302/models/parsers/StreamReceiver.java index e357101d..20f4756c 100644 --- a/src/main/java/seng302/models/parsers/StreamReceiver.java +++ b/src/main/java/seng302/models/parsers/StreamReceiver.java @@ -39,9 +39,7 @@ public class StreamReceiver extends Thread { }); packetBuffer = pq; connect(); - StreamParser streamParser = new StreamParser("TestThread2"); - streamParser.start(); } public void start () {