Moved functionality to functions.

This commit is contained in:
WickedJack99
2023-12-30 12:23:26 +01:00
parent 7edec6c07a
commit daa501ba6d

View File

@@ -4,6 +4,8 @@
*/
package controller.src;
import javax.xml.crypto.Data;
import connect.src.Client;
import connect.src.TLSClient;
import controller.src.DataProcessing.DataProcessorThread;
@@ -21,7 +23,7 @@ import data.src.ViewToController.ViewToControllerData;
import data.src.ViewToController.ViewToControllerData.ViewEvent;
import logger.src.MessageLogger;
import model.src.Model;
import model.src.ModelRepresentation;
import model.src.ConnectionModel.ConnectionStatus;
import queues.src.ControllerToViewQueue;
@@ -31,11 +33,13 @@ import queues.src.ViewToControllerQueue;
public class ControllerThread extends Thread implements Controller {
private static final String className = "ControllerThread";
private ModelRepresentation model;
private final static boolean SUCCESSFUL = true;
private Model model;
private Client client;
public ControllerThread(ModelRepresentation model) {
public ControllerThread(Model model) {
this.model = model;
}
@@ -72,39 +76,31 @@ public class ControllerThread extends Thread implements Controller {
* necessary to establish a connection to a server.
* @param viewToControllerData
*/
private void handleConnectToServerButtonWasPressed(ViewToControllerData viewToControllerData) {
private void handleConnectToServerButtonWasPressed(ViewToControllerData data) {
this.model.getConnectionModel().setConnectionStatus(ConnectionStatus.Pending);
ConnectToServerData connectToServerData = (ConnectToServerData)data;
String ipAddress = connectToServerData.getIPAddress();
int port = connectToServerData.getPort();
String ipAddress = ((ConnectToServerData)viewToControllerData).getIPAddress();
int port = ((ConnectToServerData)viewToControllerData).getPort();
boolean validIP = Validate.isValidIPv4Address(ipAddress);
boolean validIP = Validate.isValidIPv4Address(ipAddress);
boolean validPort = Validate.isValidPort(port, 1, 60000);
MessageLogger.printMessage(className, "IP: " + validIP + ", Port: " + validPort);
if (validIP) {
if (validPort) {
ControllerToConnectionClientData connectToServerData;
connectToServerData = new ConnectToServer();
((ConnectToServer)connectToServerData).setIPAddress(ipAddress);
((ConnectToServer)connectToServerData).setPort(port);
String trustStorePath = ((ConnectToServerData)viewToControllerData).getTrustStorePath();
((ConnectToServer)connectToServerData).setTruststorePath(trustStorePath);
String trustStorePassword = ((ConnectToServerData)viewToControllerData).getTrustStorePassword();
((ConnectToServer)connectToServerData).setTruststorePassword(trustStorePassword);
this.client = new TLSClient();
if (this.client.createConnection(connectToServerData) == true) {
DataProcessorThread.getInstance().start();
this.client.startReceiver();
this.client.startSender();
//SendingQueue.getInstance().add("getSysInf");
SendingQueue.getInstance().add("getCon");
//SendingQueue.getInstance().add("getNFTConf");
if (this.client.createConnection(viewToControllerToClientConnectData(connectToServerData)) == SUCCESSFUL) {
startThreads();
this.model.getConnectionModel().setConnectionStatus(ConnectionStatus.Connected);
ControllerToViewData controllerToViewData = new ConnectToServerSuccessful();
ControllerToViewQueue.getInstance().add(controllerToViewData);
//SendingQueue.getInstance().add("getSysInf");
//SendingQueue.getInstance().add("getCon");
SendingQueue.getInstance().add("getNFTConf");
}
} else {
//TODO send event to view that port is not valid.
@@ -113,4 +109,20 @@ public class ControllerThread extends Thread implements Controller {
//TODO send event to view that ip is not valid.
}
}
private ConnectToServer viewToControllerToClientConnectData(ConnectToServerData connectToServerDataView) {
ConnectToServer connectToServerData = new ConnectToServer();
connectToServerData.setIPAddress(connectToServerDataView.getIPAddress());
connectToServerData.setPort(connectToServerDataView.getPort());
connectToServerData.setTruststorePath(connectToServerDataView.getTrustStorePath());
connectToServerData.setTruststorePassword(connectToServerDataView.getTrustStorePassword());
return connectToServerData;
}
private void startThreads() {
DataProcessorThread.getInstance().start();
DataProcessorThread.getInstance().setModel(model);
this.client.startReceiver();
this.client.startSender();
}
}