From d5aa430d4a84d9f749c715a4dffde0c6ba6e62c3 Mon Sep 17 00:00:00 2001 From: Michael Rausch Date: Sun, 30 Apr 2017 23:41:21 +1200 Subject: [PATCH] Fixed a method that was converting the timestamp bytes incorrectly - If an argument is passed to the application, it will use the internal mock server Tags: #story[820] --- src/main/java/seng302/App.java | 19 +++++++++++++------ .../seng302/models/parsers/StreamParser.java | 4 ++-- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/java/seng302/App.java b/src/main/java/seng302/App.java index f6630e7c..a66be5a9 100644 --- a/src/main/java/seng302/App.java +++ b/src/main/java/seng302/App.java @@ -12,21 +12,28 @@ 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"); + } + + public static void main(String[] args) { + StreamReceiver sr; + + if (args.length > 1){ + sr = new StreamReceiver("localhost", 8085, "TestThread1"); + } + else{ + //StreamReceiver sr = new StreamReceiver("csse-s302staff.canterbury.ac.nz", 4941,"TestThread1"); + sr = new StreamReceiver("livedata.americascup.com", 4941, "TestThread1"); + } + sr.start(); StreamParser streamParser = new StreamParser("TestThread2"); streamParser.start(); - } - - public static void main(String[] args) { launch(args); } } diff --git a/src/main/java/seng302/models/parsers/StreamParser.java b/src/main/java/seng302/models/parsers/StreamParser.java index 521d222d..070e438c 100644 --- a/src/main/java/seng302/models/parsers/StreamParser.java +++ b/src/main/java/seng302/models/parsers/StreamParser.java @@ -139,11 +139,11 @@ public class StreamParser extends Thread{ private static void extractRaceStatus(StreamPacket packet){ byte[] payload = packet.getPayload(); int messageVersionNo = payload[0]; - long currentTime = extractTimeStamp(Arrays.copyOfRange(payload,1,7), 6); + long currentTime = bytesToLong(Arrays.copyOfRange(payload,1,7)); long raceId = bytesToLong(Arrays.copyOfRange(payload,7,11)); int raceStatus = payload[11]; // System.out.println("raceStatus = " + raceStatus); - long expectedStartTime = extractTimeStamp(Arrays.copyOfRange(payload,12,18), 6); + long expectedStartTime = bytesToLong(Arrays.copyOfRange(payload,12,18)); DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); format.setTimeZone(TimeZone.getTimeZone("UTC")); long timeTillStart = ((new Date (expectedStartTime)).getTime() - (new Date (currentTime)).getTime())/1000;