diff --git a/mock/src/main/java/seng302/App.java b/mock/src/main/java/seng302/App.java index 11813c25..f550a638 100644 --- a/mock/src/main/java/seng302/App.java +++ b/mock/src/main/java/seng302/App.java @@ -6,7 +6,6 @@ import javafx.stage.Stage; import org.xml.sax.SAXException; import seng302.Mock.RaceDataSource; import seng302.Mock.RegattaDataSource; -import seng302.Mock.RegattaXMLReader; import seng302.Model.Event; import javax.xml.parsers.ParserConfigurationException; diff --git a/mock/src/main/java/seng302/Data/RegattaData.java b/mock/src/main/java/seng302/Data/RegattaData.java index b9bedec5..ef51deea 100644 --- a/mock/src/main/java/seng302/Data/RegattaData.java +++ b/mock/src/main/java/seng302/Data/RegattaData.java @@ -3,7 +3,6 @@ package seng302.Data; import org.w3c.dom.Document; import org.w3c.dom.Element; import seng302.Exceptions.InvalidRegattaDataException; -import seng302.Mock.Regatta; import seng302.Mock.RegattaDataSource; import javax.xml.parsers.DocumentBuilder; @@ -23,7 +22,8 @@ public class RegattaData { private RegattaDataSource regattaDataSource; - + private Document doc; + private Element rootElement; public RegattaData(RegattaDataSource regattaDataSource) { this.regattaDataSource = regattaDataSource; @@ -31,57 +31,16 @@ public class RegattaData { public String createXML() { - - Regatta regatta = regattaDataSource.getRegatta(); - try { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); //root element - Document doc = docBuilder.newDocument(); - Element rootElement = doc.createElement("RegattaConfig"); + doc = docBuilder.newDocument(); + rootElement = doc.createElement("RegattaConfig"); doc.appendChild(rootElement); - //regattaID element - Element regattaID = doc.createElement("RegattaID"); - regattaID.appendChild(doc.createTextNode(Integer.toString(regatta.getRegattaID()))); - rootElement.appendChild(regattaID); - - //regattaName element - Element regattaName = doc.createElement("RegattaName"); - regattaName.appendChild(doc.createTextNode(regatta.getRegattaName())); - rootElement.appendChild(regattaName); - - //courseName element - Element courseName = doc.createElement("CourseName"); - courseName.appendChild(doc.createTextNode(regatta.getCourseName())); - rootElement.appendChild(courseName); - - //centralLatitude element - Element centralLat = doc.createElement("CentralLatitude"); - centralLat.appendChild(doc.createTextNode(Double.toString(regatta.getCentralLatitude()))); - rootElement.appendChild(centralLat); - - //centralLongitude element - Element centralLong = doc.createElement("CentralLongitude"); - centralLong.appendChild(doc.createTextNode(Double.toString(regatta.getCentralLongitude()))); - rootElement.appendChild(centralLong); - - //centralAltitude element - Element centralAlt = doc.createElement("CentralAltitude"); - centralAlt.appendChild(doc.createTextNode(Double.toString(regatta.getCentralAltitude()))); - rootElement.appendChild(centralAlt); - - //utcOffset element - Element utcOffset = doc.createElement("UtcOffset"); - utcOffset.appendChild(doc.createTextNode(Double.toString(regatta.getUtcOffset()))); - rootElement.appendChild(utcOffset); - - //magneticVariation element - Element magneticVariation = doc.createElement("MagneticVariation"); - magneticVariation.appendChild(doc.createTextNode(Double.toString(regatta.getMagneticVariation()))); - rootElement.appendChild(magneticVariation); + appendChildElements(); // write the content into xml file TransformerFactory transformerFactory = TransformerFactory.newInstance(); @@ -103,4 +62,74 @@ public class RegattaData { } } + + + private void appendRegattaID() { + //regattaID element + Element regattaID = doc.createElement("RegattaID"); + regattaID.appendChild(doc.createTextNode(Integer.toString(regattaDataSource.getRegatta().getRegattaID()))); + rootElement.appendChild(regattaID); + } + + private void appendRegattaName() { + //regattaName element + Element regattaName = doc.createElement("RegattaName"); + regattaName.appendChild(doc.createTextNode(regattaDataSource.getRegatta().getRegattaName())); + rootElement.appendChild(regattaName); + } + + private void appendCourseName() { + //courseName element + Element courseName = doc.createElement("CourseName"); + courseName.appendChild(doc.createTextNode(regattaDataSource.getRegatta().getCourseName())); + rootElement.appendChild(courseName); + } + + private void appendCentralLatitude() { + //centralLatitude element + Element centralLat = doc.createElement("CentralLatitude"); + centralLat.appendChild(doc.createTextNode(Double.toString(regattaDataSource.getRegatta().getCentralLatitude()))); + rootElement.appendChild(centralLat); + } + + private void appendCentralLongitude() { + //centralLongitude element + Element centralLong = doc.createElement("CentralLongitude"); + centralLong.appendChild(doc.createTextNode(Double.toString(regattaDataSource.getRegatta().getCentralLongitude()))); + rootElement.appendChild(centralLong); + } + + private void appendCentralAltitude() { + //centralAltitude element + Element centralAlt = doc.createElement("CentralAltitude"); + centralAlt.appendChild(doc.createTextNode(Double.toString(regattaDataSource.getRegatta().getCentralAltitude()))); + rootElement.appendChild(centralAlt); + } + + private void appedUtcOffset() { + //utcOffset element + Element utcOffset = doc.createElement("UtcOffset"); + utcOffset.appendChild(doc.createTextNode(Double.toString(regattaDataSource.getRegatta().getUtcOffset()))); + rootElement.appendChild(utcOffset); + + } + + private void appendMagneticVariation() { + //magneticVariation element + Element magneticVariation = doc.createElement("MagneticVariation"); + magneticVariation.appendChild(doc.createTextNode(Double.toString(regattaDataSource.getRegatta().getMagneticVariation()))); + rootElement.appendChild(magneticVariation); + + } + + private void appendChildElements() { + appendRegattaID(); + appendRegattaName(); + appendCourseName(); + appendCentralLatitude(); + appendCentralLongitude(); + appendCentralAltitude(); + appedUtcOffset(); + appendMagneticVariation(); + } } diff --git a/mock/src/main/java/seng302/Mock/RegattaDataSource.java b/mock/src/main/java/seng302/Mock/RegattaDataSource.java index 69219d94..5841fda5 100644 --- a/mock/src/main/java/seng302/Mock/RegattaDataSource.java +++ b/mock/src/main/java/seng302/Mock/RegattaDataSource.java @@ -1,5 +1,7 @@ package seng302.Mock; +import seng302.Model.Regatta; + /** * Created by zwu18 on 25/04/17. */ diff --git a/mock/src/main/java/seng302/Mock/Regatta.java b/mock/src/main/java/seng302/Model/Regatta.java similarity index 99% rename from mock/src/main/java/seng302/Mock/Regatta.java rename to mock/src/main/java/seng302/Model/Regatta.java index 3b749256..0060f2c4 100644 --- a/mock/src/main/java/seng302/Mock/Regatta.java +++ b/mock/src/main/java/seng302/Model/Regatta.java @@ -1,4 +1,4 @@ -package seng302.Mock; +package seng302.Model; /** * Created by jjg64 on 19/04/17. diff --git a/mock/src/main/java/seng302/Mock/RegattaXMLReader.java b/mock/src/main/java/seng302/RegattaXMLReader.java similarity index 96% rename from mock/src/main/java/seng302/Mock/RegattaXMLReader.java rename to mock/src/main/java/seng302/RegattaXMLReader.java index 5cca06ed..bcba6818 100644 --- a/mock/src/main/java/seng302/Mock/RegattaXMLReader.java +++ b/mock/src/main/java/seng302/RegattaXMLReader.java @@ -1,8 +1,10 @@ -package seng302.Mock; +package seng302; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; +import seng302.Mock.RegattaDataSource; +import seng302.Model.Regatta; import seng302.XMLReader; import javax.xml.parsers.ParserConfigurationException; diff --git a/mock/src/test/java/seng302/Mock/RegattaXMLTest.java b/mock/src/test/java/seng302/Mock/RegattaXMLTest.java index 1f67169b..bfc73b28 100644 --- a/mock/src/test/java/seng302/Mock/RegattaXMLTest.java +++ b/mock/src/test/java/seng302/Mock/RegattaXMLTest.java @@ -2,6 +2,8 @@ package seng302.Mock; import org.junit.Before; import org.junit.Test; +import seng302.Model.Regatta; +import seng302.RegattaXMLReader; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals;