diff --git a/mock/src/main/java/seng302/MockOutput.java b/mock/src/main/java/seng302/MockOutput.java index f13080f6..5785e42b 100644 --- a/mock/src/main/java/seng302/MockOutput.java +++ b/mock/src/main/java/seng302/MockOutput.java @@ -44,7 +44,7 @@ public class MockOutput implements Runnable public MockOutput() throws IOException { lastHeartbeatTime = System.currentTimeMillis(); - serverSocket = new ServerSocket(4942); + serverSocket = new ServerSocket(4943); } /** * calculates the time since last heartbeat diff --git a/mock/src/main/java/seng302/Model/Race.java b/mock/src/main/java/seng302/Model/Race.java index 2976ad03..1f211beb 100644 --- a/mock/src/main/java/seng302/Model/Race.java +++ b/mock/src/main/java/seng302/Model/Race.java @@ -31,7 +31,7 @@ public class Race implements Runnable { protected int boatsFinished = 0; protected long totalTimeElapsed; protected int scaleFactor; - protected int PRERACE_TIME = 12; //time in milliseconds to pause during pre-race + protected int PRERACE_TIME = 12000; //time in milliseconds to pause during pre-race protected boolean countdownFinish = false; protected boolean runRace = true; private int lastFPS = 20; @@ -66,10 +66,6 @@ public class Race implements Runnable { this(raceData.getBoats(), raceData.getLegs(), scaleFactor, mockOutput); } - - public void setRaceId(int raceId) { - this.raceId = raceId; - } /** * Calculates the boats next GPS position based on its distance travelled and heading * @@ -172,12 +168,13 @@ public class Race implements Runnable { //For each boat, we update it's position, and generate a BoatLocationMessage. for (Boat boat : startingBoats) { - if (boat != null && boat.getTimeFinished() < 0) { + if (boat != null) { //Update position. - updatePosition(boat, Math.round(1000 / lastFPS) > 20 ? 15 : Math.round(1000 / lastFPS)); - checkPosition(boat, totalTimeElapsed); + if (boat.getTimeFinished() < 0) { + updatePosition(boat, Math.round(1000 / lastFPS) > 20 ? 15 : Math.round(1000 / lastFPS)); + checkPosition(boat, totalTimeElapsed); + } mockOutput.parseBoatLocation(boat.getSourceID(), boat.getCurrentPosition().getLatitude(), boat.getCurrentPosition().getLongitude()); - System.out.println("Sending boat status"); boatStatusMessages.add(new BoatStatusMessage(boat.getSourceID(), boat.getCurrentLeg().getLegNumber() >= 0 ? BoatStatus.RACING : BoatStatus.DNF, boat.getCurrentLeg().getLegNumber())); } else { diff --git a/visualiser/src/main/java/seng302/Controllers/StartController.java b/visualiser/src/main/java/seng302/Controllers/StartController.java index 257d83fc..49202190 100644 --- a/visualiser/src/main/java/seng302/Controllers/StartController.java +++ b/visualiser/src/main/java/seng302/Controllers/StartController.java @@ -92,7 +92,8 @@ public class StartController extends Controller implements Observer { try { raceData = new StreamedCourse(); raceData.addObserver(this); - visualiserInput = new VisualiserInput(new Socket("livedata.americascup.com", 4941), raceData); +// visualiserInput = new VisualiserInput(new Socket("livedata.americascup.com", 4941), raceData); + visualiserInput = new VisualiserInput(new Socket(InetAddress.getLocalHost(), 4943), raceData); new Thread(visualiserInput).start(); // StreamedCourse streamedCourse = new StreamedCourse(new BoatXMLReader("mockXML/boatXML/boatTest.xml")); // streamedCourse.setStreamedCourseXMLReader(new StreamedCourseXMLReader("mockXML/raceXML/raceTest.xml")); diff --git a/visualiser/src/main/java/seng302/Mock/StreamedCourseXMLReader.java b/visualiser/src/main/java/seng302/Mock/StreamedCourseXMLReader.java index a41c8e7e..44a83946 100644 --- a/visualiser/src/main/java/seng302/Mock/StreamedCourseXMLReader.java +++ b/visualiser/src/main/java/seng302/Mock/StreamedCourseXMLReader.java @@ -87,10 +87,13 @@ public class StreamedCourseXMLReader extends XMLReader { raceID = Integer.parseInt(getTextValueOfNode(settings, "RaceID")); raceType = getTextValueOfNode(settings, "RaceType"); - creationTimeDate = ZonedDateTime.parse(getTextValueOfNode(settings, "CreationTimeDate"), dateFormat); + //creationTimeDate = ZonedDateTime.parse(getTextValueOfNode(settings, "CreationTimeDate"), dateFormat); +// creationTimeDate = ZonedDateTime.now(); +// raceStartTime = ZonedDateTime.now(); if (raceTimeTag.getNamedItem("Time") != null) raceStartTime = ZonedDateTime.parse(raceTimeTag.getNamedItem("Time").getTextContent(), dateFormat); else raceStartTime = ZonedDateTime.parse(raceTimeTag.getNamedItem("Start").getTextContent(), dateFormat); + postpone = Boolean.parseBoolean(raceTimeTag.getNamedItem("Postpone").getTextContent()); } diff --git a/visualiser/src/main/java/seng302/Mock/StreamedRace.java b/visualiser/src/main/java/seng302/Mock/StreamedRace.java index b9a154f4..2edce8ce 100644 --- a/visualiser/src/main/java/seng302/Mock/StreamedRace.java +++ b/visualiser/src/main/java/seng302/Mock/StreamedRace.java @@ -69,8 +69,6 @@ public class StreamedRace extends Race { boatsFinished++; boat.setTimeFinished(timeElapsed); boat.setFinished(true); - } else { - boat.setCurrentLeg(raceData.getLegs().get(legNumber)); } //Update the boat display table in the GUI to reflect the leg change updatePositions(); diff --git a/visualiser/src/main/java/seng302/VisualiserInput.java b/visualiser/src/main/java/seng302/VisualiserInput.java index 29cf025a..e984f001 100644 --- a/visualiser/src/main/java/seng302/VisualiserInput.java +++ b/visualiser/src/main/java/seng302/VisualiserInput.java @@ -287,7 +287,7 @@ public class VisualiserInput implements Runnable public static void main(String argv[]) throws Exception { - Socket socket = new Socket(InetAddress.getLocalHost(), 4942); + Socket socket = new Socket(InetAddress.getLocalHost(), 4943); VisualiserInput receiver = new VisualiserInput(socket, new StreamedCourse()); receiver.run(); }