From daa501ba6de9751e1cd05885e6cd6c13d8d0f080 Mon Sep 17 00:00:00 2001 From: WickedJack99 Date: Sat, 30 Dec 2023 12:23:26 +0100 Subject: [PATCH] Moved functionality to functions. --- .../java/controller/src/ControllerThread.java | 60 +++++++++++-------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/src/main/java/controller/src/ControllerThread.java b/src/main/java/controller/src/ControllerThread.java index f7f086a..5ccbc13 100644 --- a/src/main/java/controller/src/ControllerThread.java +++ b/src/main/java/controller/src/ControllerThread.java @@ -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(); + } }