small refactor of the VisualiserInput to better use the decoder

#story[782]
This commit is contained in:
hba56
2017-04-28 11:30:43 +12:00
parent a18eb86438
commit 04a1e70920
3 changed files with 24 additions and 17 deletions
@@ -12,4 +12,7 @@ public abstract class AC35Data {
this.type = type;
}
public MessageType getType() {
return type;
}
}
@@ -28,4 +28,7 @@ public class XMLMessage extends AC35Data{
this.xmlMessage = xmlMessage;
}
public InputSource getXmlMessage() {
return xmlMessage;
}
}
@@ -55,10 +55,13 @@ public class VisualiserInput
//decode the binary message into readable date
BinaryMessageDecoder testDecoder = new BinaryMessageDecoder(binaryMessage);
testDecoder.decode();
AC35Data data = testDecoder.decode();
if (data == null){
continue;
}
//checks which message is being received and does what is needed for that message
MessageType mType = MessageType.valueOf((byte) testDecoder.getMessageType());
MessageType mType = data.getType();
switch (mType) {
case HEARTBEAT:
lastHeartbeatTime = System.currentTimeMillis();
@@ -67,47 +70,45 @@ public class VisualiserInput
System.out.println("HeartBeat Message! " + heartbeatSeqNum);
break;
case RACESTATUS:
// System.out.println("Race Status Message");
System.out.println("Race Status Message");
break;
case DISPLAYTEXTMESSAGE:
// System.out.println("Display Text Message");
System.out.println("Display Text Message");
//no decoder for this.
break;
case XMLMESSAGE:
// System.out.println("XML Message!");
XMLMessageDecoder xmlMessageDecoder = new XMLMessageDecoder(testDecoder.getMessage());
xmlMessageDecoder.decode();
System.out.println(xmlMessageDecoder.getXmlMessageInputSource());
System.out.println("XML Message!");
System.out.println(((XMLMessage)data).getXmlMessage());
break;
case RACESTARTSTATUS:
// System.out.println("Race Start Status Message");
System.out.println("Race Start Status Message");
break;
case YACHTEVENTCODE:
// System.out.println("Yacht Action Code!");
System.out.println("Yacht Action Code!");
//no decoder
break;
case YACHTACTIONCODE:
// System.out.println("Yacht Action Code!");
System.out.println("Yacht Action Code!");
//no decoder
break;
case CHATTERTEXT:
// System.out.println("Chatter Text Message!");
System.out.println("Chatter Text Message!");
//no decoder
break;
case BOATLOCATION:
// System.out.println("Boat Location Message!");
System.out.println("Boat Location Message!");
break;
case MARKROUNDING:
// System.out.println("Mark Rounding Message!");
System.out.println("Mark Rounding Message!");
break;
case COURSEWIND:
// System.out.println("Course Wind Message!");
System.out.println("Course Wind Message!");
break;
case AVGWIND:
// System.out.println("Average Wind Message!");
System.out.println("Average Wind Message!");
break;
default:
// System.out.println("Broken Message!");
System.out.println("Broken Message!");
break;
}