From 0cc4a736119d94b70ab54fc5d2cd97bff2993a1f Mon Sep 17 00:00:00 2001 From: Rik Veenboer Date: Fri, 25 Feb 2011 15:47:09 +0000 Subject: [PATCH] --- java/header.bat | 2 - java/src/pm/Application.java | 6 +-- java/src/pm/Device.java | 8 ++-- java/src/pm/Listener.java | 13 +++++- java/src/pm/Macro.java | 3 +- java/src/pm/Main.java | 20 +++++----- java/src/pm/device/gui/GUIDeviceUI.java | 22 +++++----- .../device/javainput/JavaInputListener.java | 1 - .../javainput/rumblepad/RumblepadDevice.java | 4 +- java/src/pm/device/jintellitype/Hotkey.java | 6 +-- .../jintellitype/JIntellitypeDevice.java | 25 +++++++----- java/src/pm/device/text/InputListener.java | 4 +- java/src/pm/device/wiimote/WiimoteDevice.java | 4 +- .../EventListener.java} | 9 ++--- .../EventManager.java} | 40 +++++++++---------- java/src/pm/{ => event}/task/Continuous.java | 2 +- java/src/pm/{ => event}/task/Dynamic.java | 2 +- java/src/pm/{ => event}/task/Stopper.java | 2 +- .../{state => macro}/StateOrderException.java | 2 +- java/src/pm/macro/SequenceListener.java | 12 +++--- 20 files changed, 96 insertions(+), 91 deletions(-) delete mode 100644 java/header.bat rename java/src/pm/{task/TaskListener.java => event/EventListener.java} (82%) rename java/src/pm/{task/TaskManager.java => event/EventManager.java} (54%) rename java/src/pm/{ => event}/task/Continuous.java (92%) rename java/src/pm/{ => event}/task/Dynamic.java (91%) rename java/src/pm/{ => event}/task/Stopper.java (89%) rename java/src/pm/exception/{state => macro}/StateOrderException.java (85%) diff --git a/java/header.bat b/java/header.bat deleted file mode 100644 index ff77e28..0000000 --- a/java/header.bat +++ /dev/null @@ -1,2 +0,0 @@ -javah -classpath bin wiiusej.WiiUseApi -pause \ No newline at end of file diff --git a/java/src/pm/Application.java b/java/src/pm/Application.java index 9ab43a1..34e0985 100644 --- a/java/src/pm/Application.java +++ b/java/src/pm/Application.java @@ -1,11 +1,11 @@ package pm; +import pm.event.EventListener; +import pm.event.EventManager; import pm.exception.application.ApplicationExitException; import pm.exception.application.ApplicationInitialiseException; -import pm.task.TaskManager; -import pm.task.TaskListener; -public abstract class Application extends TaskListener { +public abstract class Application extends EventListener { public Application() { super(); } diff --git a/java/src/pm/Device.java b/java/src/pm/Device.java index 8221041..55b6111 100644 --- a/java/src/pm/Device.java +++ b/java/src/pm/Device.java @@ -1,6 +1,9 @@ package pm; import pm.event.Task; +import pm.event.EventListener; +import pm.event.task.Continuous; +import pm.event.task.Stopper; import pm.exception.device.DeviceExitException; import pm.exception.device.DeviceInitialiseException; import pm.macro.Sequence; @@ -9,11 +12,8 @@ import pm.macro.State; import pm.macro.state.Hold; import pm.macro.state.Press; import pm.macro.state.Release; -import pm.task.Continuous; -import pm.task.Stopper; -import pm.task.TaskListener; -public abstract class Device extends TaskListener { +public abstract class Device extends EventListener { protected SequenceListener sequenceListener; public Device() { diff --git a/java/src/pm/Listener.java b/java/src/pm/Listener.java index bb0d1af..b68d0f6 100644 --- a/java/src/pm/Listener.java +++ b/java/src/pm/Listener.java @@ -1,13 +1,22 @@ package pm; public abstract class Listener implements Runnable { + protected static final boolean THREAD = true; protected static final int SLEEP = 100; protected boolean run; - public void start() { + public void start(boolean thread) { run = true; - new Thread(this).start(); + if (thread) { + new Thread(this).start(); + } else { + run(); + } + } + + public void start() { + start(THREAD); } public void stop() { diff --git a/java/src/pm/Macro.java b/java/src/pm/Macro.java index 3fd950b..e04fbed 100644 --- a/java/src/pm/Macro.java +++ b/java/src/pm/Macro.java @@ -2,8 +2,7 @@ package pm; import java.util.ArrayList; -import pm.exception.MacroException; -import pm.exception.state.StateOrderException; +import pm.exception.macro.StateOrderException; import pm.macro.Sequence; import pm.macro.State; import pm.macro.state.Hold; diff --git a/java/src/pm/Main.java b/java/src/pm/Main.java index 0fd1e44..9367b2a 100644 --- a/java/src/pm/Main.java +++ b/java/src/pm/Main.java @@ -15,15 +15,15 @@ import pm.device.player.PlayerDevice; import pm.device.text.TextDevice; import pm.device.text.lan.LanTextDevice; import pm.device.wiimote.WiimoteDevice; +import pm.event.EventListener; +import pm.event.EventManager; import pm.exception.application.ApplicationExitException; import pm.exception.application.ApplicationInitialiseException; import pm.exception.device.DeviceExitException; import pm.exception.device.DeviceInitialiseException; -import pm.task.TaskManager; -import pm.task.TaskListener; import pm.value.Action; -public class Main extends TaskListener { +public class Main extends EventListener { //protected String[] deviceClassArray; protected ApplicationCycle applicationCycle; protected ArrayList deviceList; @@ -37,8 +37,8 @@ public class Main extends TaskListener { "pm.device.wiimote.WiimoteDevice"};*/ applicationCycle = new ApplicationCycle(); deviceList = new ArrayList(); - TaskManager.initialise(applicationCycle); - TaskManager.add(this); + EventManager.initialise(applicationCycle); + EventManager.add(this); } public void initialise() throws DeviceInitialiseException { @@ -133,22 +133,22 @@ public class Main extends TaskListener { /* Add / remove methods */ protected void add(Application application) { - TaskManager.add(application); + EventManager.add(application); applicationCycle.add(application); } protected void remove(Application application) { - TaskManager.remove(application); + EventManager.remove(application); applicationCycle.remove(application); } protected void add(Device device) { - TaskManager.add(device); + EventManager.add(device); deviceList.add(device); } protected void remove(Device device) { - TaskManager.remove(device); + EventManager.remove(device); deviceList.remove(device); } @@ -156,7 +156,7 @@ public class Main extends TaskListener { try { Main main = new Main(); main.initialise(); - main.run(); + main.start(false); } catch (Exception e) { e.printStackTrace(); } diff --git a/java/src/pm/device/gui/GUIDeviceUI.java b/java/src/pm/device/gui/GUIDeviceUI.java index 7565a03..733f79d 100644 --- a/java/src/pm/device/gui/GUIDeviceUI.java +++ b/java/src/pm/device/gui/GUIDeviceUI.java @@ -7,7 +7,7 @@ import javax.swing.JButton; import javax.swing.JFrame; import pm.event.Task; -import pm.task.TaskManager; +import pm.event.EventManager; import pm.value.Action; import pm.value.Target; @@ -158,42 +158,42 @@ public class GUIDeviceUI extends JFrame { } protected void playAction(ActionEvent e) { - TaskManager.add(new Task(Action.PLAY, Target.APPLICATION)); + EventManager.add(new Task(Action.PLAY, Target.APPLICATION)); } protected void pauseAction(ActionEvent e) { - TaskManager.add(new Task(Action.PAUSE, Target.APPLICATION)); + EventManager.add(new Task(Action.PAUSE, Target.APPLICATION)); } protected void resumeAction(ActionEvent e) { - TaskManager.add(new Task(Action.RESUME, Target.APPLICATION)); + EventManager.add(new Task(Action.RESUME, Target.APPLICATION)); } protected void nextAction(ActionEvent e) { - TaskManager.add(new Task(Action.NEXT, Target.APPLICATION)); + EventManager.add(new Task(Action.NEXT, Target.APPLICATION)); } protected void previousAction(ActionEvent e) { - TaskManager.add(new Task(Action.PREVIOUS, Target.APPLICATION)); + EventManager.add(new Task(Action.PREVIOUS, Target.APPLICATION)); } protected void forwardAction(ActionEvent e) { - TaskManager.add(new Task(Action.FORWARD, Target.APPLICATION)); + EventManager.add(new Task(Action.FORWARD, Target.APPLICATION)); } protected void rewindAction(ActionEvent e) { - TaskManager.add(new Task(Action.REWIND, Target.APPLICATION)); + EventManager.add(new Task(Action.REWIND, Target.APPLICATION)); } protected void muteAction(ActionEvent e) { - TaskManager.add(new Task(Action.MUTE, Target.APPLICATION)); + EventManager.add(new Task(Action.MUTE, Target.APPLICATION)); } protected void volumeUpAction(ActionEvent e) { - TaskManager.add(new Task(Action.VOLUME_UP, Target.APPLICATION)); + EventManager.add(new Task(Action.VOLUME_UP, Target.APPLICATION)); } protected void volumeDownAction(ActionEvent e) { - TaskManager.add(new Task(Action.VOLUME_DOWN, Target.APPLICATION)); + EventManager.add(new Task(Action.VOLUME_DOWN, Target.APPLICATION)); } } diff --git a/java/src/pm/device/javainput/JavaInputListener.java b/java/src/pm/device/javainput/JavaInputListener.java index 8b51d4a..bd2fa35 100644 --- a/java/src/pm/device/javainput/JavaInputListener.java +++ b/java/src/pm/device/javainput/JavaInputListener.java @@ -4,7 +4,6 @@ import java.util.LinkedList; import java.util.Queue; import pm.exception.ButtonException; -import pm.exception.StateException; import de.hardcode.jxinput.Axis; import de.hardcode.jxinput.Button; diff --git a/java/src/pm/device/javainput/rumblepad/RumblepadDevice.java b/java/src/pm/device/javainput/rumblepad/RumblepadDevice.java index bae0eae..8259e01 100644 --- a/java/src/pm/device/javainput/rumblepad/RumblepadDevice.java +++ b/java/src/pm/device/javainput/rumblepad/RumblepadDevice.java @@ -4,13 +4,13 @@ import pm.Button; import pm.device.javainput.DirectionButton; import pm.device.javainput.JavaInputDevice; import pm.event.Task; +import pm.event.task.Continuous; +import pm.event.task.Dynamic; import pm.exception.button.UnknownButtonException; import pm.exception.button.UnknownDirectionException; import pm.exception.device.DeviceInitialiseException; import pm.macro.state.Hold; import pm.macro.state.Press; -import pm.task.Continuous; -import pm.task.Dynamic; import pm.value.Action; import pm.value.Target; import de.hardcode.jxinput.event.JXInputButtonEvent; diff --git a/java/src/pm/device/jintellitype/Hotkey.java b/java/src/pm/device/jintellitype/Hotkey.java index 233bac2..a1167a7 100644 --- a/java/src/pm/device/jintellitype/Hotkey.java +++ b/java/src/pm/device/jintellitype/Hotkey.java @@ -4,17 +4,15 @@ import java.util.ArrayList; import com.melloware.jintellitype.JIntellitype; -import pm.macro.state.Press; +import pm.Button; import pm.value.Key; -public class Hotkey extends Press { +public class Hotkey implements Button { protected static ArrayList hotkeyList; protected static JIntellitype jit; public Hotkey(int modifier, int keycode) { - super(null); // Todo: nettere oplossing zoeken / controleren op null int id = hotkeyList.size(); - button = new Modifier(id); jit.registerHotKey(id, modifier, keycode); hotkeyList.add(this); } diff --git a/java/src/pm/device/jintellitype/JIntellitypeDevice.java b/java/src/pm/device/jintellitype/JIntellitypeDevice.java index e84cbb0..133547b 100644 --- a/java/src/pm/device/jintellitype/JIntellitypeDevice.java +++ b/java/src/pm/device/jintellitype/JIntellitypeDevice.java @@ -8,15 +8,12 @@ import com.melloware.jintellitype.JIntellitype; import pm.Device; import pm.event.Task; -import pm.exception.StateException; import pm.exception.button.UnknownButtonException; +import pm.exception.device.DeviceExitException; import pm.exception.device.DeviceInitialiseException; -import pm.macro.state.Hold; import pm.macro.state.Press; import pm.macro.state.Release; -import pm.task.Continuous; import pm.value.Action; -import pm.value.Command; import pm.value.Key; import pm.value.Target; @@ -48,32 +45,38 @@ public class JIntellitypeDevice extends Device implements HotkeyListener, Intell add( new Hotkey(Modifier.CTRL | Modifier.WIN, 'x'), new Task(Action.EXIT, Target.MAIN)); - add( + /*add( new Hotkey(Modifier.CTRL | Modifier.WIN, 't'), new Task(Action.TEST, Target.MAIN)); add( new Hotkey(Modifier.CTRL | Modifier.WIN, 'r'), new Hotkey(Modifier.CTRL | Modifier.WIN, 's'), - new Continuous(Action.REPEAT, Target.APPLICATIONS, 500)); + new Continuous(Action.REPEAT, Target.APPLICATIONS, 500));*/ + } + + protected void add(Hotkey hotkey, Task task) { + add(new Press(hotkey), task); } public void onIntellitype(int command) { CommandButton commandButton; try { commandButton = CommandButton.create(command); - System.out.println(commandButton); add(new Press(commandButton)); add(new Release(commandButton)); - } catch (UnknownButtonException e) {} + } catch (UnknownButtonException e) { + e.printStackTrace(); + } } public void onHotKey(int id) { Hotkey hotkey = hotkeyList.get(id); - add(hotkeyList.get(id)); - add(new Release(hotkey.getButton())); + add(new Press(hotkey)); + add(new Release(hotkey)); } - public void exit() { + public void exit() throws DeviceExitException { + super.exit(); jit.removeHotKeyListener(this); jit.removeIntellitypeListener(this); jit.cleanUp(); diff --git a/java/src/pm/device/text/InputListener.java b/java/src/pm/device/text/InputListener.java index 60e3f82..ba035ce 100644 --- a/java/src/pm/device/text/InputListener.java +++ b/java/src/pm/device/text/InputListener.java @@ -5,8 +5,8 @@ import java.util.Scanner; import pm.Listener; import pm.event.Task; +import pm.event.EventManager; import pm.exception.task.TaskNotSupportedException; -import pm.task.TaskManager; import pm.value.Action; import pm.value.Target; @@ -23,7 +23,7 @@ public class InputListener extends Listener { String string = input.next().toUpperCase(); if(string != null) { try { - TaskManager.add( + EventManager.add( new Task(Action.valueOf(string), Target.APPLICATION)); } catch(IllegalArgumentException e) {} } diff --git a/java/src/pm/device/wiimote/WiimoteDevice.java b/java/src/pm/device/wiimote/WiimoteDevice.java index 1d7f8e1..ad479bc 100644 --- a/java/src/pm/device/wiimote/WiimoteDevice.java +++ b/java/src/pm/device/wiimote/WiimoteDevice.java @@ -8,13 +8,13 @@ import pm.Button; import pm.Device; import pm.device.wiimote.gesture.GestureDevice; import pm.event.Task; +import pm.event.task.Continuous; +import pm.event.task.Dynamic; import pm.exception.button.UnknownButtonException; import pm.exception.device.DeviceInitialiseException; import pm.macro.state.Hold; import pm.macro.state.Press; import pm.macro.state.Release; -import pm.task.Continuous; -import pm.task.Dynamic; import pm.value.Action; import pm.value.Target; diff --git a/java/src/pm/task/TaskListener.java b/java/src/pm/event/EventListener.java similarity index 82% rename from java/src/pm/task/TaskListener.java rename to java/src/pm/event/EventListener.java index 7512711..5553bd0 100644 --- a/java/src/pm/task/TaskListener.java +++ b/java/src/pm/event/EventListener.java @@ -1,16 +1,16 @@ -package pm.task; +package pm.event; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; import pm.Listener; -import pm.event.Task; +import pm.event.task.Continuous; import pm.value.Action; -public abstract class TaskListener extends Listener implements Runnable { +public abstract class EventListener extends Listener implements Runnable { protected Queue taskQueue; - public TaskListener() { + public EventListener() { taskQueue = new ConcurrentLinkedQueue(); } @@ -29,7 +29,6 @@ public abstract class TaskListener extends Listener implements Runnable { } protected void task(Task task) { - System.out.println(this); Action action = task.getAction(); if (task instanceof Continuous) { Continuous continuous = (Continuous) task; diff --git a/java/src/pm/task/TaskManager.java b/java/src/pm/event/EventManager.java similarity index 54% rename from java/src/pm/task/TaskManager.java rename to java/src/pm/event/EventManager.java index 930ef4b..4c57799 100644 --- a/java/src/pm/task/TaskManager.java +++ b/java/src/pm/event/EventManager.java @@ -1,4 +1,4 @@ -package pm.task; +package pm.event; import java.util.ArrayList; @@ -6,24 +6,23 @@ import pm.Application; import pm.Device; import pm.Main; import pm.application.ApplicationCycle; -import pm.event.Task; -import pm.exception.task.TaskNotSupportedException; +import pm.event.task.Stopper; import pm.value.Target; -public class TaskManager { - protected static ArrayList taskListenerList; +public class EventManager { + protected static ArrayList taskListenerList; protected static ApplicationCycle applicationCycle; public static void initialise(ApplicationCycle applicationCycle) { - taskListenerList = new ArrayList(); - TaskManager.applicationCycle = applicationCycle; + taskListenerList = new ArrayList(); + EventManager.applicationCycle = applicationCycle; } - public static void add(TaskListener taskListener) { - taskListenerList.add(taskListener); + public static void add(EventListener eventListener) { + taskListenerList.add(eventListener); } - public static void add(TaskListener self, Task task) { + public static void add(EventListener self, Task task) { if (task instanceof Stopper) { Stopper stopper = (Stopper) task; stopper.stop(); @@ -37,23 +36,24 @@ public class TaskManager { applicationCycle.current().add(task); break; default: - for (TaskListener taskListener : taskListenerList) { + for (EventListener eventListener : taskListenerList) { switch (target) { case ALL: - taskListener.add(task); + eventListener.add(task); + break; case MAIN: - if (taskListener instanceof Main) { - taskListener.add(task); + if (eventListener instanceof Main) { + eventListener.add(task); } break; case DEVICES: - if (taskListener instanceof Device) { - taskListener.add(task); + if (eventListener instanceof Device) { + eventListener.add(task); } break; case APPLICATIONS: - if (taskListener instanceof Application) { - taskListener.add(task); + if (eventListener instanceof Application) { + eventListener.add(task); } break; } @@ -69,7 +69,7 @@ public class TaskManager { } } - public static void remove(TaskListener taskListener) { - taskListenerList.remove(taskListener); + public static void remove(EventListener eventListener) { + taskListenerList.remove(eventListener); } } \ No newline at end of file diff --git a/java/src/pm/task/Continuous.java b/java/src/pm/event/task/Continuous.java similarity index 92% rename from java/src/pm/task/Continuous.java rename to java/src/pm/event/task/Continuous.java index 205d9ab..efbe575 100644 --- a/java/src/pm/task/Continuous.java +++ b/java/src/pm/event/task/Continuous.java @@ -1,4 +1,4 @@ -package pm.task; +package pm.event.task; import pm.event.Task; import pm.value.Action; diff --git a/java/src/pm/task/Dynamic.java b/java/src/pm/event/task/Dynamic.java similarity index 91% rename from java/src/pm/task/Dynamic.java rename to java/src/pm/event/task/Dynamic.java index b3535e4..1c8cdfe 100644 --- a/java/src/pm/task/Dynamic.java +++ b/java/src/pm/event/task/Dynamic.java @@ -1,4 +1,4 @@ -package pm.task; +package pm.event.task; import pm.value.Action; import pm.value.Target; diff --git a/java/src/pm/task/Stopper.java b/java/src/pm/event/task/Stopper.java similarity index 89% rename from java/src/pm/task/Stopper.java rename to java/src/pm/event/task/Stopper.java index 5969f61..37effe0 100644 --- a/java/src/pm/task/Stopper.java +++ b/java/src/pm/event/task/Stopper.java @@ -1,4 +1,4 @@ -package pm.task; +package pm.event.task; import pm.event.Task; diff --git a/java/src/pm/exception/state/StateOrderException.java b/java/src/pm/exception/macro/StateOrderException.java similarity index 85% rename from java/src/pm/exception/state/StateOrderException.java rename to java/src/pm/exception/macro/StateOrderException.java index 57b3891..219466e 100644 --- a/java/src/pm/exception/state/StateOrderException.java +++ b/java/src/pm/exception/macro/StateOrderException.java @@ -1,4 +1,4 @@ -package pm.exception.state; +package pm.exception.macro; import pm.exception.MacroException; diff --git a/java/src/pm/macro/SequenceListener.java b/java/src/pm/macro/SequenceListener.java index 6ce776e..38aaafc 100644 --- a/java/src/pm/macro/SequenceListener.java +++ b/java/src/pm/macro/SequenceListener.java @@ -4,17 +4,17 @@ import java.util.ArrayList; import java.util.HashMap; import pm.event.Task; -import pm.task.TaskListener; -import pm.task.TaskManager; +import pm.event.EventListener; +import pm.event.EventManager; public class SequenceListener { - protected TaskListener taskListener; + protected EventListener eventListener; protected ArrayList sequenceList; protected HashMap taskMap; protected ArrayList activeList; - public SequenceListener(TaskListener taskListener) { - this.taskListener = taskListener; + public SequenceListener(EventListener eventListener) { + this.eventListener = eventListener; sequenceList = new ArrayList(); taskMap = new HashMap(); activeList = new ArrayList(); @@ -36,7 +36,7 @@ public class SequenceListener { if (active.next(state)) { if (active.last()) { Task task = taskMap.get(active.getSequence()); - TaskManager.add(taskListener, task); + EventManager.add(eventListener, task); removeList.add(active); } } else {