From 85f461c88c1e6a00282bbf1b39eec2020fdcb402 Mon Sep 17 00:00:00 2001 From: William Muir Date: Sun, 30 Apr 2017 17:08:06 +1200 Subject: [PATCH] Fixed bug so XML messages are located and sent properly on the server Imported appache commons to read inputstream to a bytearray #story[829] --- pom.xml | 5 +++++ src/main/java/seng302/App.java | 2 +- src/main/java/seng302/server/ServerThread.java | 18 ++++++++++++------ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 524b4562..8d10c6fc 100644 --- a/pom.xml +++ b/pom.xml @@ -20,6 +20,11 @@ 4.12 test + + org.apache.commons + commons-io + 1.3.2 + com.googlecode.json-simple json-simple diff --git a/src/main/java/seng302/App.java b/src/main/java/seng302/App.java index b1e68e98..6baafb6c 100644 --- a/src/main/java/seng302/App.java +++ b/src/main/java/seng302/App.java @@ -16,7 +16,7 @@ public class App extends Application primaryStage.setTitle("RaceVision"); primaryStage.setScene(new Scene(root)); - primaryStage.show(); +// primaryStage.show(); } public static void main(String[] args) { diff --git a/src/main/java/seng302/server/ServerThread.java b/src/main/java/seng302/server/ServerThread.java index 2bb36072..7de30449 100644 --- a/src/main/java/seng302/server/ServerThread.java +++ b/src/main/java/seng302/server/ServerThread.java @@ -3,8 +3,11 @@ package seng302.server; import seng302.server.messages.*; import seng302.server.simulator.Boat; import seng302.server.simulator.Simulator; +import sun.misc.IOUtils; import java.io.IOException; +import java.io.InputStream; +import java.net.URL; import java.nio.file.Files; import java.nio.file.Paths; import java.util.*; @@ -56,11 +59,11 @@ public class ServerThread implements Runnable, Observer { String fileContents = null; try { - fileContents = new String(Files.readAllBytes(Paths.get(this.getClass().getResource(fileName).getPath().substring(1)))); + InputStream thisStream = this.getClass().getResourceAsStream(fileName); + fileContents = new String(org.apache.commons.io.IOUtils.toByteArray(thisStream)); } catch (IOException e) { e.printStackTrace(); - } - catch (NullPointerException e){ + } catch (NullPointerException e){ return null; } @@ -206,20 +209,23 @@ public class ServerThread implements Runnable, Observer { */ private void sendXml(){ try{ - Message raceData = getXmlMessage("server_config/race.xml", XMLMessageSubType.RACE); - Message boatData = getXmlMessage("server_config/boats.xml", XMLMessageSubType.BOAT); - Message regatta = getXmlMessage("server_config/regatta.xml", XMLMessageSubType.REGATTA); + Message raceData = getXmlMessage("/server_config/race.xml", XMLMessageSubType.RACE); + Message boatData = getXmlMessage("/server_config/boats.xml", XMLMessageSubType.BOAT); + Message regatta = getXmlMessage("/server_config/regatta.xml", XMLMessageSubType.REGATTA); if (raceData != null){ server.send(raceData); + serverLog("Sending race data", 0); } if (boatData != null){ server.send(boatData); + serverLog("Sending boat data", 0); } if (regatta != null){ server.send(regatta); + serverLog("Sending regatta data", 0); } } catch (IOException e) { serverLog("Couldn't send an XML Message: " + e.getMessage(), 0);