diff --git a/java/mimis/src/main/java/mimis/Component.java b/java/mimis/src/main/java/mimis/Component.java index 8c6c873..9fd74de 100644 --- a/java/mimis/src/main/java/mimis/Component.java +++ b/java/mimis/src/main/java/mimis/Component.java @@ -28,6 +28,7 @@ import mimis.router.Router; import mimis.state.TaskMap; import mimis.value.Action; import base.work.Listen; +import base.worker.Worker; import base.worker.Worker.Type; public abstract class Component extends Listen { @@ -45,6 +46,7 @@ public abstract class Component extends Listen { } public Component(String title) { + super(Worker.Type.BACKGROUND); this.title = title; } diff --git a/java/mimis/src/main/java/mimis/Gui.java b/java/mimis/src/main/java/mimis/Gui.java index 9efc169..8b412d0 100644 --- a/java/mimis/src/main/java/mimis/Gui.java +++ b/java/mimis/src/main/java/mimis/Gui.java @@ -27,8 +27,11 @@ import javax.swing.WindowConstants; import base.exception.worker.ActivateException; import mimis.input.Feedback; import mimis.input.Input; +import mimis.input.Task; import mimis.manager.ButtonManager; import mimis.util.Swing; +import mimis.value.Action; +import mimis.value.Target; public class Gui extends Component { public static final String ICON = "M.png"; @@ -44,6 +47,7 @@ public class Gui extends Component { protected void processWindowEvent(WindowEvent event) { if (event.getID() == WindowEvent.WINDOW_CLOSING) { logger.debug("Window closing"); + route(new Task(Action.EXIT, Target.MIMIS)); component.exit(); } } diff --git a/java/mimis/src/main/java/mimis/Main.java b/java/mimis/src/main/java/mimis/Main.java index ae24de0..8493c61 100644 --- a/java/mimis/src/main/java/mimis/Main.java +++ b/java/mimis/src/main/java/mimis/Main.java @@ -37,11 +37,10 @@ public class Main extends Mimis { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) {} - } public static Component[] getApplications() { - return getComponents(mimis.application.Application.class); + return getComponents(mimis.application.Application.class); } public static Component[] getDevices() { @@ -96,6 +95,9 @@ public class Main extends Mimis { logger.debug("Exit managers"); applicationManager.exit(); deviceManager.exit(); + gui.exit(); + router.exit(); + parser.exit(); } public void end(Action action) { diff --git a/java/mimis/src/main/java/mimis/Mimis.java b/java/mimis/src/main/java/mimis/Mimis.java index 4705286..bf6974b 100644 --- a/java/mimis/src/main/java/mimis/Mimis.java +++ b/java/mimis/src/main/java/mimis/Mimis.java @@ -31,6 +31,7 @@ import base.worker.Worker; public abstract class Mimis extends Component { protected Component[] currentArray; protected Manager manager; + protected Parser parser; protected ArrayCycle componentCycle; @@ -39,7 +40,8 @@ public abstract class Mimis extends Component { this.currentArray = initialize(false, currentArray); componentCycle = new ArrayCycle(currentArray); router = new Router(); - manager = new Manager(initialize(true, router, new Parser())); + parser = new Parser(); + manager = new Manager(initialize(true, router, parser)); } public void activate() throws ActivateException { diff --git a/java/mimis/src/main/java/mimis/application/Application.java b/java/mimis/src/main/java/mimis/application/Application.java index 3e34f32..e642442 100644 --- a/java/mimis/src/main/java/mimis/application/Application.java +++ b/java/mimis/src/main/java/mimis/application/Application.java @@ -16,7 +16,6 @@ */ package mimis.application; - public interface Application { } diff --git a/java/mimis/src/main/java/mimis/device/javainput/JavaInputDevice.java b/java/mimis/src/main/java/mimis/device/javainput/JavaInputDevice.java index 994c6b2..516a82f 100644 --- a/java/mimis/src/main/java/mimis/device/javainput/JavaInputDevice.java +++ b/java/mimis/src/main/java/mimis/device/javainput/JavaInputDevice.java @@ -16,8 +16,6 @@ */ package mimis.device.javainput; -import base.exception.worker.ActivateException; -import base.exception.worker.DeactivateException; import mimis.Component; import mimis.device.Device; import mimis.exception.ButtonException; @@ -27,6 +25,9 @@ import mimis.exception.device.DeviceNotFoundException; import mimis.input.Button; import mimis.input.state.Press; import mimis.input.state.Release; +import base.exception.worker.ActivateException; +import base.exception.worker.DeactivateException; +import de.hardcode.jxinput.Axis; import de.hardcode.jxinput.JXInputDevice; import de.hardcode.jxinput.JXInputManager; import de.hardcode.jxinput.event.JXInputAxisEvent; @@ -61,7 +62,16 @@ public abstract class JavaInputDevice extends Component implements Device { javaInputListener.stop(); } - public void processEvent(JXInputAxisEvent event) {} + public void processEvent(JXInputAxisEvent event) { + logger.error("AxisEvent"); + Axis axis = event.getAxis(); + double delta = event.getDelta(); + System.out.println(axis.getName()); + System.out.println(axis.getResolution()); + System.out.println(axis.getType()); + System.out.println(axis.getValue()); + System.out.println(delta); + } public void processEvent(JXInputButtonEvent event) throws ButtonException { Button button = getButton(event); diff --git a/java/mimis/src/main/java/mimis/device/javainput/JavaInputListener.java b/java/mimis/src/main/java/mimis/device/javainput/JavaInputListener.java index 9534db3..ffa0c32 100644 --- a/java/mimis/src/main/java/mimis/device/javainput/JavaInputListener.java +++ b/java/mimis/src/main/java/mimis/device/javainput/JavaInputListener.java @@ -21,6 +21,7 @@ import java.util.Queue; import mimis.exception.ButtonException; import base.work.Work; +import de.hardcode.jxinput.Axis; import de.hardcode.jxinput.Button; import de.hardcode.jxinput.Directional; import de.hardcode.jxinput.JXInputDevice; @@ -50,12 +51,12 @@ public class JavaInputListener extends Work implements JXInputAxisEventListener, } protected void addListeners() { - /*for (int i = 0; i < jxinputDevice.getMaxNumberOfAxes(); ++i) { + for (int i = 0; i < jxinputDevice.getMaxNumberOfAxes(); ++i) { Axis axis = jxinputDevice.getAxis(i); if (axis != null) { JXInputEventManager.addListener(this, axis); } - }*/ + } for (int i = 0; i < jxinputDevice.getMaxNumberOfButtons(); ++i) { Button button = jxinputDevice.getButton(i); if (button != null) { @@ -89,11 +90,11 @@ public class JavaInputListener extends Work implements JXInputAxisEventListener, } else if (!buttonEventQueue.isEmpty()) { try { javaInputDevice.processEvent(buttonEventQueue.poll()); - } catch (ButtonException e) {} + } catch (ButtonException e) {logger.error("fail", e);} } else if (!directionalEventQueue.isEmpty()) { try { javaInputDevice.processEvent(directionalEventQueue.poll()); - } catch (ButtonException e) {} + } catch (ButtonException e) {logger.error("fail", e);} } else { worker.sleep(); } diff --git a/java/mimis/src/main/java/mimis/parser/Parser.java b/java/mimis/src/main/java/mimis/parser/Parser.java index b170aa5..15fdcd4 100644 --- a/java/mimis/src/main/java/mimis/parser/Parser.java +++ b/java/mimis/src/main/java/mimis/parser/Parser.java @@ -20,7 +20,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Map.Entry; -import base.exception.worker.ActivateException; import mimis.Component; import mimis.input.Input; import mimis.input.Task; @@ -31,6 +30,7 @@ import mimis.state.TaskMap; import mimis.value.Action; import mimis.value.Signal; import mimis.value.Target; +import base.exception.worker.ActivateException; public class Parser extends Component { protected TaskMap taskMap; @@ -71,6 +71,8 @@ public class Parser extends Component { case RESET: reset(parserInput.getComponent(), parserInput.getEnd()); return; + default: + break; } } catch (NullPointerException e) { logger.error("Illegal use of ParserInput"); @@ -78,7 +80,7 @@ public class Parser extends Component { } public void input(State state) { - //log.trace("input(State)"); + logger.trace("input(State)"); Component component = state.getComponent(); if (!activeMap.containsKey(component)) { activeMap.put(component, new ArrayList()); diff --git a/java/mimis/src/main/java/mimis/router/Router.java b/java/mimis/src/main/java/mimis/router/Router.java index 405c7ac..1632b61 100644 --- a/java/mimis/src/main/java/mimis/router/Router.java +++ b/java/mimis/src/main/java/mimis/router/Router.java @@ -35,6 +35,7 @@ public class Router extends Component { } public synchronized void listen(Component component, Class clazz) { + logger.debug(component + " is listening to " + clazz); if (!listenMap.containsKey(component)) { listenMap.put(component, new ArrayList>()); } @@ -54,11 +55,16 @@ public class Router extends Component { } } - public synchronized void input(Input input) { + public void input(Input input) { for (Entry>> entry : listenMap.entrySet()) { Component component = entry.getKey(); if (input instanceof Task) { + System.err.println(component + " " + target((Task) input, component)); + + Task x = (Task) input; + System.err.println(x.getTarget()); + if (!target((Task) input, component)) { continue; } diff --git a/java/mimis/src/main/java/mimis/state/TaskMap.java b/java/mimis/src/main/java/mimis/state/TaskMap.java index 64ac312..6a08af7 100644 --- a/java/mimis/src/main/java/mimis/state/TaskMap.java +++ b/java/mimis/src/main/java/mimis/state/TaskMap.java @@ -52,5 +52,4 @@ public class TaskMap extends HashMap implements Input { public void add(Sequence sequence, Task task) { put(sequence, task); } - } diff --git a/java/mimis/src/main/java/mimis/util/Reader.java b/java/mimis/src/main/java/mimis/util/Reader.java index cbdcef1..24e795c 100644 --- a/java/mimis/src/main/java/mimis/util/Reader.java +++ b/java/mimis/src/main/java/mimis/util/Reader.java @@ -30,6 +30,7 @@ public class Reader { while ((line = bufferedReader.readLine()) != null) { stringBuffer.append(line + "\n"); } + bufferedReader.close(); return stringBuffer.toString(); } } diff --git a/java/mimis/src/main/resources/META-INF/services/mimis.application.Application b/java/mimis/src/main/resources/META-INF/services/mimis.application.Application index 974b831..a3fdfe3 100644 --- a/java/mimis/src/main/resources/META-INF/services/mimis.application.Application +++ b/java/mimis/src/main/resources/META-INF/services/mimis.application.Application @@ -1,8 +1,2 @@ -mimis.application.cmd.windows.gomplayer.GomPlayerApplication -mimis.application.cmd.windows.photoviewer.PhotoViewerApplication -mimis.application.cmd.windows.winamp.WinampApplication -mimis.application.cmd.windows.wmp.WMPApplication -mimis.application.itunes.iTunesApplication -mimis.application.lirc.ipod.iPodApplication -mimis.application.mpc.MPCApplication -mimis.application.vlc.VLCApplication \ No newline at end of file +mimis.application.itunes.iTunesApplication +mimis.application.cmd.windows.lightroom.LightroomApplication \ No newline at end of file diff --git a/java/mimis/src/main/resources/META-INF/services/mimis.device.Device b/java/mimis/src/main/resources/META-INF/services/mimis.device.Device index dede6bf..6417b16 100644 --- a/java/mimis/src/main/resources/META-INF/services/mimis.device.Device +++ b/java/mimis/src/main/resources/META-INF/services/mimis.device.Device @@ -1,7 +1,6 @@ -mimis.device.javainput.extreme3d.Extreme3DDevice -mimis.device.javainput.rumblepad.RumblepadDevice -mimis.device.jintellitype.JIntellitypeDevice -mimis.device.lirc.LircDevice -mimis.device.network.NetworkDevice -mimis.device.panel.PanelDevice +mimis.device.javainput.extreme3d.Extreme3DDevice +mimis.device.javainput.rumblepad.RumblepadDevice +mimis.device.javainput.xbox360.Xbox360Device +mimis.device.jintellitype.JIntellitypeDevice +mimis.device.panel.PanelDevice mimis.device.wiimote.WiimoteDevice \ No newline at end of file diff --git a/java/mimis/src/main/resources/log4j.properties b/java/mimis/src/main/resources/log4j.properties index 01e7022..04a605a 100644 --- a/java/mimis/src/main/resources/log4j.properties +++ b/java/mimis/src/main/resources/log4j.properties @@ -1,4 +1,4 @@ -log4j.rootLogger=TRACE, CA +log4j.rootLogger=INFO, CA log4j.appender.CA=org.apache.log4j.ConsoleAppender log4j.appender.CA.layout=org.apache.log4j.PatternLayout log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n