summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/LiveDeployment/TreeNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceGridGUI/LiveDeployment/TreeNode.java')
-rw-r--r--java/src/IceGridGUI/LiveDeployment/TreeNode.java219
1 files changed, 219 insertions, 0 deletions
diff --git a/java/src/IceGridGUI/LiveDeployment/TreeNode.java b/java/src/IceGridGUI/LiveDeployment/TreeNode.java
new file mode 100644
index 00000000000..1f62fa89bf5
--- /dev/null
+++ b/java/src/IceGridGUI/LiveDeployment/TreeNode.java
@@ -0,0 +1,219 @@
+// **********************************************************************
+//
+// 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.LiveDeployment;
+
+import javax.swing.SwingUtilities;
+import javax.swing.JOptionPane;
+
+import IceGrid.*;
+import IceGridGUI.*;
+
+public abstract class TreeNode extends TreeNodeBase
+{
+ public abstract Editor getEditor();
+
+ TreeNode(TreeNode parent, String id)
+ {
+ super(parent, id);
+ }
+
+ Root getRoot()
+ {
+ assert _parent != null;
+ return ((TreeNode)_parent).getRoot();
+ }
+
+ //
+ // Actions
+ //
+ public static final int START = 0;
+ public static final int STOP = 1;
+ public static final int ENABLE = 2;
+ public static final int DISABLE = 3;
+
+ public static final int SIGHUP = 4;
+ public static final int SIGINT = 5;
+ public static final int SIGQUIT = 6;
+ public static final int SIGKILL = 7;
+ public static final int SIGUSR1 = 8;
+ public static final int SIGUSR2 = 9;
+ public static final int SIGTERM = 10;
+
+ public static final int WRITE_MESSAGE = 11;
+
+ public static final int RETRIEVE_STDOUT = 12;
+ public static final int RETRIEVE_STDERR = 13;
+ public static final int RETRIEVE_LOG = 14;
+
+ public static final int SHUTDOWN_NODE = 15;
+ public static final int SHUTDOWN_REGISTRY = 16;
+
+ public static final int PATCH_SERVER = 17;
+
+ public static final int ADD_OBJECT = 18;
+
+ public static final int OPEN_DEFINITION = 19;
+
+ static public final int ACTION_COUNT = 20;
+
+ public boolean[] getAvailableActions()
+ {
+ return new boolean[ACTION_COUNT];
+ }
+
+ public void start()
+ {
+ assert false;
+ }
+ public void stop()
+ {
+ assert false;
+ }
+ public void enable()
+ {
+ assert false;
+ }
+ public void disable()
+ {
+ assert false;
+ }
+ public void writeMessage()
+ {
+ assert false;
+ }
+ public void retrieveOutput(boolean stdout)
+ {
+ assert false;
+ }
+ public void retrieveLog()
+ {
+ assert false;
+ }
+ public void signal(String s)
+ {
+ assert false;
+ }
+ public void shutdownNode()
+ {
+ assert false;
+ }
+ public void shutdownRegistry()
+ {
+ assert false;
+ }
+ public void patchServer()
+ {
+ assert false;
+ }
+ public void addObject()
+ {
+ assert false;
+ }
+ public void openDefinition()
+ {
+ assert false;
+ }
+
+ //
+ // Helpers
+ //
+ protected void amiSuccess(final String prefix)
+ {
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ getCoordinator().getStatusBar().setText(prefix + "done.");
+ }
+ });
+ }
+
+ protected void amiFailure(String prefix, String title, Ice.UserException e)
+ {
+ if(e instanceof IceGrid.ServerNotExistException)
+ {
+ IceGrid.ServerNotExistException sne = (IceGrid.ServerNotExistException)e;
+
+ amiFailure(prefix, title, "Server '" + sne.id + "' was not registered with the IceGrid Registry");
+ }
+ else if(e instanceof IceGrid.ServerStartException)
+ {
+ IceGrid.ServerStartException ste = (IceGrid.ServerStartException)e;
+ amiFailure(prefix, title, "Server '" + ste.id + "' did not start: " + ste.reason);
+ }
+ else if(e instanceof IceGrid.ApplicationNotExistException)
+ {
+ amiFailure(prefix, title, "This application was not registered with the IceGrid Registry");
+ }
+ else if(e instanceof IceGrid.PatchException)
+ {
+ IceGrid.PatchException pe = (IceGrid.PatchException)e;
+
+ String message = "";
+ for(String s : pe.reasons)
+ {
+ if(message.length() > 0)
+ {
+ message += "\n";
+ }
+ message += s;
+ }
+ amiFailure(prefix, title, message);
+ }
+ else if(e instanceof IceGrid.NodeNotExistException)
+ {
+ IceGrid.NodeNotExistException nnee = (IceGrid.NodeNotExistException)e;
+
+ amiFailure(prefix, title, "Node '" + nnee.name + " 'was not registered with the IceGrid Registry.");
+ }
+ else if(e instanceof IceGrid.NodeUnreachableException)
+ {
+ IceGrid.NodeUnreachableException nue = (IceGrid.NodeUnreachableException)e;
+ amiFailure(prefix, title, "Node '" + nue.name + "' is unreachable: " + nue.reason);
+ }
+ else if(e instanceof IceGrid.DeploymentException)
+ {
+ IceGrid.DeploymentException de = (IceGrid.DeploymentException)e;
+ amiFailure(prefix, title, "Deployment exception: " + de.reason);
+ }
+ else
+ {
+ amiFailure(prefix, title, e.toString());
+ }
+ }
+
+ protected void amiFailure(final String prefix, final String title, final String message)
+ {
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ failure(prefix, title, message);
+ }
+ });
+ }
+
+ protected void failure(String prefix, String title, String message)
+ {
+ getCoordinator().getStatusBar().setText(prefix + "failed!");
+
+ JOptionPane.showMessageDialog(
+ getCoordinator().getMainFrame(),
+ message,
+ title,
+ JOptionPane.ERROR_MESSAGE);
+ }
+
+ void reparent(TreeNode newParent)
+ {
+ assert newParent != null;
+ _parent = newParent;
+ }
+}