Cherry-picked CommandFactory connection between ControllerServer and RaceLogic.

#story[1096]
This commit is contained in:
Connor Taylor-Brown
2017-08-07 14:25:30 +12:00
parent e76de1cbf9
commit 55798447ab
3 changed files with 21 additions and 10 deletions
@@ -1,20 +1,17 @@
package mock.app;
import mock.model.RaceLogic;
import network.Messages.Enums.XMLMessageType;
import network.Messages.LatestMessages;
import network.Messages.XMLMessage;
import org.mockito.Mock;
import visualiser.gameController.ControllerServer;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Array;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ArrayBlockingQueue;
/**
@@ -43,6 +40,10 @@ public class ConnectionAcceptor implements Runnable {
private short boatXMLSequenceNumber;
//regatta xml sequence number
private short regattaXMLSequenceNumber;
//controller server
private ControllerServer controllerServer;
//
private RaceLogic rl = null;
/**
* Connection Acceptor Constructor
@@ -65,6 +66,11 @@ public class ConnectionAcceptor implements Runnable {
return serverPort;
}
public void setRace(RaceLogic rl){
this.rl = rl;
}
/**
* Run the Acceptor
*/
@@ -76,7 +82,7 @@ public class ConnectionAcceptor implements Runnable {
Socket mockSocket = serverSocket.accept();
DataOutputStream outToVisualiser = new DataOutputStream(mockSocket.getOutputStream());
MockOutput mockOutput = new MockOutput(latestMessages, outToVisualiser);
ControllerServer controllerServer = new ControllerServer(mockSocket);
this.controllerServer = new ControllerServer(mockSocket, rl);
new Thread(mockOutput).start();
new Thread(controllerServer).start();
mockOutputList.add(mockOutput);
@@ -94,6 +94,8 @@ public class Event {
//Create and start race.
RaceLogic newRace = new RaceLogic(new MockRace(boatDataSource, raceDataSource, regattaDataSource, this.latestMessages, this.boatPolars, Constants.RaceTimeScale), this.latestMessages);
mockOutput.setRace(newRace);
new Thread(newRace).start();
}