diff options
Diffstat (limited to 'java/src/IceGridGUI/NodeObserverI.java')
-rw-r--r-- | java/src/IceGridGUI/NodeObserverI.java | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/java/src/IceGridGUI/NodeObserverI.java b/java/src/IceGridGUI/NodeObserverI.java new file mode 100644 index 00000000000..8d0b16b8a47 --- /dev/null +++ b/java/src/IceGridGUI/NodeObserverI.java @@ -0,0 +1,125 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +package IceGridGUI; + +import javax.swing.SwingUtilities; +import IceGrid.*; + +class NodeObserverI extends _NodeObserverDisp +{ + NodeObserverI(Coordinator coordinator) + { + _coordinator = coordinator; + _trace = _coordinator.traceObservers(); + } + + public void nodeInit(final NodeDynamicInfo[] nodes, Ice.Current current) + { + if(_trace) + { + if(nodes.length == 0) + { + _coordinator.traceObserver("nodeInit (no node)"); + } + else + { + String names = ""; + for(NodeDynamicInfo node : nodes) + { + names += " " + node.info.name; + } + _coordinator.traceObserver("nodeInit for node" + (nodes.length == 1 ? "" : "s") + names); + } + } + + SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + for(NodeDynamicInfo node : nodes) + { + _coordinator.nodeUp(node); + } + } + }); + } + + public void nodeUp(final NodeDynamicInfo nodeInfo, Ice.Current current) + { + if(_trace) + { + _coordinator.traceObserver("nodeUp for node " + nodeInfo.info.name); + } + + SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + _coordinator.nodeUp(nodeInfo); + } + }); + } + + public void nodeDown(final String nodeName, Ice.Current current) + { + if(_trace) + { + _coordinator.traceObserver("nodeUp for node " + nodeName); + } + + SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + _coordinator.nodeDown(nodeName); + } + }); + } + + public void updateServer(final String node, final ServerDynamicInfo updatedInfo, Ice.Current current) + { + if(_trace) + { + _coordinator.traceObserver("updateServer for server " + updatedInfo.id + + " on node " + node + "; new state is " + + updatedInfo.state.toString()); + } + + SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + _coordinator.updateServer(node, updatedInfo); + } + }); + } + + public void updateAdapter(final String node, final AdapterDynamicInfo updatedInfo, Ice.Current current) + { + if(_trace) + { + _coordinator.traceObserver("updateAdapter for adapter " + updatedInfo.id + + " on node " + node + "; new proxy is " + + (updatedInfo.proxy == null ? "null" + : updatedInfo.proxy.toString())); + } + + SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + _coordinator.updateAdapter(node, updatedInfo); + } + }); + } + + private final Coordinator _coordinator; + private final boolean _trace; +} |