This commit is contained in:
2011-06-11 23:34:01 +00:00
parent e0b8456bcb
commit 36e067d5f6
20 changed files with 49 additions and 46 deletions

View File

@@ -9,15 +9,15 @@ import mimis.device.panel.PanelDevice;
import mimis.device.wiimote.WiimoteDevice; import mimis.device.wiimote.WiimoteDevice;
import mimis.event.EventRouter; import mimis.event.EventRouter;
import mimis.event.router.GlobalRouter; import mimis.event.router.GlobalRouter;
import mimis.exception.event.router.GlobalRouterException;
import mimis.exception.worker.ActivateException; import mimis.exception.worker.ActivateException;
import mimis.exception.worker.DeactivateException;
import mimis.util.swing.Dialog; import mimis.util.swing.Dialog;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
public class Client { public class Client {
protected static Log log = LogFactory.getLog(Client.class); protected Log log = LogFactory.getLog(getClass());
public static final String IP = "127.0.0.1"; public static final String IP = "127.0.0.1";
public static final int PORT = 6789; public static final int PORT = 6789;
@@ -25,11 +25,7 @@ public class Client {
protected EventRouter eventRouter; protected EventRouter eventRouter;
protected Device[] deviceArray; protected Device[] deviceArray;
public Client() throws GlobalRouterException { public Client(String ip, int port) {
this(IP, PORT);
}
public Client(String ip, int port) throws GlobalRouterException {
eventRouter = new GlobalRouter(ip, port); eventRouter = new GlobalRouter(ip, port);
deviceArray = new Device[] { deviceArray = new Device[] {
new LircDevice(), new LircDevice(),
@@ -49,15 +45,16 @@ public class Client {
} catch (ActivateException e) { } catch (ActivateException e) {
log.fatal(e); log.fatal(e);
} }
}
public static void main(String[] args) {
try { try {
String ip = Dialog.question("Server IP:", IP); mimis.stop();
int port = Integer.valueOf(Dialog.question("Server Port:", PORT)); } catch (DeactivateException e) {
new Client(ip, port).start();
} catch (GlobalRouterException e) {
log.fatal(e); log.fatal(e);
} }
} }
public static void main(String[] args) {
String ip = Dialog.question("Server IP:", IP);
int port = Integer.valueOf(Dialog.question("Server Port:", PORT));
new Client(ip, port).start();
}
} }

View File

@@ -49,10 +49,14 @@ public class GUI extends JFrame {
protected JPanel createControlPanel(Manager<Application> applicationManager, Manager<Device> deviceManager) { protected JPanel createControlPanel(Manager<Application> applicationManager, Manager<Device> deviceManager) {
JPanel controlPanel = new JPanel(new GridLayout(1, 0)); JPanel controlPanel = new JPanel(new GridLayout(1, 0));
JPanel applicationPanel = createManagerPanel(applicationManager, APPLICATION_TITLE); if (applicationManager.count() > 0) {
controlPanel.add(applicationPanel); JPanel applicationPanel = createManagerPanel(applicationManager, APPLICATION_TITLE);
JPanel devicePanel = createManagerPanel(deviceManager, DEVICE_TITLE); controlPanel.add(applicationPanel);
controlPanel.add(devicePanel); }
if (applicationManager.count() > 0) {
JPanel devicePanel = createManagerPanel(deviceManager, DEVICE_TITLE);
controlPanel.add(devicePanel);
}
return controlPanel; return controlPanel;
} }

View File

@@ -6,7 +6,6 @@ import java.util.Map;
import javax.swing.JToggleButton; import javax.swing.JToggleButton;
import mimis.application.cmd.windows.winamp.WinampApplication;
import mimis.exception.worker.DeactivateException; import mimis.exception.worker.DeactivateException;
import mimis.manager.Exitable; import mimis.manager.Exitable;
import mimis.manager.ManageButton; import mimis.manager.ManageButton;
@@ -31,12 +30,14 @@ public class Manager<T extends Worker & Titled & Exitable> extends Worker {
public void stop() throws DeactivateException { public void stop() throws DeactivateException {
super.stop(); super.stop();
for (T manageable : manageableArray) { for (T manageable : manageableArray) {
if (!(manageable instanceof WinampApplication)) { manageable.stop();
manageable.stop();
}
} }
} }
public int count() {
return manageableArray.length;
}
protected void createButtons() { protected void createButtons() {
buttonMap = new HashMap<T, ManageButton<T>>(); buttonMap = new HashMap<T, ManageButton<T>>();
for (T manageable : manageableArray) { for (T manageable : manageableArray) {

View File

@@ -3,9 +3,9 @@ package mimis;
import mimis.event.EventHandler; import mimis.event.EventHandler;
import mimis.event.EventRouter; import mimis.event.EventRouter;
import mimis.event.Feedback; import mimis.event.Feedback;
import mimis.event.feedback.TextFeedback;
import mimis.exception.worker.ActivateException; import mimis.exception.worker.ActivateException;
import mimis.exception.worker.DeactivateException; import mimis.exception.worker.DeactivateException;
import mimis.event.feedback.TextFeedback;
import mimis.sequence.SequenceParser; import mimis.sequence.SequenceParser;
import mimis.util.ArrayCycle; import mimis.util.ArrayCycle;
import mimis.value.Action; import mimis.value.Action;
@@ -57,6 +57,9 @@ public class Mimis extends EventHandler {
} }
public void activate() throws ActivateException { public void activate() throws ActivateException {
log.debug("Create gui");
gui = new GUI(this, applicationManager, deviceManager);
log.debug("Activate event router"); log.debug("Activate event router");
eventRouter.activate(); eventRouter.activate();
@@ -64,9 +67,6 @@ public class Mimis extends EventHandler {
applicationManager.activate(); applicationManager.activate();
deviceManager.activate(); deviceManager.activate();
log.debug("Create gui");
gui = new GUI(this, applicationManager, deviceManager);
if (applicationCycle.size() > 0) { if (applicationCycle.size() > 0) {
log.debug("Initialise application cycle"); log.debug("Initialise application cycle");
eventRouter.set(applicationCycle.current()); eventRouter.set(applicationCycle.current());

View File

@@ -3,11 +3,10 @@ package mimis.application.cmd.windows;
import java.io.IOException; import java.io.IOException;
import mimis.application.cmd.CMDApplication; import mimis.application.cmd.CMDApplication;
import mimis.exception.worker.ActivateException; import mimis.exception.worker.ActivateException;
import mimis.exception.worker.DeactivateException; import mimis.exception.worker.DeactivateException;
import mimis.util.Windows;
import mimis.util.VBScript; import mimis.util.VBScript;
import mimis.util.Windows;
import mimis.value.Command; import mimis.value.Command;
import mimis.value.Key; import mimis.value.Key;
import mimis.value.Type; import mimis.value.Type;

View File

@@ -1,11 +1,11 @@
package mimis.device; package mimis.device;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import mimis.sequence.EventMap; import mimis.sequence.EventMap;
import mimis.util.ArrayCycle; import mimis.util.ArrayCycle;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class EventMapCycle extends ArrayCycle<EventMap> { public class EventMapCycle extends ArrayCycle<EventMap> {
protected static final long serialVersionUID = 1L; protected static final long serialVersionUID = 1L;

View File

@@ -10,7 +10,6 @@ import mimis.exception.worker.ActivateException;
import mimis.exception.worker.DeactivateException; import mimis.exception.worker.DeactivateException;
import mimis.sequence.state.Press; import mimis.sequence.state.Press;
import mimis.sequence.state.Release; import mimis.sequence.state.Release;
import de.hardcode.jxinput.JXInputDevice; import de.hardcode.jxinput.JXInputDevice;
import de.hardcode.jxinput.JXInputManager; import de.hardcode.jxinput.JXInputManager;
import de.hardcode.jxinput.event.JXInputAxisEvent; import de.hardcode.jxinput.event.JXInputAxisEvent;

View File

@@ -5,7 +5,6 @@ import java.util.Queue;
import mimis.Worker; import mimis.Worker;
import mimis.exception.ButtonException; import mimis.exception.ButtonException;
import de.hardcode.jxinput.Button; import de.hardcode.jxinput.Button;
import de.hardcode.jxinput.Directional; import de.hardcode.jxinput.Directional;
import de.hardcode.jxinput.JXInputDevice; import de.hardcode.jxinput.JXInputDevice;

View File

@@ -6,7 +6,6 @@ import mimis.device.javainput.JavaInputDevice;
import mimis.exception.button.UnknownButtonException; import mimis.exception.button.UnknownButtonException;
import mimis.exception.button.UnknownDirectionException; import mimis.exception.button.UnknownDirectionException;
import mimis.exception.worker.ActivateException; import mimis.exception.worker.ActivateException;
import de.hardcode.jxinput.event.JXInputButtonEvent; import de.hardcode.jxinput.event.JXInputButtonEvent;
import de.hardcode.jxinput.event.JXInputDirectionalEvent; import de.hardcode.jxinput.event.JXInputDirectionalEvent;

View File

@@ -6,7 +6,6 @@ import mimis.device.javainput.JavaInputDevice;
import mimis.exception.button.UnknownButtonException; import mimis.exception.button.UnknownButtonException;
import mimis.exception.button.UnknownDirectionException; import mimis.exception.button.UnknownDirectionException;
import mimis.exception.worker.ActivateException; import mimis.exception.worker.ActivateException;
import de.hardcode.jxinput.event.JXInputButtonEvent; import de.hardcode.jxinput.event.JXInputButtonEvent;
import de.hardcode.jxinput.event.JXInputDirectionalEvent; import de.hardcode.jxinput.event.JXInputDirectionalEvent;

View File

@@ -8,6 +8,7 @@ import mimis.exception.worker.ActivateException;
import mimis.exception.worker.DeactivateException; import mimis.exception.worker.DeactivateException;
import mimis.sequence.state.Press; import mimis.sequence.state.Press;
import mimis.sequence.state.Release; import mimis.sequence.state.Release;
import com.melloware.jintellitype.HotkeyListener; import com.melloware.jintellitype.HotkeyListener;
import com.melloware.jintellitype.IntellitypeListener; import com.melloware.jintellitype.IntellitypeListener;
import com.melloware.jintellitype.JIntellitype; import com.melloware.jintellitype.JIntellitype;

View File

@@ -12,8 +12,8 @@ import mimis.exception.worker.DeactivateException;
import mimis.sequence.state.Press; import mimis.sequence.state.Press;
import mimis.sequence.state.Release; import mimis.sequence.state.Release;
import mimis.util.Multiplexer; import mimis.util.Multiplexer;
import mimis.util.multiplexer.SignalListener;
import mimis.util.VBScript; import mimis.util.VBScript;
import mimis.util.multiplexer.SignalListener;
import mimis.value.Signal; import mimis.value.Signal;
public class LircDevice extends Device implements LircButtonListener, SignalListener { public class LircDevice extends Device implements LircButtonListener, SignalListener {
@@ -50,6 +50,7 @@ public class LircDevice extends Device implements LircButtonListener, SignalList
} }
public boolean active() { public boolean active() {
log.trace("LircDevice active?");
if (active && !lircService.active()) { if (active && !lircService.active()) {
active = false; active = false;
} else if (!active) { } else if (!active) {
@@ -69,8 +70,9 @@ public class LircDevice extends Device implements LircButtonListener, SignalList
} }
public void deactivate() throws DeactivateException { public void deactivate() throws DeactivateException {
log.debug("Deactivate LircDevice");
super.deactivate(); super.deactivate();
multiplexer.deactivate(); multiplexer.stop();
lircService.deactivate(); lircService.deactivate();
} }

View File

@@ -82,6 +82,7 @@ public class LircService extends Worker {
} }
public void deactivate() throws DeactivateException { public void deactivate() throws DeactivateException {
super.deactivate();
try { try {
bufferedReader.close(); bufferedReader.close();
inputStream.close(); inputStream.close();
@@ -89,8 +90,6 @@ public class LircService extends Worker {
socket.close(); socket.close();
} catch (IOException e) { } catch (IOException e) {
log.error(e); log.error(e);
} finally {
super.deactivate();
} }
} }

View File

@@ -42,9 +42,11 @@ public class NetworkDevice extends Device {
} catch (IOException e) { } catch (IOException e) {
throw new ActivateException(); throw new ActivateException();
} }
super.activate();
} }
public void deactivate() throws DeactivateException { public void deactivate() throws DeactivateException {
super.deactivate();
server.stop(); server.stop();
} }

View File

@@ -11,6 +11,7 @@ import mimis.exception.worker.DeactivateException;
import mimis.sequence.state.Press; import mimis.sequence.state.Press;
import mimis.sequence.state.Release; import mimis.sequence.state.Release;
import mimis.value.Action; import mimis.value.Action;
import org.wiigee.event.GestureEvent; import org.wiigee.event.GestureEvent;
import org.wiigee.event.GestureListener; import org.wiigee.event.GestureListener;
import org.wiigee.util.Log; import org.wiigee.util.Log;

View File

@@ -3,9 +3,9 @@ package mimis.device.wiimote;
import mimis.device.EventMapCycle; import mimis.device.EventMapCycle;
import mimis.event.Task; import mimis.event.Task;
import mimis.sequence.EventMap; import mimis.sequence.EventMap;
import mimis.sequence.state.Release;
import mimis.value.Action; import mimis.value.Action;
import mimis.value.Target; import mimis.value.Target;
import mimis.sequence.state.Release;
public class WiimoteEventMapCycle extends EventMapCycle { public class WiimoteEventMapCycle extends EventMapCycle {
protected static final long serialVersionUID = 1L; protected static final long serialVersionUID = 1L;

View File

@@ -3,11 +3,11 @@ package mimis.device.wiimote;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import mimis.exception.device.DeviceNotFoundException;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import mimis.exception.device.DeviceNotFoundException;
import wiiusej.WiiUseApiManager; import wiiusej.WiiUseApiManager;
import wiiusej.Wiimote; import wiiusej.Wiimote;
import wiiusej.wiiusejevents.GenericEvent; import wiiusej.wiiusejevents.GenericEvent;

View File

@@ -8,6 +8,7 @@ import org.wiigee.device.Device;
import org.wiigee.event.ButtonListener; import org.wiigee.event.ButtonListener;
import org.wiigee.event.ButtonPressedEvent; import org.wiigee.event.ButtonPressedEvent;
import org.wiigee.event.GestureListener; import org.wiigee.event.GestureListener;
import wiiusej.values.GForce; import wiiusej.values.GForce;
public class GestureDevice extends Device /*implements AccelerationListener */{ public class GestureDevice extends Device /*implements AccelerationListener */{

View File

@@ -1,9 +1,9 @@
package mimis.event.router; package mimis.event.router;
import mimis.Event; import mimis.Event;
import mimis.event.Task;
import mimis.event.EventListener; import mimis.event.EventListener;
import mimis.event.EventRouter; import mimis.event.EventRouter;
import mimis.event.Task;
import mimis.event.feedback.TextFeedback; import mimis.event.feedback.TextFeedback;
import mimis.value.Target; import mimis.value.Target;

View File

@@ -3,9 +3,6 @@ package mimis.sequence;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Map.Entry; import java.util.Map.Entry;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import mimis.Event; import mimis.Event;
import mimis.event.EventHandler; import mimis.event.EventHandler;
import mimis.event.EventListener; import mimis.event.EventListener;
@@ -13,6 +10,9 @@ import mimis.event.Task;
import mimis.value.Signal; import mimis.value.Signal;
import mimis.value.Target; import mimis.value.Target;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class SequenceParser { public class SequenceParser {
protected Log log = LogFactory.getLog(getClass()); protected Log log = LogFactory.getLog(getClass());