|
|
|
|
@ -10,7 +10,11 @@ import seng302.Exceptions.InvalidRaceDataException;
|
|
|
|
|
import seng302.Exceptions.InvalidRegattaDataException;
|
|
|
|
|
import seng302.MockOutput;
|
|
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.io.*;
|
|
|
|
|
import java.nio.charset.Charset;
|
|
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
|
import java.nio.file.Files;
|
|
|
|
|
import java.nio.file.Paths;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ -38,60 +42,38 @@ public class Event {
|
|
|
|
|
* Send the initial race data and then begin race simulation
|
|
|
|
|
*/
|
|
|
|
|
public void start() {
|
|
|
|
|
System.out.println("Sending Regatta");
|
|
|
|
|
sendRegattaData();
|
|
|
|
|
System.out.println("Sending Race");
|
|
|
|
|
sendRaceData();
|
|
|
|
|
System.out.println("Sending Boat");
|
|
|
|
|
sendBoatData();
|
|
|
|
|
|
|
|
|
|
sendXMLs();
|
|
|
|
|
int scaleFactor = 5;//TEMP - was 15.
|
|
|
|
|
Race newRace = new Race(raceDataSource, scaleFactor, mockOutput);
|
|
|
|
|
new Thread((newRace)).start();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Send XML string of initial regatta data to the visualiser
|
|
|
|
|
* @throws InvalidRegattaDataException Invalid regatta
|
|
|
|
|
*/
|
|
|
|
|
public void sendRegattaData() throws InvalidRegattaDataException {
|
|
|
|
|
private void sendXMLs() {
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
System.setOut(System.out);
|
|
|
|
|
RegattaData regattaData = new RegattaData(regattaDataSource);
|
|
|
|
|
String xmlString = regattaData.createXML();
|
|
|
|
|
System.out.println("Sending Regatta");
|
|
|
|
|
String regattaData = readFile("mock/src/main/resources/mockXML/regattaTest.xml", StandardCharsets.UTF_8);
|
|
|
|
|
mockOutput.setRegattaXml(regattaData);
|
|
|
|
|
mockOutput.parseXMLString(regattaData, 26);
|
|
|
|
|
|
|
|
|
|
System.out.println(xmlString);
|
|
|
|
|
mockOutput.setRegattaXml(xmlString);
|
|
|
|
|
mockOutput.parseXMLString(xmlString, 26);
|
|
|
|
|
System.out.println("Sending Race");
|
|
|
|
|
String raceData = readFile("mock/src/main/resources//mockXML/raceTest.xml", StandardCharsets.UTF_8);
|
|
|
|
|
mockOutput.setRaceXml(raceData);
|
|
|
|
|
mockOutput.parseXMLString(raceData, 26);
|
|
|
|
|
|
|
|
|
|
System.out.println("Sending Boat");
|
|
|
|
|
String boatData = readFile("mock/src/main/resources/mockXML/boatTest.xml", StandardCharsets.UTF_8);
|
|
|
|
|
mockOutput.setBoatsXml(boatData);
|
|
|
|
|
mockOutput.parseXMLString(boatData, 26);
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Send XML string of initial race data to the visualiser
|
|
|
|
|
* @throws InvalidRaceDataException Invalid race
|
|
|
|
|
*/
|
|
|
|
|
public void sendRaceData() throws InvalidRaceDataException {
|
|
|
|
|
RaceData raceData = new RaceData(raceDataSource);
|
|
|
|
|
//Serialize race data to an XML as a string.
|
|
|
|
|
String xmlString = raceData.createXML();
|
|
|
|
|
System.out.println(xmlString);
|
|
|
|
|
mockOutput.setRaceXml(xmlString);
|
|
|
|
|
mockOutput.parseXMLString(xmlString, 26);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Send XML string of initial boat data to the visualiser
|
|
|
|
|
* @throws InvalidBoatDataException Invalid boat
|
|
|
|
|
*/
|
|
|
|
|
public void sendBoatData() throws InvalidBoatDataException {
|
|
|
|
|
BoatData boatData = new BoatData(raceDataSource.getBoats());
|
|
|
|
|
//Serialize race data to an XML as a string.
|
|
|
|
|
String xmlString = boatData.createXML();
|
|
|
|
|
System.out.println(xmlString);
|
|
|
|
|
mockOutput.setBoatsXml(xmlString);
|
|
|
|
|
mockOutput.parseXMLString(xmlString, 26);
|
|
|
|
|
|
|
|
|
|
static String readFile(String path, Charset encoding) throws IOException {
|
|
|
|
|
byte[] encoded = Files.readAllBytes(Paths.get(path));
|
|
|
|
|
return new String(encoded, encoding);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|