From c5df90d276e2a761137f21001193bb301a43c2da Mon Sep 17 00:00:00 2001 From: zwu18 Date: Sun, 23 Apr 2017 19:59:07 +1200 Subject: [PATCH] Created RegattaDataSource and regattaTest.xml. -Event regattaData will now get data from the XML instead of having static data. #story[778] --- mock/src/main/java/seng302/App.java | 5 +++- .../java/seng302/Mock/RegattaXMLReader.java | 2 +- mock/src/main/java/seng302/Model/Event.java | 24 ++++++++++++------- .../main/resources/mockXML/regattaTest.xml | 10 ++++++++ .../java/seng302/Mock/RegattaXMLTest.java | 6 ++--- .../mockXML/{regattaXML => }/regattaTest.xml | 0 6 files changed, 33 insertions(+), 14 deletions(-) create mode 100644 mock/src/main/resources/mockXML/regattaTest.xml rename mock/src/test/resources/mockXML/{regattaXML => }/regattaTest.xml (100%) diff --git a/mock/src/main/java/seng302/App.java b/mock/src/main/java/seng302/App.java index cc2122cb..4fb6e21c 100644 --- a/mock/src/main/java/seng302/App.java +++ b/mock/src/main/java/seng302/App.java @@ -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; @@ -24,7 +26,8 @@ public class App extends Application { public void start(Stage primaryStage) { try { RaceDataSource raceData = new RaceXMLReader("raceXML/bermuda_AC35.xml"); - Event raceEvent = new Event(raceData); + RegattaDataSource regattaData = new RegattaXMLReader("mockXML/regattaTest.xml"); + Event raceEvent = new Event(raceData, regattaData); raceEvent.start(); } catch (IOException e) { e.printStackTrace(); diff --git a/mock/src/main/java/seng302/Mock/RegattaXMLReader.java b/mock/src/main/java/seng302/Mock/RegattaXMLReader.java index 6291825f..5cca06ed 100644 --- a/mock/src/main/java/seng302/Mock/RegattaXMLReader.java +++ b/mock/src/main/java/seng302/Mock/RegattaXMLReader.java @@ -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; /** diff --git a/mock/src/main/java/seng302/Model/Event.java b/mock/src/main/java/seng302/Model/Event.java index 2b55a0bf..98c3dceb 100644 --- a/mock/src/main/java/seng302/Model/Event.java +++ b/mock/src/main/java/seng302/Model/Event.java @@ -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.Model.Race; import seng302.RaceDataSource; @@ -21,9 +23,11 @@ import java.util.List; public class Event { RaceDataSource raceDataSource; + RegattaDataSource regattaDataSource; - public Event(RaceDataSource raceData) { + public Event(RaceDataSource raceData, RegattaDataSource regattaData) { this.raceDataSource = raceData; + this.regattaDataSource = regattaData; } public void start() { @@ -39,6 +43,8 @@ public class Event { public void sendRegattaData() { try { + Regatta regatta = regattaDataSource.getRegatta(); + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); @@ -49,42 +55,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 trasformerFactory = TransformerFactory.newInstance(); diff --git a/mock/src/main/resources/mockXML/regattaTest.xml b/mock/src/main/resources/mockXML/regattaTest.xml new file mode 100644 index 00000000..86526130 --- /dev/null +++ b/mock/src/main/resources/mockXML/regattaTest.xml @@ -0,0 +1,10 @@ + + 3 + New Zealand Test + North Head + -36.82791529 + 174.81218919 + 0.00 + 12 + 14.1 + \ No newline at end of file diff --git a/mock/src/test/java/seng302/Mock/RegattaXMLTest.java b/mock/src/test/java/seng302/Mock/RegattaXMLTest.java index 821e476b..1f67169b 100644 --- a/mock/src/test/java/seng302/Mock/RegattaXMLTest.java +++ b/mock/src/test/java/seng302/Mock/RegattaXMLTest.java @@ -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"); diff --git a/mock/src/test/resources/mockXML/regattaXML/regattaTest.xml b/mock/src/test/resources/mockXML/regattaTest.xml similarity index 100% rename from mock/src/test/resources/mockXML/regattaXML/regattaTest.xml rename to mock/src/test/resources/mockXML/regattaTest.xml