From 1e45a6db07a465e495a96916092313df2d8806cb Mon Sep 17 00:00:00 2001 From: WickedJack99 Date: Mon, 4 Dec 2023 01:27:09 +0100 Subject: [PATCH] Made queues static so all classes can access them in a static way instead of adding references everywhere. --- src/main/java/controller/src/Controller.java | 4 ---- src/main/java/gui/src/View.java | 7 ------ src/main/java/gui/src/ViewThread.java | 15 ------------ src/main/java/main/src/Main.java | 23 ++++++++----------- .../queues/src/ControllerToViewQueue.java | 18 +++++++++++++++ .../queues/src/ViewToControllerQueue.java | 23 +++++++++++++++++++ 6 files changed, 51 insertions(+), 39 deletions(-) create mode 100644 src/main/java/queues/src/ControllerToViewQueue.java create mode 100644 src/main/java/queues/src/ViewToControllerQueue.java diff --git a/src/main/java/controller/src/Controller.java b/src/main/java/controller/src/Controller.java index 369ba0b..2843d42 100644 --- a/src/main/java/controller/src/Controller.java +++ b/src/main/java/controller/src/Controller.java @@ -4,10 +4,6 @@ */ package controller.src; -import java.util.Queue; - public interface Controller { public void start(); - public void setControllerToViewQueue(Queue queueControllerToView); - public void setViewToControllerQueue(Queue queueViewToController); } diff --git a/src/main/java/gui/src/View.java b/src/main/java/gui/src/View.java index 041c94b..dbd7df7 100644 --- a/src/main/java/gui/src/View.java +++ b/src/main/java/gui/src/View.java @@ -4,13 +4,6 @@ */ package gui.src; -import java.util.Queue; - -import controller.src.ControllerToViewData; -import controller.src.ViewToControllerData; - public interface View { public void start(); - public void setControllerToViewQueue(Queue queueControllerToView); - public void setViewToControllerQueue(Queue queueViewToController); } diff --git a/src/main/java/gui/src/ViewThread.java b/src/main/java/gui/src/ViewThread.java index 95a7c88..c967a49 100644 --- a/src/main/java/gui/src/ViewThread.java +++ b/src/main/java/gui/src/ViewThread.java @@ -4,18 +4,11 @@ */ package gui.src; -import java.util.Queue; - -import controller.src.ControllerToViewData; -import controller.src.ViewToControllerData; import gui.src.frames.MainFrame; public class ViewThread extends Thread implements View { private static final String className = "ViewThread"; - private Queue controllerToViewQueue; - private Queue viewToControllerQueue; - public void run() { MainFrame.start(); printMessage("Swing ui thread was started."); @@ -28,12 +21,4 @@ public class ViewThread extends Thread implements View { private static void printMessage(String message) { System.out.println(className + ": " + message); } - - public void setControllerToViewQueue(Queue controllerToViewQueue) { - this.controllerToViewQueue = controllerToViewQueue; - } - - public void setViewToControllerQueue(Queue viewToControllerQueue) { - this.viewToControllerQueue = viewToControllerQueue; - } } diff --git a/src/main/java/main/src/Main.java b/src/main/java/main/src/Main.java index 3d3695a..0eda5e9 100644 --- a/src/main/java/main/src/Main.java +++ b/src/main/java/main/src/Main.java @@ -4,31 +4,31 @@ */ package main.src; -import java.util.Queue; -import java.util.concurrent.ConcurrentLinkedQueue; - import controller.src.Controller; import controller.src.ControllerThread; -import controller.src.ControllerToViewData; -import controller.src.ViewToControllerData; + import gui.src.View; import gui.src.ViewThread; + import logger.src.MessageLogger; + import model.src.ModelRepresentation; +import queues.src.ControllerToViewQueue; +import queues.src.ViewToControllerQueue; + public final class Main { private static final String className = "Main"; public static void main(String[] args) { - Queue controllerToViewQueue = new ConcurrentLinkedQueue(); - Queue viewToControllerQueue = new ConcurrentLinkedQueue(); + ControllerToViewQueue.getInstance(); + MessageLogger.printMessage(className, "ControllerToViewQueue was created."); + ViewToControllerQueue.getInstance(); + MessageLogger.printMessage(className, "ViewToControllerQueue was created."); View view = new ViewThread(); MessageLogger.printMessage(className, "View was created."); - view.setControllerToViewQueue(controllerToViewQueue); - view.setViewToControllerQueue(viewToControllerQueue); - MessageLogger.printMessage(className, "Queues were added to view."); view.start(); MessageLogger.printMessage(className, "View was started."); @@ -37,9 +37,6 @@ public final class Main { Controller controller = new ControllerThread(view, model); MessageLogger.printMessage(className, "Controller was created."); - controller.setControllerToViewQueue(controllerToViewQueue); - controller.setViewToControllerQueue(viewToControllerQueue); - MessageLogger.printMessage(className, "Queues were added to controller."); controller.start(); MessageLogger.printMessage(className, "Controller was started."); } diff --git a/src/main/java/queues/src/ControllerToViewQueue.java b/src/main/java/queues/src/ControllerToViewQueue.java new file mode 100644 index 0000000..ec8b608 --- /dev/null +++ b/src/main/java/queues/src/ControllerToViewQueue.java @@ -0,0 +1,18 @@ +/** + * @author Aaron Moser + * @date 04.12.2023 + */ +package queues.src; + +import java.util.concurrent.ConcurrentLinkedQueue; + +public class ControllerToViewQueue extends ConcurrentLinkedQueue { + private static ControllerToViewQueue controllerToViewQueueInstance; + + public static ControllerToViewQueue getInstance() { + if (null == controllerToViewQueueInstance) { + controllerToViewQueueInstance = new ControllerToViewQueue(); + } + return controllerToViewQueueInstance; + } +} diff --git a/src/main/java/queues/src/ViewToControllerQueue.java b/src/main/java/queues/src/ViewToControllerQueue.java new file mode 100644 index 0000000..2342d1b --- /dev/null +++ b/src/main/java/queues/src/ViewToControllerQueue.java @@ -0,0 +1,23 @@ +/** + * @author Aaron Moser + * @date 04.12.2023 + */ +package queues.src; + +import java.util.concurrent.ConcurrentLinkedQueue; + +import data.src.ViewToControllerData; + +/** + * + */ +public class ViewToControllerQueue extends ConcurrentLinkedQueue { + private static ViewToControllerQueue viewToControllerQueueInstance; + + public static ViewToControllerQueue getInstance() { + if (null == viewToControllerQueueInstance) { + viewToControllerQueueInstance = new ViewToControllerQueue(); + } + return viewToControllerQueueInstance; + } +}