From c0dbab44a27b5c27de689f08c9eb3d04ae71258b Mon Sep 17 00:00:00 2001 From: Bram Veenboer Date: Wed, 23 Feb 2011 09:19:12 +0000 Subject: [PATCH] Wederom verder gewerkt aan de items in de TODO lijst. --- java/src/pm/Application.java | 10 -------- java/src/pm/Device.java | 1 - java/src/pm/Main.java | 23 +++++++++++++++---- java/src/pm/device/text/TextDevice.java | 2 +- .../src/pm/device/text/lan/LanTextDevice.java | 6 ++--- java/src/pm/task/TaskManager.java | 4 ++++ java/src/pm/todo/TODO | 5 ++-- 7 files changed, 29 insertions(+), 22 deletions(-) diff --git a/java/src/pm/Application.java b/java/src/pm/Application.java index 9b90a32..9ab43a1 100644 --- a/java/src/pm/Application.java +++ b/java/src/pm/Application.java @@ -8,16 +8,6 @@ import pm.task.TaskListener; public abstract class Application extends TaskListener { public Application() { super(); - TaskManager.add(this); - } - - public void run() { - try { - initialise(); - super.run(); - } catch (ApplicationInitialiseException e) { - e.printStackTrace(); // Todo: dit "over" de thread heengooien / loggen? - } } public void initialise() throws ApplicationInitialiseException {} diff --git a/java/src/pm/Device.java b/java/src/pm/Device.java index a5f1cf7..16c6046 100644 --- a/java/src/pm/Device.java +++ b/java/src/pm/Device.java @@ -19,7 +19,6 @@ public abstract class Device extends TaskListener { public Device() { super(); sequenceListener = new SequenceListener(); - TaskManager.add(this); } /* Register macro's */ diff --git a/java/src/pm/Main.java b/java/src/pm/Main.java index 2a2339c..8502ec2 100644 --- a/java/src/pm/Main.java +++ b/java/src/pm/Main.java @@ -16,6 +16,7 @@ import pm.device.text.TextDevice; import pm.device.text.lan.LanTextDevice; import pm.device.wiimote.WiimoteDevice; import pm.exception.application.ApplicationExitException; +import pm.exception.application.ApplicationInitialiseException; import pm.exception.device.DeviceExitException; import pm.exception.device.DeviceInitialiseException; import pm.task.TaskManager; @@ -51,7 +52,9 @@ public class Main extends TaskListener { for (Device device : deviceList) { try { device.initialise(); + device.start(); } catch (DeviceInitialiseException e) { + remove(device); e.printStackTrace(); } } @@ -62,7 +65,13 @@ public class Main extends TaskListener { //add(new WinampApplication()); add(new iTunesApplication()); for (Application application : applicationCycle) { - application.start(); + try { + application.initialise(); + application.start(); + } catch (ApplicationInitialiseException e) { + remove(application); + e.printStackTrace(); + } } } @@ -126,19 +135,23 @@ public class Main extends TaskListener { /* Add / remove methods */ protected void add(Application application) { + TaskManager.add(application); applicationCycle.add(application); } - protected boolean remove(Application application) { - return applicationCycle.remove(application); + protected void remove(Application application) { + TaskManager.remove(application); + applicationCycle.remove(application); } protected void add(Device device) { + TaskManager.add(device); deviceList.add(device); } - protected boolean remove(Device device) { - return deviceList.remove(device); + protected void remove(Device device) { + TaskManager.remove(device); + deviceList.remove(device); } public static void main(String[] args) { diff --git a/java/src/pm/device/text/TextDevice.java b/java/src/pm/device/text/TextDevice.java index a98dfd0..60d6dee 100644 --- a/java/src/pm/device/text/TextDevice.java +++ b/java/src/pm/device/text/TextDevice.java @@ -2,7 +2,7 @@ package pm.device.text; import pm.Device; -public class TextDevice extends Device implements Runnable { +public class TextDevice extends Device { InputListener inputListener; public TextDevice() { diff --git a/java/src/pm/device/text/lan/LanTextDevice.java b/java/src/pm/device/text/lan/LanTextDevice.java index 54ab8a7..dcc0dff 100644 --- a/java/src/pm/device/text/lan/LanTextDevice.java +++ b/java/src/pm/device/text/lan/LanTextDevice.java @@ -8,13 +8,13 @@ import pm.exception.device.DeviceInitialiseException; public class LanTextDevice extends Device { static final int PORT = 1234; - protected ServerSocket socket; + protected ServerSocket server; protected SocketListener socketListener; public void initialise() throws DeviceInitialiseException { try { - socket = new ServerSocket(PORT); - socketListener = new SocketListener(socket); + server = new ServerSocket(PORT); + socketListener = new SocketListener(server); socketListener.start(); } catch (IOException e) { throw new DeviceInitialiseException(); diff --git a/java/src/pm/task/TaskManager.java b/java/src/pm/task/TaskManager.java index ca3c4b8..1ada386 100644 --- a/java/src/pm/task/TaskManager.java +++ b/java/src/pm/task/TaskManager.java @@ -55,4 +55,8 @@ public class TaskManager { } } } + + public static void remove(TaskListener taskListener) { + taskListenerList.remove(taskListener); + } } \ No newline at end of file diff --git a/java/src/pm/todo/TODO b/java/src/pm/todo/TODO index 3b7e55e..c880ce5 100644 --- a/java/src/pm/todo/TODO +++ b/java/src/pm/todo/TODO @@ -1,6 +1,5 @@ TODO ------------ - log bijhouden mappings lezen vanuit config bestand @@ -21,7 +20,6 @@ mogelijkheid tot webstart onderzoeken alle listeners in gezamelijk pakket plaatsen? -algemene listener parent class / interface maken? die zou standaard thread functies implementeren / vereisen: start, run, stop IN PROGRESS ------------- @@ -38,6 +36,9 @@ logo ontwerpen feedback systeem implementeren, rumble voor zowel wiimote als rumblepad +feedback voor rumblepad komt er niet, te veel werk en gebruikte api lijkt niet eenvoudig aanpasbaar +algemene listener parent class / interface maken? die zou standaard thread functies implementeren / vereisen: start, run, stop ++hier zijn al enkele aanpassingen aan gemaakt, de main stuurt nu direct de TaskManager aan in plaats van dat het vannuit een Device of Application gebeurd + DONE ------------- lantextdevice generiek maken met normale textdevice \ No newline at end of file