Merge remote-tracking branch 'origin/splitIntoTwoModules' into splitIntoTwoModules
This commit is contained in:
@@ -4,6 +4,8 @@ package seng302;
|
||||
import javafx.application.Application;
|
||||
import javafx.stage.Stage;
|
||||
import org.xml.sax.SAXException;
|
||||
import seng302.Mock.RegattaDataSource;
|
||||
import seng302.Mock.RegattaXMLReader;
|
||||
import seng302.Model.Event;
|
||||
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
@@ -26,7 +28,8 @@ public class App extends Application {
|
||||
try {
|
||||
OutputStream outputStream = System.out;//TEMP currently using System.out, but should replace this with tcp socket we are sending over.
|
||||
RaceDataSource raceData = new RaceXMLReader("raceXML/bermuda_AC35.xml");
|
||||
Event raceEvent = new Event(raceData, outputStream);
|
||||
RegattaDataSource regattaData = new RegattaXMLReader("mockXML/regattaTest.xml");
|
||||
Event raceEvent = new Event(raceData, regattaData, outputStream);
|
||||
raceEvent.start();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package seng302.Mock;
|
||||
|
||||
/**
|
||||
* Created by zwu18 on 25/04/17.
|
||||
*/
|
||||
public interface RegattaDataSource{
|
||||
Regatta getRegatta();
|
||||
}
|
||||
@@ -11,7 +11,7 @@ import java.io.IOException;
|
||||
/**
|
||||
* Created by jjg64 on 19/04/17.
|
||||
*/
|
||||
public class RegattaXMLReader extends XMLReader {
|
||||
public class RegattaXMLReader extends XMLReader implements RegattaDataSource {
|
||||
private Regatta regatta;
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,6 +4,8 @@ import org.w3c.dom.Attr;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import seng302.Data.RaceData;
|
||||
import seng302.Mock.Regatta;
|
||||
import seng302.Mock.RegattaDataSource;
|
||||
import seng302.Exceptions.InvalidBoatDataException;
|
||||
import seng302.Exceptions.InvalidRaceDataException;
|
||||
import seng302.Exceptions.InvalidRegattaDataException;
|
||||
@@ -30,19 +32,13 @@ import java.util.List;
|
||||
public class Event {
|
||||
|
||||
RaceDataSource raceDataSource;
|
||||
|
||||
RegattaDataSource regattaDataSource;
|
||||
///The stream to which we send all data.
|
||||
private OutputStream outputStream;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Ctor.
|
||||
* @param raceData
|
||||
* @param outputStream OutputStream to write data to.
|
||||
*/
|
||||
public Event(RaceDataSource raceData, OutputStream outputStream) {
|
||||
public Event(RaceDataSource raceData, RegattaDataSource regattaData, OutputStream outputStream) {
|
||||
this.raceDataSource = raceData;
|
||||
this.regattaDataSource = regattaData;
|
||||
this.outputStream = outputStream;
|
||||
}
|
||||
|
||||
@@ -64,6 +60,7 @@ public class Event {
|
||||
|
||||
public void sendRegattaData() throws InvalidRegattaDataException {
|
||||
|
||||
Regatta regatta = regattaDataSource.getRegatta();
|
||||
|
||||
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder docBuilder = null;
|
||||
@@ -83,42 +80,42 @@ public class Event {
|
||||
|
||||
//regattaID element
|
||||
Element regattaID = doc.createElement("RegattaID");
|
||||
regattaID.appendChild(doc.createTextNode("3"));
|
||||
regattaID.appendChild(doc.createTextNode(Integer.toString(regatta.getRegattaID())));
|
||||
rootElement.appendChild(regattaID);
|
||||
|
||||
//regattaName element
|
||||
Element regattaName = doc.createElement("RegattaName");
|
||||
regattaName.appendChild(doc.createTextNode("New Zealand Test"));
|
||||
regattaName.appendChild(doc.createTextNode(regatta.getRegattaName()));
|
||||
rootElement.appendChild(regattaName);
|
||||
|
||||
//courseName element
|
||||
Element courseName = doc.createElement("CourseName");
|
||||
courseName.appendChild(doc.createTextNode("North Head"));
|
||||
courseName.appendChild(doc.createTextNode(regatta.getCourseName()));
|
||||
rootElement.appendChild(courseName);
|
||||
|
||||
//centralLatitude element
|
||||
Element centralLat = doc.createElement("CentralLatitude");
|
||||
centralLat.appendChild(doc.createTextNode(Double.toString(32.293039)));
|
||||
centralLat.appendChild(doc.createTextNode(Double.toString(regatta.getCentralLatitude())));
|
||||
rootElement.appendChild(centralLat);
|
||||
|
||||
//centralLongitude element
|
||||
Element centralLong = doc.createElement("CentralLongitude");
|
||||
centralLong.appendChild(doc.createTextNode(Double.toString(-64.843983)));
|
||||
centralLong.appendChild(doc.createTextNode(Double.toString(regatta.getCentralLongitude())));
|
||||
rootElement.appendChild(centralLong);
|
||||
|
||||
//centralAltitude element
|
||||
Element centralAlt = doc.createElement("CentralAltitude");
|
||||
centralAlt.appendChild(doc.createTextNode(Double.toString(0)));
|
||||
centralAlt.appendChild(doc.createTextNode(Double.toString(regatta.getCentralAltitude())));
|
||||
rootElement.appendChild(centralAlt);
|
||||
|
||||
//utcOffset element
|
||||
Element utcOffset = doc.createElement("UtcOffset");
|
||||
utcOffset.appendChild(doc.createTextNode(Double.toString(-3)));
|
||||
utcOffset.appendChild(doc.createTextNode(Double.toString(regatta.getUtcOffset())));
|
||||
rootElement.appendChild(utcOffset);
|
||||
|
||||
//magneticVariation element
|
||||
Element magneticVariation = doc.createElement("MagneticVariation");
|
||||
magneticVariation.appendChild(doc.createTextNode(Double.toString(14.76)));
|
||||
magneticVariation.appendChild(doc.createTextNode(Double.toString(regatta.getMagneticVariation())));
|
||||
rootElement.appendChild(magneticVariation);
|
||||
|
||||
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<RegattaConfig>
|
||||
<RegattaID>3</RegattaID>
|
||||
<RegattaName>New Zealand Test</RegattaName>
|
||||
<CourseName>North Head</CourseName>
|
||||
<CentralLatitude>-36.82791529</CentralLatitude>
|
||||
<CentralLongitude>174.81218919</CentralLongitude>
|
||||
<CentralAltitude>0.00</CentralAltitude>
|
||||
<UtcOffset>12</UtcOffset>
|
||||
<MagneticVariation>14.1</MagneticVariation>
|
||||
</RegattaConfig>
|
||||
@@ -16,7 +16,7 @@ public class RegattaXMLTest {
|
||||
@Before
|
||||
public void findFile(){
|
||||
try {
|
||||
regattaXMLReader = new RegattaXMLReader("mockXML/regattaXML/regattaTest.xml", false);
|
||||
regattaXMLReader = new RegattaXMLReader("mockXML/regattaTest.xml", false);
|
||||
} catch (Exception e) {
|
||||
fail("Cannot find mockXML/regattaXML/regattaTest.xml in the resources folder");
|
||||
}
|
||||
@@ -25,7 +25,7 @@ public class RegattaXMLTest {
|
||||
@Test
|
||||
public void makeRegattaTest() {
|
||||
try {
|
||||
regattaXMLReader = new RegattaXMLReader("mockXML/regattaXML/regattaTest.xml");
|
||||
regattaXMLReader = new RegattaXMLReader("mockXML/regattaTest.xml");
|
||||
assertNotEquals(regattaXMLReader.getRegatta(), null);
|
||||
} catch (Exception e) {
|
||||
fail("Did not make a Regatta object");
|
||||
@@ -35,7 +35,7 @@ public class RegattaXMLTest {
|
||||
@Test
|
||||
public void correctValuesTest() {
|
||||
try {
|
||||
regattaXMLReader = new RegattaXMLReader("mockXML/regattaXML/regattaTest.xml");
|
||||
regattaXMLReader = new RegattaXMLReader("mockXML/regattaTest.xml");
|
||||
Regatta regatta = regattaXMLReader.getRegatta();
|
||||
assertEquals(regatta.getRegattaID(), 3);
|
||||
assertEquals(regatta.getRegattaName(), "New Zealand Test");
|
||||
|
||||
Reference in New Issue
Block a user