diff --git a/racevisionGame/src/main/java/mock/app/Event.java b/racevisionGame/src/main/java/mock/app/Event.java index 228534c2..eba89aa9 100644 --- a/racevisionGame/src/main/java/mock/app/Event.java +++ b/racevisionGame/src/main/java/mock/app/Event.java @@ -79,7 +79,7 @@ public class Event { */ public Event(boolean singlePlayer) throws EventConstructionException { - String raceXMLFile = "mock/mockXML/raceTest.xml"; + String raceXMLFile = "mock/mockXML/raceThreePlayers.xml";//TEMP 3 player race - for demo on 18th august String boatsXMLFile = "mock/mockXML/boatTest.xml"; String regattaXMLFile = "mock/mockXML/regattaTest.xml"; @@ -90,22 +90,15 @@ public class Event { //Read XML files. try { - this.raceXML = RaceXMLCreator.alterRaceToWind(raceXMLFile, 90); + //this.raceXML = RaceXMLCreator.alterRaceToWind(raceXMLFile, 90); + this.raceXML = XMLReader.readXMLFileToString(raceXMLFile, StandardCharsets.UTF_8); + this.raceXML = Event.setRaceXMLAtCurrentTimeToNow(XMLReader.readXMLFileToString(raceXMLFile, StandardCharsets.UTF_8)); + this.boatXML = XMLReader.readXMLFileToString(boatsXMLFile, StandardCharsets.UTF_8); this.regattaXML = XMLReader.readXMLFileToString(regattaXMLFile, StandardCharsets.UTF_8); } catch (XMLReaderException e) { throw new EventConstructionException("Could not read XML files.", e); - } catch (IOException e) { - e.printStackTrace(); - } catch (ParserConfigurationException e) { - e.printStackTrace(); - } catch (SAXException e) { - e.printStackTrace(); - } catch (InvalidRaceDataException e) { - e.printStackTrace(); - } catch (JAXBException e) { - e.printStackTrace(); } this.xmlFileType = XMLFileType.Contents; @@ -197,4 +190,29 @@ public class Event { connectionAcceptor.setBoatsXml(boatXML); } -} \ No newline at end of file + + + //TODO remove this after demo on 18th august! + /** + * Sets the xml description of the race to show the race was created now, and starts in 4 minutes + * @param raceXML The race.xml contents. + * @return String containing edited xml + */ + public static String setRaceXMLAtCurrentTimeToNow(String raceXML) { + + //The start time is current time + 4 minutes. prestart is 3 minutes, and we add another minute. + long millisecondsToAdd = Constants.RacePreStartTime + (1 * 60 * 1000); + long secondsToAdd = millisecondsToAdd / 1000; + //Scale the time using our time scalar. + secondsToAdd = secondsToAdd / Constants.RaceTimeScale; + + DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"); + ZonedDateTime creationTime = ZonedDateTime.now(); + raceXML = raceXML.replace("RACE_CREATION_TIME", dateFormat.format(creationTime)); + raceXML = raceXML.replace("RACE_START_TIME", dateFormat.format(creationTime.plusSeconds(secondsToAdd))); + + + return raceXML; + } + +} diff --git a/racevisionGame/src/main/resources/mock/mockXML/raceSinglePlayer.xml b/racevisionGame/src/main/resources/mock/mockXML/raceSinglePlayer.xml index f939b16d..e9e9378a 100644 --- a/racevisionGame/src/main/resources/mock/mockXML/raceSinglePlayer.xml +++ b/racevisionGame/src/main/resources/mock/mockXML/raceSinglePlayer.xml @@ -2,8 +2,8 @@ 5326 FLEET - 2017-08-03T02:13:14+1200 - + RACE_CREATION_TIME + diff --git a/racevisionGame/src/main/resources/mock/mockXML/raceTest.xml b/racevisionGame/src/main/resources/mock/mockXML/raceTest.xml index 761b9b91..ad14d931 100644 --- a/racevisionGame/src/main/resources/mock/mockXML/raceTest.xml +++ b/racevisionGame/src/main/resources/mock/mockXML/raceTest.xml @@ -2,8 +2,8 @@ 5326 FLEET - 2017-08-03T02:13:14+1200 - + RACE_CREATION_TIME + diff --git a/racevisionGame/src/main/resources/mock/mockXML/raceThreePlayers.xml b/racevisionGame/src/main/resources/mock/mockXML/raceThreePlayers.xml new file mode 100644 index 00000000..e0b81837 --- /dev/null +++ b/racevisionGame/src/main/resources/mock/mockXML/raceThreePlayers.xml @@ -0,0 +1,54 @@ + + + 5326 + FLEET + RACE_CREATION_TIME + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +