diff options
author | Bernard Normier <bernard@zeroc.com> | 2005-10-26 23:54:03 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2005-10-26 23:54:03 +0000 |
commit | 220fbc2ebd2a073cd6884eddf7cf2e6fe0d80b2c (patch) | |
tree | b87d9e55c73636939edd098ea6b16f3f2b413e09 /java/src/IceGrid/TreeNode/Node.java | |
parent | new icons for IceGrid (diff) | |
download | ice-220fbc2ebd2a073cd6884eddf7cf2e6fe0d80b2c.tar.bz2 ice-220fbc2ebd2a073cd6884eddf7cf2e6fe0d80b2c.tar.xz ice-220fbc2ebd2a073cd6884eddf7cf2e6fe0d80b2c.zip |
Implemented node shutdown
Diffstat (limited to 'java/src/IceGrid/TreeNode/Node.java')
-rwxr-xr-x | java/src/IceGrid/TreeNode/Node.java | 53 |
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()
{
|