Merge remote-tracking branch 'origin/splitIntoTwoModules' into splitIntoTwoModules

main
hba56 9 years ago
commit 67b73ec1db

@ -4,6 +4,8 @@ package seng302;
import javafx.application.Application; import javafx.application.Application;
import javafx.stage.Stage; import javafx.stage.Stage;
import org.xml.sax.SAXException; import org.xml.sax.SAXException;
import seng302.Mock.RegattaDataSource;
import seng302.Mock.RegattaXMLReader;
import seng302.Model.Event; import seng302.Model.Event;
import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.ParserConfigurationException;
@ -26,7 +28,8 @@ public class App extends Application {
try { try {
OutputStream outputStream = System.out;//TEMP currently using System.out, but should replace this with tcp socket we are sending over. 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"); 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(); raceEvent.start();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); 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. * Created by jjg64 on 19/04/17.
*/ */
public class RegattaXMLReader extends XMLReader { public class RegattaXMLReader extends XMLReader implements RegattaDataSource {
private Regatta regatta; private Regatta regatta;
/** /**

@ -4,6 +4,8 @@ import org.w3c.dom.Attr;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import org.w3c.dom.Element; import org.w3c.dom.Element;
import seng302.Data.RaceData; import seng302.Data.RaceData;
import seng302.Mock.Regatta;
import seng302.Mock.RegattaDataSource;
import seng302.Exceptions.InvalidBoatDataException; import seng302.Exceptions.InvalidBoatDataException;
import seng302.Exceptions.InvalidRaceDataException; import seng302.Exceptions.InvalidRaceDataException;
import seng302.Exceptions.InvalidRegattaDataException; import seng302.Exceptions.InvalidRegattaDataException;
@ -30,19 +32,13 @@ import java.util.List;
public class Event { public class Event {
RaceDataSource raceDataSource; RaceDataSource raceDataSource;
RegattaDataSource regattaDataSource;
///The stream to which we send all data. ///The stream to which we send all data.
private OutputStream outputStream; private OutputStream outputStream;
public Event(RaceDataSource raceData, RegattaDataSource regattaData, OutputStream outputStream) {
/**
* Ctor.
* @param raceData
* @param outputStream OutputStream to write data to.
*/
public Event(RaceDataSource raceData, OutputStream outputStream) {
this.raceDataSource = raceData; this.raceDataSource = raceData;
this.regattaDataSource = regattaData;
this.outputStream = outputStream; this.outputStream = outputStream;
} }
@ -64,6 +60,7 @@ public class Event {
public void sendRegattaData() throws InvalidRegattaDataException { public void sendRegattaData() throws InvalidRegattaDataException {
Regatta regatta = regattaDataSource.getRegatta();
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = null; DocumentBuilder docBuilder = null;
@ -81,45 +78,45 @@ public class Event {
Element rootElement = doc.createElement("RegattaConfig"); Element rootElement = doc.createElement("RegattaConfig");
doc.appendChild(rootElement); doc.appendChild(rootElement);
//regattaID element //regattaID element
Element regattaID = doc.createElement("RegattaID"); Element regattaID = doc.createElement("RegattaID");
regattaID.appendChild(doc.createTextNode("3")); regattaID.appendChild(doc.createTextNode(Integer.toString(regatta.getRegattaID())));
rootElement.appendChild(regattaID); rootElement.appendChild(regattaID);
//regattaName element //regattaName element
Element regattaName = doc.createElement("RegattaName"); Element regattaName = doc.createElement("RegattaName");
regattaName.appendChild(doc.createTextNode("New Zealand Test")); regattaName.appendChild(doc.createTextNode(regatta.getRegattaName()));
rootElement.appendChild(regattaName); rootElement.appendChild(regattaName);
//courseName element //courseName element
Element courseName = doc.createElement("CourseName"); Element courseName = doc.createElement("CourseName");
courseName.appendChild(doc.createTextNode("North Head")); courseName.appendChild(doc.createTextNode(regatta.getCourseName()));
rootElement.appendChild(courseName); rootElement.appendChild(courseName);
//centralLatitude element //centralLatitude element
Element centralLat = doc.createElement("CentralLatitude"); Element centralLat = doc.createElement("CentralLatitude");
centralLat.appendChild(doc.createTextNode(Double.toString(32.293039))); centralLat.appendChild(doc.createTextNode(Double.toString(regatta.getCentralLatitude())));
rootElement.appendChild(centralLat); rootElement.appendChild(centralLat);
//centralLongitude element //centralLongitude element
Element centralLong = doc.createElement("CentralLongitude"); Element centralLong = doc.createElement("CentralLongitude");
centralLong.appendChild(doc.createTextNode(Double.toString(-64.843983))); centralLong.appendChild(doc.createTextNode(Double.toString(regatta.getCentralLongitude())));
rootElement.appendChild(centralLong); rootElement.appendChild(centralLong);
//centralAltitude element //centralAltitude element
Element centralAlt = doc.createElement("CentralAltitude"); Element centralAlt = doc.createElement("CentralAltitude");
centralAlt.appendChild(doc.createTextNode(Double.toString(0))); centralAlt.appendChild(doc.createTextNode(Double.toString(regatta.getCentralAltitude())));
rootElement.appendChild(centralAlt); rootElement.appendChild(centralAlt);
//utcOffset element //utcOffset element
Element utcOffset = doc.createElement("UtcOffset"); Element utcOffset = doc.createElement("UtcOffset");
utcOffset.appendChild(doc.createTextNode(Double.toString(-3))); utcOffset.appendChild(doc.createTextNode(Double.toString(regatta.getUtcOffset())));
rootElement.appendChild(utcOffset); rootElement.appendChild(utcOffset);
//magneticVariation element //magneticVariation element
Element magneticVariation = doc.createElement("MagneticVariation"); Element magneticVariation = doc.createElement("MagneticVariation");
magneticVariation.appendChild(doc.createTextNode(Double.toString(14.76))); magneticVariation.appendChild(doc.createTextNode(Double.toString(regatta.getMagneticVariation())));
rootElement.appendChild(magneticVariation); rootElement.appendChild(magneticVariation);
TransformerFactory transformerFactory = TransformerFactory.newInstance(); TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = null; Transformer transformer = null;

@ -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 @Before
public void findFile(){ public void findFile(){
try { try {
regattaXMLReader = new RegattaXMLReader("mockXML/regattaXML/regattaTest.xml", false); regattaXMLReader = new RegattaXMLReader("mockXML/regattaTest.xml", false);
} catch (Exception e) { } catch (Exception e) {
fail("Cannot find mockXML/regattaXML/regattaTest.xml in the resources folder"); fail("Cannot find mockXML/regattaXML/regattaTest.xml in the resources folder");
} }
@ -25,7 +25,7 @@ public class RegattaXMLTest {
@Test @Test
public void makeRegattaTest() { public void makeRegattaTest() {
try { try {
regattaXMLReader = new RegattaXMLReader("mockXML/regattaXML/regattaTest.xml"); regattaXMLReader = new RegattaXMLReader("mockXML/regattaTest.xml");
assertNotEquals(regattaXMLReader.getRegatta(), null); assertNotEquals(regattaXMLReader.getRegatta(), null);
} catch (Exception e) { } catch (Exception e) {
fail("Did not make a Regatta object"); fail("Did not make a Regatta object");
@ -35,7 +35,7 @@ public class RegattaXMLTest {
@Test @Test
public void correctValuesTest() { public void correctValuesTest() {
try { try {
regattaXMLReader = new RegattaXMLReader("mockXML/regattaXML/regattaTest.xml"); regattaXMLReader = new RegattaXMLReader("mockXML/regattaTest.xml");
Regatta regatta = regattaXMLReader.getRegatta(); Regatta regatta = regattaXMLReader.getRegatta();
assertEquals(regatta.getRegattaID(), 3); assertEquals(regatta.getRegattaID(), 3);
assertEquals(regatta.getRegattaName(), "New Zealand Test"); assertEquals(regatta.getRegattaName(), "New Zealand Test");

Loading…
Cancel
Save