Set race to send out status messages (including boat location details)

- Untested, so not sure of accuracy yet

#story[778]
main
Erika Savell 9 years ago
parent e2f3abffc6
commit bbd282bd9b

@ -26,11 +26,6 @@ public class Event {
RaceDataSource raceDataSource; RaceDataSource raceDataSource;
RegattaDataSource regattaDataSource; RegattaDataSource regattaDataSource;
//Sequence numbers for XML messages.
private short regattaXMLSequenceNumber = 0;
private short raceXMLSequenceNumber = 0;
private short boatXMLSequenceNumber = 0;
MockOutput mockOutput; MockOutput mockOutput;
public Event(RaceDataSource raceData, RegattaDataSource regattaData) { public Event(RaceDataSource raceData, RegattaDataSource regattaData) {
@ -45,15 +40,11 @@ public class Event {
} }
public void start() { public void start() {
System.out.println("\nREGATTA DATA\n");//TEMP REMOVE debug
sendRegattaData(); sendRegattaData();
System.out.println("\nRACE DATA\n");//TEMP REMOVE debug
sendRaceData(); sendRaceData();
//System.out.println("\nBOAT DATA\n");//TEMP REMOVE debug
sendBoatData(); sendBoatData();
//System.out.println("RACE STARTING!!\n\n");//TEMP REMOVE debug
Race newRace = new Race(raceDataSource, 15, mockOutput); Race newRace = new Race(raceDataSource, 15, mockOutput);
new Thread((newRace)).start(); new Thread((newRace)).start();
} }

@ -173,7 +173,7 @@ public class Race implements Runnable {
} }
} }
RaceStatus raceStatus = new RaceStatus(totalTimeElapsed, raceId, 3, 2, boatStatusMessages); RaceStatus raceStatus = new RaceStatus(totalTimeElapsed, raceId, 3, 2, boatStatusMessages);
mockOutput.parseRaceStatus(); mockOutput.parseRaceStatus(raceStatus);
} }
} }
}.start(); }.start();

@ -101,11 +101,23 @@ public class MockOutput implements Runnable
addMessageToBufferToSend(binaryMessageEncoder.getFullMessage()); addMessageToBufferToSend(binaryMessageEncoder.getFullMessage());
} }
public synchronized void parseRaceStatus(RaceStatus raceStatus){ public synchronized void parseRaceStatus(RaceStatus raceStatus){
//iterates the sequence number
raceStatusSequenceNumber++;
//encodeds the messages
byte[] encodedRaceStatus = messageEncoder.raceStatus(raceStatus);
//encodeds the full message with header
BinaryMessageEncoder binaryMessageEncoder = new BinaryMessageEncoder(MessageType.RACESTATUS, System.currentTimeMillis(), messageNumber, (short)encodedRaceStatus.length,
encodedRaceStatus);
//iterates the message number
messageNumber++;
addMessageToBufferToSend(binaryMessageEncoder.getFullMessage());
} }

Loading…
Cancel
Save