Skip to content
Snippets Groups Projects
Commit 7d830878 authored by Carsten Stocklöw's avatar Carsten Stocklöw
Browse files

working on bus member gui

parent 68ee180f
No related branches found
No related tags found
No related merge requests found
Showing
with 113 additions and 58 deletions
......@@ -42,10 +42,10 @@ public class Activator implements BundleActivator {
.registerModule(new Object[] { context });
start();
// context.registerService(new String[] { LogListener.class.getName() },
// lm, null);
// context.registerService(new String[] { LogListener.class.getName() },
// lm, null);
}
public void start() {
lm = new LogMonitor();
mc.getContainer().shareObject(mc, lm,
......@@ -53,12 +53,15 @@ public class Activator implements BundleActivator {
}
public void stop(BundleContext arg0) throws Exception {
mc.getContainer().removeSharedObject(mc, lm,
new Object[] { LogListener.class.getName() });
lm.stop();
}
public static void main(String[] args) {
LogMonitor lm = new LogMonitor();
lm.log(0, "module", "pkg", "cls", "method", new Object[] { "" }, null);
}
// public static void main(String[] args) {
// LogMonitor lm = new LogMonitor();
// lm.log(0, "module", "pkg", "cls", "method", new Object[] { "" }, null);
// }
/**
* Get resource
......
/*
Copyright 2007-2014 Fraunhofer IGD, http://www.igd.fraunhofer.de
Fraunhofer-Gesellschaft - Institut fr Graphische Datenverarbeitung
Fraunhofer-Gesellschaft - Institut fr Graphische Datenverarbeitung
*/
package org.universAAL.tools.logmonitor;
......@@ -13,4 +13,6 @@ public interface LogListenerEx extends LogListener {
public JPanel getPanel();
public String getTitle();
public void stop();
}
......@@ -28,6 +28,11 @@ public class LogMonitor implements LogListener {
for (int i = 0; i < listeners.length; i++)
gui.addPanel(listeners[i].getTitle(), listeners[i].getPanel());
}
public void stop() {
for (int i = 0; i < listeners.length; i++)
listeners[i].stop();
}
public void log(int logLevel, String module, String pkg, String cls,
String method, Object[] msgPart, Throwable t) {
......
/*
Copyright 2007-2014 Fraunhofer IGD, http://www.igd.fraunhofer.de
Fraunhofer-Gesellschaft - Institut fr Graphische Datenverarbeitung
Fraunhofer-Gesellschaft - Institut fr Graphische Datenverarbeitung
*/
package org.universAAL.tools.logmonitor.all_log;
......@@ -51,4 +51,8 @@ public class LogMonitor implements LogListenerEx {
public LogEntry getLogEntry(int index) {
return entries.get(Integer.valueOf(index));
}
@Override
public void stop() {
}
}
......@@ -18,42 +18,23 @@ import org.universAAL.tools.logmonitor.bus_member.gui.BusMemberGui;
public class LogMonitor implements LogListenerEx, IBusMemberRegistryListener {
private BusMemberGui gui = new BusMemberGui();
private SpaceListener spaceListener = null;
public LogMonitor() {
// register this BusMemberRegistryListener
IBusMemberRegistry registry = (IBusMemberRegistry) Activator.mc
.getContainer().fetchSharedObject(Activator.mc,
IBusMemberRegistry.busRegistryShareParams);
registry.addListener(this, true);
// start space listener
spaceListener = new SpaceListener(gui);
spaceListener.start();
}
/*-
* @see org.universAAL.middleware.container.LogListener#log(int,
* java.lang.String, java.lang.String, java.lang.String, java.lang.String,
* java.lang.Object[], java.lang.Throwable)
*/
// dummy method for integration in main gui, not used
public void log(int logLevel, String module, String pkg, String cls,
String method, Object[] msgPart, Throwable t) {
// if (logLevel == LogListener.LOG_LEVEL_DEBUG) {
// System.out.println(module);
// // if (!"mw.bus.service.osgi".equals(module))
// // return;
// String pkg2 = AbstractBus.class.getPackage().getName();
// String cls2 = AbstractBus.class.getName().substring(
// pkg.length() + 1);
// if (!cls2.equals(cls))
// return;
// if (!pkg2.equals(pkg))
// return;
//
// if (msgPart != null && msgPart.length == 2
// && msgPart[1] instanceof String) {
// String id = (String) msgPart[1];
// if ("register".equals(method))
// handleRegister(id);
// if ("unregister".equals(method))
// handleUnregister(id);
// }
// }
}
public JPanel getPanel() {
......@@ -75,8 +56,19 @@ public class LogMonitor implements LogListenerEx, IBusMemberRegistryListener {
}
public void regParamsAdded(String busMemberID, Resource[] params) {
// TODO
}
public void regParamsRemoved(String busMemberID, Resource[] params) {
// TODO
}
public void stop() {
// TODO: call this method
spaceListener.stop();
IBusMemberRegistry registry = (IBusMemberRegistry) Activator.mc
.getContainer().fetchSharedObject(Activator.mc,
IBusMemberRegistry.busRegistryShareParams);
registry.removeListener(this);
}
}
......@@ -7,13 +7,16 @@ import org.universAAL.middleware.interfaces.aalspace.AALSpaceStatus;
import org.universAAL.middleware.managers.api.AALSpaceListener;
import org.universAAL.middleware.managers.api.AALSpaceManager;
import org.universAAL.tools.logmonitor.Activator;
import org.universAAL.tools.logmonitor.bus_member.gui.BusMemberGui;
public class SpaceListener implements AALSpaceListener, Runnable,
SharedObjectListener {
private AALSpaceManager theAALSpaceManager = null;
private BusMemberGui gui = null;
public SpaceListener() {
public SpaceListener(BusMemberGui gui) {
this.gui = gui;
}
public void start() {
......@@ -36,30 +39,27 @@ public class SpaceListener implements AALSpaceListener, Runnable,
@Override
public void aalSpaceJoined(AALSpaceDescriptor spaceDescriptor) {
// TODO Auto-generated method stub
gui.setSpace(spaceDescriptor);
}
@Override
public void aalSpaceLost(AALSpaceDescriptor spaceDescriptor) {
// TODO Auto-generated method stub
gui.setSpace(spaceDescriptor);
}
@Override
public void newPeerJoined(PeerCard peer) {
// TODO Auto-generated method stub
gui.add(peer);
}
@Override
public void peerLost(PeerCard peer) {
// TODO Auto-generated method stub
gui.remove(peer);
}
@Override
public void aalSpaceStatusChanged(AALSpaceStatus status) {
// not needed
}
@Override
......
......@@ -20,6 +20,8 @@ import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import org.universAAL.middleware.interfaces.PeerCard;
import org.universAAL.middleware.interfaces.aalspace.AALSpaceDescriptor;
import org.universAAL.tools.logmonitor.bus_member.MemberData;
/**
......@@ -45,6 +47,10 @@ public class BusMemberGui extends JPanel implements TreeSelectionListener {
private Map<String, DefaultMutableTreeNode> modules = new Hashtable<String, DefaultMutableTreeNode>();
private Map<String, DefaultMutableTreeNode> members = new Hashtable<String, DefaultMutableTreeNode>();
private Hashtable<String, PeerCard> peerCards = new Hashtable<String, PeerCard>();
private Hashtable<String, MemberData> memberData = new Hashtable<String, MemberData>();
private AALSpaceDescriptor space = null;
/**
* Create the main frame.
*/
......@@ -67,6 +73,39 @@ public class BusMemberGui extends JPanel implements TreeSelectionListener {
add(splitPane, BorderLayout.CENTER);
}
public void add(final PeerCard peer) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
if (peerCards.put(peer.getPeerID(), peer) != null)
// this peer was known already
return;
// add a tree node
addPeerNode(peer.getPeerID());
}
});
}
public void remove(final PeerCard peer) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
peerCards.remove(peer.getPeerID());
}
});
}
private DefaultMutableTreeNode addPeerNode(String id) {
DefaultMutableTreeNode peerNode = peers.get(id);
if (peerNode == null) {
// peer not yet available
peerNode = new DefaultMutableTreeNode("Peer: " + id);
root.add(peerNode);
treeModel.reload(root);
// add(peerNode, root);
peers.put(id, peerNode);
}
return peerNode;
}
/**
* Add a new entry.
*
......@@ -76,6 +115,7 @@ public class BusMemberGui extends JPanel implements TreeSelectionListener {
public void add(final MemberData m) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
memberData.put(m.id, m);
boolean first = false;
// handle root = Space ID
if (!tree.isRootVisible()) {
......@@ -86,15 +126,7 @@ public class BusMemberGui extends JPanel implements TreeSelectionListener {
}
// handle peers
DefaultMutableTreeNode peerNode = peers.get(m.peer);
if (peerNode == null) {
// peer not yet available
peerNode = new DefaultMutableTreeNode("Peer: " + m.peer);
root.add(peerNode);
treeModel.reload(root);
// add(peerNode, root);
peers.put(m.peer, peerNode);
}
DefaultMutableTreeNode peerNode = addPeerNode(m.peer);
// handle module
DefaultMutableTreeNode moduleNode = modules.get(m.peer + "#"
......@@ -132,6 +164,7 @@ public class BusMemberGui extends JPanel implements TreeSelectionListener {
public void remove(final MemberData m) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
memberData.remove(m.id);
// get module (= parent of this member)
final DefaultMutableTreeNode moduleNode = modules.get(m.peer
+ "#" + m.module);
......@@ -166,10 +199,6 @@ public class BusMemberGui extends JPanel implements TreeSelectionListener {
new Object[] { memberNode });
// }
// });
// TODO: if this is the last member for a module, should we
// remove
// the module as well?
}
});
}
......@@ -180,6 +209,10 @@ public class BusMemberGui extends JPanel implements TreeSelectionListener {
tree.expandPath(treePath);
}
public void setSpace(AALSpaceDescriptor space) {
this.space = space;
}
@Override
public void valueChanged(TreeSelectionEvent e) {
final JTree tree = (JTree) e.getSource();
......
/*
Copyright 2007-2014 Fraunhofer IGD, http://www.igd.fraunhofer.de
Fraunhofer-Gesellschaft - Institut fr Graphische Datenverarbeitung
Fraunhofer-Gesellschaft - Institut fr Graphische Datenverarbeitung
*/
package org.universAAL.tools.logmonitor.rdfvis;
......@@ -53,4 +53,8 @@ public class LogMonitor implements LogListenerEx {
public String getTitle() {
return "RDF graph";
}
@Override
public void stop() {
}
}
......@@ -323,4 +323,8 @@ public class LogMonitor implements LogListenerEx {
public String getTitle() {
return "Service Matchmaking";
}
@Override
public void stop() {
}
}
......@@ -84,6 +84,14 @@ public class Test extends BusTestCase {
LogUtils.logDebug(mc, this.getClass(), "method", "msg");
caller = new DefaultServiceCaller(mc);
//ContextPublisher cp = new DefaultContextPublisher(mc, null);
// try {
// Thread.sleep(20000);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
caller.close();
//cp.close();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment