summaryrefslogtreecommitdiff
path: root/java/src/IceGrid/TreeNode/Node.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2005-10-26 23:54:03 +0000
committerBernard Normier <bernard@zeroc.com>2005-10-26 23:54:03 +0000
commit220fbc2ebd2a073cd6884eddf7cf2e6fe0d80b2c (patch)
treeb87d9e55c73636939edd098ea6b16f3f2b413e09 /java/src/IceGrid/TreeNode/Node.java
parentnew icons for IceGrid (diff)
downloadice-220fbc2ebd2a073cd6884eddf7cf2e6fe0d80b2c.tar.bz2
ice-220fbc2ebd2a073cd6884eddf7cf2e6fe0d80b2c.tar.xz
ice-220fbc2ebd2a073cd6884eddf7cf2e6fe0d80b2c.zip
Implemented node shutdown
Diffstat (limited to 'java/src/IceGrid/TreeNode/Node.java')
-rwxr-xr-xjava/src/IceGrid/TreeNode/Node.java53
1 files changed, 52 insertions, 1 deletions
diff --git a/java/src/IceGrid/TreeNode/Node.java b/java/src/IceGrid/TreeNode/Node.java
index 484439b3382..75e7bad94d9 100755
--- a/java/src/IceGrid/TreeNode/Node.java
+++ b/java/src/IceGrid/TreeNode/Node.java
@@ -9,6 +9,8 @@
package IceGrid.TreeNode;
import java.awt.Component;
+import java.awt.Cursor;
+
import javax.swing.Icon;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
@@ -18,6 +20,8 @@ import javax.swing.JTree;
import javax.swing.tree.TreeCellRenderer;
import javax.swing.tree.DefaultTreeCellRenderer;
+import IceGrid.AMI_Admin_shutdownNode;
+
import IceGrid.NodeDescriptor;
import IceGrid.NodeInfo;
import IceGrid.Model;
@@ -149,8 +153,55 @@ class Node extends EditableParent
}
public void shutdownNode()
{
- // TODO: implement!
+ final String prefix = "Shutting down node '" + _id + "'...";
+ _model.getStatusBar().setText(prefix);
+
+ AMI_Admin_shutdownNode cb = new AMI_Admin_shutdownNode()
+ {
+ //
+ // Called by another thread!
+ //
+ public void ice_response()
+ {
+ amiSuccess(prefix);
+ }
+
+ public void ice_exception(Ice.UserException e)
+ {
+ amiFailure(prefix, "Failed to shutdown " + _id, e);
+ }
+
+ public void ice_exception(Ice.LocalException e)
+ {
+ amiFailure(prefix, "Failed to shutdown " + _id,
+ e.toString());
+ }
+ };
+
+ try
+ {
+ _model.getMainFrame().setCursor(
+ Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+
+ _model.getAdmin().shutdownNode_async(cb, _id);
+ }
+ catch(Ice.LocalException e)
+ {
+ failure(prefix, "Failed to shutdown " + _id, e.toString());
+ }
+ finally
+ {
+ _model.getMainFrame().setCursor(
+ Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+ }
+
+
+ //
+ // Recompute actions in case this comes from popup menu
+ //
+ _model.showActions(_model.getSelectedNode());
}
+
public boolean destroy()
{