Changed the XML reader to take an InputStream rather than InputSource- this has changed everything that used an InputSource to use an InputStream. Made the XML Readers actually read after they received a new InputStream. Changed it so the table updates when the boats in the race change. #pair[jjg64, cbt24] #story[782]
This commit is contained in:
@@ -96,7 +96,7 @@ public class BinaryMessageDecoder {
|
||||
// System.out.println("XML Message!");
|
||||
XMLMessageDecoder xmdecoder = new XMLMessageDecoder(this.message);
|
||||
xmdecoder.decode();
|
||||
data = new XMLMessage(xmdecoder.getAckNumber(), xmdecoder.getTimeStamp(), xmdecoder.getXmlMsgSubType(), xmdecoder.getSequenceNumber(), xmdecoder.getXmlMsgLength(), xmdecoder.getXmlMessageInputSource());
|
||||
data = new XMLMessage(xmdecoder.getAckNumber(), xmdecoder.getTimeStamp(), xmdecoder.getXmlMsgSubType(), xmdecoder.getSequenceNumber(), xmdecoder.getXmlMsgLength(), xmdecoder.getXmlMessageInputStream());
|
||||
break;
|
||||
case RACESTARTSTATUS:
|
||||
// System.out.println("Race Start Status Message");
|
||||
|
||||
@@ -2,9 +2,12 @@ package seng302.Networking.MessageDecoders;
|
||||
|
||||
import org.xml.sax.InputSource;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.StringReader;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Arrays;
|
||||
|
||||
import static seng302.Networking.Utils.ByteConverter.bytesToLong;
|
||||
@@ -74,8 +77,9 @@ public class XMLMessageDecoder {
|
||||
* this will be used latter for the vis
|
||||
* @return xml string as inputsource
|
||||
*/
|
||||
public InputSource getXmlMessageInputSource() {
|
||||
InputSource is = new InputSource(new StringReader(xmlMessage.trim()));
|
||||
public InputStream getXmlMessageInputStream() {
|
||||
InputStream is = new ByteArrayInputStream(xmlMessage.trim().getBytes(StandardCharsets.UTF_8));
|
||||
// InputSource is = new InputSource(new StringReader(xmlMessage.trim()));
|
||||
return is;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@ package seng302.Networking.Utils;
|
||||
|
||||
import org.xml.sax.InputSource;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
/**
|
||||
* Created by fwy13 on 25/04/17.
|
||||
*/
|
||||
@@ -12,13 +14,13 @@ public class XMLMessage extends AC35Data{
|
||||
private int xmlMsgSubType;
|
||||
private int sequenceNumber;
|
||||
private int xmlMsgLength;
|
||||
private InputSource xmlMessage;
|
||||
private InputStream xmlMessage;
|
||||
|
||||
public static int XMLTypeRegatta = 5;
|
||||
public static int XMLTypeRace = 6;
|
||||
public static int XMLTypeBoat = 7;
|
||||
|
||||
public XMLMessage(int ackNumber, long timeStamp, int xmlMsgSubType, int sequenceNumber, int xmlMsgLength, InputSource xmlMessage){
|
||||
public XMLMessage(int ackNumber, long timeStamp, int xmlMsgSubType, int sequenceNumber, int xmlMsgLength, InputStream xmlMessage){
|
||||
super(MessageType.XMLMESSAGE);
|
||||
this.ackNumber = ackNumber;
|
||||
this.timeStamp = timeStamp;
|
||||
@@ -28,7 +30,7 @@ public class XMLMessage extends AC35Data{
|
||||
this.xmlMessage = xmlMessage;
|
||||
}
|
||||
|
||||
public InputSource getXmlMessage() {
|
||||
public InputStream getXmlMessage() {
|
||||
return xmlMessage;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user