You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
2.3 KiB

package seng302.Model;
import seng302.Data.BoatData;
import seng302.Data.RaceData;
import seng302.Data.RegattaData;
import seng302.DataInput.RaceDataSource;
import seng302.DataInput.RegattaDataSource;
import seng302.Exceptions.InvalidBoatDataException;
import seng302.Exceptions.InvalidRaceDataException;
import seng302.Exceptions.InvalidRegattaDataException;
import seng302.MockOutput;
import java.io.IOException;
/**
* Created by esa46 on 21/04/17.
*/
public class Event {
RaceDataSource raceDataSource;
RegattaDataSource regattaDataSource;
MockOutput mockOutput;
public Event(RaceDataSource raceData, RegattaDataSource regattaData) {
this.raceDataSource = raceData;
this.regattaDataSource = regattaData;
try {
mockOutput = new MockOutput();
new Thread(mockOutput).start();
} catch (IOException e) {
e.printStackTrace();
}
}
public void start() {
System.out.println("Sending Regatta");
sendRegattaData();
System.out.println("Sending Race");
sendRaceData();
System.out.println("Sending Boat");
sendBoatData();
Race newRace = new Race(raceDataSource, 15, mockOutput);
new Thread((newRace)).start();
}
public void sendRegattaData() throws InvalidRegattaDataException {
System.setOut(System.out);
RegattaData regattaData = new RegattaData(regattaDataSource);
String xmlString = regattaData.createXML();
mockOutput.setRegattaXml(xmlString);
mockOutput.parseXMLString(xmlString, 26);
}
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);
}
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);
}
}