Re-refactored Event class
#story[881]
This commit is contained in:
@@ -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)));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user