Re-refactored Event class

#story[881]
This commit is contained in:
Erika Savell
2017-05-10 23:54:29 +12:00
parent e7f84eaf83
commit a35d9cbc5a
5 changed files with 15 additions and 264 deletions
+14 -20
View File
@@ -4,6 +4,7 @@ import org.xml.sax.SAXException;
import seng302.DataInput.*;
import seng302.Exceptions.StreamedCourseXMLException;
import seng302.MockOutput;
import seng302.Networking.Messages.Enums.MessageType;
import javax.xml.parsers.ParserConfigurationException;
import java.io.*;
@@ -36,7 +37,7 @@ public class Event {
}
/**
* Send the initial race data and then begin race simulation
* Sends the initial race data and then begins race simulation
*/
public void start() {
try {
@@ -49,38 +50,31 @@ public class Event {
}
}
/**
* Sends out each xml string, via the mock output
*/
private void sendXMLs() {
System.out.println("Sending Regatta");
mockOutput.setRegattaXml(regattaXML);
mockOutput.parseXMLString(regattaXML, 26);
mockOutput.parseXMLString(regattaXML, MessageType.XMLMESSAGE.getValue());
System.out.println("Sending Race");
mockOutput.setRaceXml(raceXML);
System.out.println(raceXML);
mockOutput.parseXMLString(raceXML, 26);
mockOutput.parseXMLString(raceXML, MessageType.XMLMESSAGE.getValue());
System.out.println("Sending Boat");
mockOutput.setBoatsXml(boatXML);
mockOutput.parseXMLString(boatXML, 26);
mockOutput.parseXMLString(boatXML, MessageType.XMLMESSAGE.getValue());
}
/**
* Format time data and return it.
* @param time time data.
* @return formatted time data.
* Sets the xml description of the race to show the race was created now, and starts in 3 minutes
* @param raceXML
* @return String containing edited xml
*/
private String toTruncatedString(ZonedDateTime time) {
DateTimeFormatter dateFormat = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
String text = dateFormat.format(time);
return text;
}
private String getRaceXMLAtCurrentTime(String raceXML) {
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
ZonedDateTime creationTime = ZonedDateTime.now();
return raceXML.replace("CREATION_TIME", toTruncatedString(creationTime))
.replace("START_TIME", toTruncatedString(creationTime.plusMinutes(3)));
return raceXML.replace("CREATION_TIME", dateFormat.format(creationTime))
.replace("START_TIME", dateFormat.format(creationTime.plusMinutes(3)));
}
}
+1 -1
View File
@@ -113,7 +113,7 @@ public class Race implements Runnable {
for (int i = 0; i < startingBoats.size(); i++) {
Boat boat = startingBoats.get((i + boatOffset) % startingBoats.size());
mockOutput.parseBoatLocation(boat.getSourceID(), boat.getCurrentPosition().getLatitude(), boat.getCurrentPosition().getLongitude(), boat.getHeading(), 0);
boatStatuses.add(new BoatStatus(boat.getSourceID(), BoatStatusEnum.RACING, boat.getCurrentLeg().getLegNumber()));
boatStatuses.add(new BoatStatus(boat.getSourceID(), BoatStatusEnum.PRESTART, boat.getCurrentLeg().getLegNumber()));
}
boatOffset = (boatOffset + 1) % (startingBoats.size());