package seng302; import javafx.application.Application; import javafx.stage.Stage; import org.w3c.dom.Document; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import seng302.DataInput.XMLReader; import seng302.Model.Event; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class App extends Application { /** * Entry point for running the programme * * @param args for starting the programme */ public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { try { String regattaXML = readFile("mockXML/regattaTest.xml", StandardCharsets.UTF_8); String raceXML = readFile("mockXML/raceTest.xml", StandardCharsets.UTF_8); String boatXML = readFile("mockXML/boatTest.xml", StandardCharsets.UTF_8); Event raceEvent = new Event(raceXML, regattaXML, boatXML); raceEvent.start(); } catch (IOException e) { e.printStackTrace(); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (TransformerException e) { e.printStackTrace(); } } private String readFile(String path, Charset encoding) throws IOException, ParserConfigurationException, SAXException, TransformerException { InputSource fXmlFile = new InputSource(getClass().getClassLoader().getResourceAsStream(path)); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(fXmlFile); doc.getDocumentElement().normalize(); return XMLReader.getContents(doc); } }