summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Coordinator.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceGridGUI/Coordinator.java')
-rwxr-xr-xjava/src/IceGridGUI/Coordinator.java4282
1 files changed, 2141 insertions, 2141 deletions
diff --git a/java/src/IceGridGUI/Coordinator.java b/java/src/IceGridGUI/Coordinator.java
index 023a75bdb02..0d86c583d83 100755
--- a/java/src/IceGridGUI/Coordinator.java
+++ b/java/src/IceGridGUI/Coordinator.java
@@ -74,571 +74,571 @@ public class Coordinator
{
private class StatusBarI extends JPanel implements StatusBar
{
- StatusBarI()
- {
- super(new BorderLayout());
- setBorder(new EmptyBorder(0, 13, 10, 13));
-
- _text = new JLabel();
- _text.setHorizontalAlignment(SwingConstants.LEFT);
- add(_text, BorderLayout.LINE_START);
-
- _connectedLabel = new JLabel("Working Offline");
- _connectedLabel.setHorizontalAlignment(SwingConstants.RIGHT);
- add(_connectedLabel, BorderLayout.LINE_END);
- }
-
- public void setText(String text)
- {
- _text.setText(text);
- }
-
- public void setConnected(boolean connected)
- {
- if(connected)
- {
- _connectedLabel.setText("Working Online");
- }
- else
- {
- _connectedLabel.setText("Working Offline");
- }
- }
-
- JLabel _connectedLabel;
- JLabel _text;
+ StatusBarI()
+ {
+ super(new BorderLayout());
+ setBorder(new EmptyBorder(0, 13, 10, 13));
+
+ _text = new JLabel();
+ _text.setHorizontalAlignment(SwingConstants.LEFT);
+ add(_text, BorderLayout.LINE_START);
+
+ _connectedLabel = new JLabel("Working Offline");
+ _connectedLabel.setHorizontalAlignment(SwingConstants.RIGHT);
+ add(_connectedLabel, BorderLayout.LINE_END);
+ }
+
+ public void setText(String text)
+ {
+ _text.setText(text);
+ }
+
+ public void setConnected(boolean connected)
+ {
+ if(connected)
+ {
+ _connectedLabel.setText("Working Online");
+ }
+ else
+ {
+ _connectedLabel.setText("Working Offline");
+ }
+ }
+
+ JLabel _connectedLabel;
+ JLabel _text;
}
private class ActionWrapper extends AbstractAction implements java.beans.PropertyChangeListener
{
- public ActionWrapper(String name)
- {
- super(name);
- setEnabled(false);
- }
-
- public void actionPerformed(ActionEvent e)
- {
- if(_target != null)
- {
- _target.actionPerformed(e);
- }
- }
-
- public void propertyChange(java.beans.PropertyChangeEvent e)
- {
- //
- // The only property we're interested in is isEnabled
- //
-
- java.beans.PropertyChangeListener[] l = getPropertyChangeListeners();
- for(int i = 0; i < l.length; ++i)
- {
- l[i].propertyChange(e);
- }
- }
-
- void setTarget(Action t)
- {
- if(_target != t)
- {
- if(_target != null)
- {
- _target.removePropertyChangeListener(this);
- }
- _target = t;
- if(_target != null)
- {
- _target.addPropertyChangeListener(this);
- setEnabled(_target.isEnabled());
- }
- else
- {
- setEnabled(false);
- }
- }
- }
-
- Action getTarget()
- {
- return _target;
- }
-
- private Action _target;
+ public ActionWrapper(String name)
+ {
+ super(name);
+ setEnabled(false);
+ }
+
+ public void actionPerformed(ActionEvent e)
+ {
+ if(_target != null)
+ {
+ _target.actionPerformed(e);
+ }
+ }
+
+ public void propertyChange(java.beans.PropertyChangeEvent e)
+ {
+ //
+ // The only property we're interested in is isEnabled
+ //
+
+ java.beans.PropertyChangeListener[] l = getPropertyChangeListeners();
+ for(int i = 0; i < l.length; ++i)
+ {
+ l[i].propertyChange(e);
+ }
+ }
+
+ void setTarget(Action t)
+ {
+ if(_target != t)
+ {
+ if(_target != null)
+ {
+ _target.removePropertyChangeListener(this);
+ }
+ _target = t;
+ if(_target != null)
+ {
+ _target.addPropertyChangeListener(this);
+ setEnabled(_target.isEnabled());
+ }
+ else
+ {
+ setEnabled(false);
+ }
+ }
+ }
+
+ Action getTarget()
+ {
+ return _target;
+ }
+
+ private Action _target;
}
private class DeleteTextAction extends AbstractAction
{
- public DeleteTextAction(String name)
- {
- super(name);
- }
+ public DeleteTextAction(String name)
+ {
+ super(name);
+ }
- public void actionPerformed(ActionEvent e)
- {
- if(_target != null)
- {
- Action a = _target.getActionMap().get("delete-next");
- if(a != null)
- {
- a.actionPerformed(new ActionEvent(_target, ActionEvent.ACTION_PERFORMED, null));
- }
- }
- }
+ public void actionPerformed(ActionEvent e)
+ {
+ if(_target != null)
+ {
+ Action a = _target.getActionMap().get("delete-next");
+ if(a != null)
+ {
+ a.actionPerformed(new ActionEvent(_target, ActionEvent.ACTION_PERFORMED, null));
+ }
+ }
+ }
- void setTarget(JTextComponent t)
- {
- _target = t;
- }
+ void setTarget(JTextComponent t)
+ {
+ _target = t;
+ }
- private JTextComponent _target;
+ private JTextComponent _target;
}
private class FocusListener implements java.beans.PropertyChangeListener
{
- public void propertyChange(java.beans.PropertyChangeEvent e)
- {
- Object o = e.getNewValue();
- if(o == null)
- {
- unknownTarget();
- }
- else if(o instanceof JTextComponent)
- {
- enableTextEditActions((JTextComponent)o);
- }
- else if(o instanceof JTree)
- {
- JTree tree = (JTree)o;
- if(tree.getModel().getRoot() instanceof IceGridGUI.Application.Root)
- {
- enableTreetEditActions();
- }
- else
- {
- disableAllEditMenusAndButtons();
- }
- }
- else
- {
- unknownTarget();
- }
- }
-
- private void unknownTarget()
- {
- if(_copy.getTarget() == _copyText)
- {
- disableAllEditMenusAndButtons();
- }
- //
- // Otherwise (for good tree), do nothing.
- //
- }
-
- private void disableAllEditMenusAndButtons()
- {
- _cut.setTarget(null);
- _copy.setTarget(null);
- _paste.setTarget(null);
- _delete.setTarget(null);
- _moveUp.setTarget(null);
- _moveDown.setTarget(null);
- }
-
- private void enableTextEditActions(JTextComponent target)
- {
- boolean editable = target.isEditable() && target.isEnabled();
-
- _cutText.setEnabled(editable);
- _copyText.setEnabled(true);
- _pasteText.setEnabled(editable);
- _deleteText.setEnabled(editable);
- _deleteText.setTarget(target);
-
- if(_copy.getTarget() != _copyText)
- {
- _cut.setTarget(_cutText);
- _copy.setTarget(_copyText);
- _paste.setTarget(_pasteText);
- _delete.setTarget(_deleteText);
- _moveUp.setTarget(null);
- _moveDown.setTarget(null);
- }
- }
-
- private void enableTreetEditActions()
- {
- if(_copy.getTarget() != _appActionsForMenu.get(IceGridGUI.Application.TreeNode.COPY))
- {
- _cut.setTarget(null);
- _copy.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.COPY));
- _paste.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.PASTE));
- _delete.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.DELETE));
- _moveUp.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.MOVE_UP));
- _moveDown.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.MOVE_DOWN));
- }
- }
+ public void propertyChange(java.beans.PropertyChangeEvent e)
+ {
+ Object o = e.getNewValue();
+ if(o == null)
+ {
+ unknownTarget();
+ }
+ else if(o instanceof JTextComponent)
+ {
+ enableTextEditActions((JTextComponent)o);
+ }
+ else if(o instanceof JTree)
+ {
+ JTree tree = (JTree)o;
+ if(tree.getModel().getRoot() instanceof IceGridGUI.Application.Root)
+ {
+ enableTreetEditActions();
+ }
+ else
+ {
+ disableAllEditMenusAndButtons();
+ }
+ }
+ else
+ {
+ unknownTarget();
+ }
+ }
+
+ private void unknownTarget()
+ {
+ if(_copy.getTarget() == _copyText)
+ {
+ disableAllEditMenusAndButtons();
+ }
+ //
+ // Otherwise (for good tree), do nothing.
+ //
+ }
+
+ private void disableAllEditMenusAndButtons()
+ {
+ _cut.setTarget(null);
+ _copy.setTarget(null);
+ _paste.setTarget(null);
+ _delete.setTarget(null);
+ _moveUp.setTarget(null);
+ _moveDown.setTarget(null);
+ }
+
+ private void enableTextEditActions(JTextComponent target)
+ {
+ boolean editable = target.isEditable() && target.isEnabled();
+
+ _cutText.setEnabled(editable);
+ _copyText.setEnabled(true);
+ _pasteText.setEnabled(editable);
+ _deleteText.setEnabled(editable);
+ _deleteText.setTarget(target);
+
+ if(_copy.getTarget() != _copyText)
+ {
+ _cut.setTarget(_cutText);
+ _copy.setTarget(_copyText);
+ _paste.setTarget(_pasteText);
+ _delete.setTarget(_deleteText);
+ _moveUp.setTarget(null);
+ _moveDown.setTarget(null);
+ }
+ }
+
+ private void enableTreetEditActions()
+ {
+ if(_copy.getTarget() != _appActionsForMenu.get(IceGridGUI.Application.TreeNode.COPY))
+ {
+ _cut.setTarget(null);
+ _copy.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.COPY));
+ _paste.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.PASTE));
+ _delete.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.DELETE));
+ _moveUp.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.MOVE_UP));
+ _moveDown.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.MOVE_DOWN));
+ }
+ }
}
private class MenuBar extends JMenuBar
{
- private MenuBar()
- {
- putClientProperty(Options.HEADER_STYLE_KEY, HeaderStyle.BOTH);
- putClientProperty(PlasticLookAndFeel.BORDER_STYLE_KEY, BorderStyle.SEPARATOR);
-
- //
- // File menu
- //
- JMenu fileMenu = new JMenu("File");
- fileMenu.setMnemonic(java.awt.event.KeyEvent.VK_F);
- add(fileMenu);
-
- //
- // New sub-menu
- //
- _newMenu = new JMenu("New");
- fileMenu.add(_newMenu);
- _newMenu.add(_newApplication);
- _newMenu.add(_newApplicationWithDefaultTemplates);
- _newMenu.addSeparator();
-
- _newMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_ADAPTER));
- _newMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_DBENV));
- _newMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_NODE));
- _newMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_PROPERTY_SET));
- _newMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_REPLICA_GROUP));
-
-
- //
- // Open sub-menu
- //
- JMenu openMenu = new JMenu("Open");
- openMenu.add(_openApplicationFromFile);
- openMenu.add(_openApplicationFromRegistry);
-
-
- //
- // New server sub-sub-menu
- //
- _newServerMenu = new JMenu("Server");
- _newServerMenu.setEnabled(false);
- _newMenu.add(_newServerMenu);
- _newServerMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_SERVER));
- _newServerMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_SERVER_ICEBOX));
- _newServerMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_SERVER_FROM_TEMPLATE));
-
-
- //
- // New service sub-sub-menu
- //
- _newServiceMenu = new JMenu("Service");
- _newServiceMenu.setEnabled(false);
- _newMenu.add(_newServiceMenu);
- _newServiceMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_SERVICE));
- _newServiceMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_SERVICE_FROM_TEMPLATE));
-
- //
- // New template sub-sub-menu
- //
- _newTemplateMenu = new JMenu("Template");
- _newTemplateMenu.setEnabled(false);
- _newMenu.add(_newTemplateMenu);
- _newTemplateMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVER));
- _newTemplateMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVER_ICEBOX));
- _newTemplateMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVICE));
-
- fileMenu.addSeparator();
- fileMenu.add(_login);
- fileMenu.add(_logout);
- fileMenu.addSeparator();
- fileMenu.add(_acquireExclusiveWriteAccess);
- fileMenu.add(_releaseExclusiveWriteAccess);
- fileMenu.addSeparator();
- fileMenu.add(openMenu);
- fileMenu.add(_closeApplication);
- fileMenu.add(_save);
- fileMenu.add(_saveToFile);
- fileMenu.add(_saveToRegistry);
- fileMenu.addSeparator();
- fileMenu.add(_discardUpdates);
- if(!System.getProperty("os.name").startsWith("Mac OS"))
- {
- fileMenu.addSeparator();
- fileMenu.add(_exit);
- }
-
- //
- // Edit menu
- //
- JMenu editMenu = new JMenu("Edit");
- editMenu.setMnemonic(java.awt.event.KeyEvent.VK_E);
- add(editMenu);
-
- editMenu.add(_cut);
- editMenu.add(_copy);
- editMenu.add(_paste);
- editMenu.add(_delete);
- editMenu.addSeparator();
- editMenu.add(_moveUp);
- editMenu.add(_moveDown);
-
- //
- // View menu
- //
- JMenu viewMenu = new JMenu("View");
- viewMenu.setMnemonic(java.awt.event.KeyEvent.VK_V);
- add(viewMenu);
- viewMenu.add(_showVarsMenuItem);
- viewMenu.add(_substituteMenuItem);
- viewMenu.addSeparator();
- viewMenu.add(_back);
- viewMenu.add(_forward);
-
- //
- // Tools menu
- //
- JMenu toolsMenu = new JMenu("Tools");
- toolsMenu.setMnemonic(java.awt.event.KeyEvent.VK_T);
- add(toolsMenu);
-
- //
- // Application sub-menu
- //
- _appMenu = new JMenu("Application");
- _appMenu.setEnabled(false);
- toolsMenu.add(_appMenu);
- _appMenu.add(_patchApplication);
- _appMenu.add(_showApplicationDetails);
- _appMenu.addSeparator();
- _appMenu.add(_removeApplicationFromRegistry);
- _appMenu.setEnabled(false);
-
-
- //
- // Node sub-menu
- //
- _nodeMenu = new JMenu("Node");
- _nodeMenu.setEnabled(false);
- toolsMenu.add(_nodeMenu);
- _nodeMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SHUTDOWN_NODE));
-
- //
- // Registry sub-menu
- //
- _registryMenu = new JMenu("Registry");
- _registryMenu.setEnabled(false);
- toolsMenu.add(_registryMenu);
- _registryMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.ADD_OBJECT));
- _registryMenu.addSeparator();
+ private MenuBar()
+ {
+ putClientProperty(Options.HEADER_STYLE_KEY, HeaderStyle.BOTH);
+ putClientProperty(PlasticLookAndFeel.BORDER_STYLE_KEY, BorderStyle.SEPARATOR);
+
+ //
+ // File menu
+ //
+ JMenu fileMenu = new JMenu("File");
+ fileMenu.setMnemonic(java.awt.event.KeyEvent.VK_F);
+ add(fileMenu);
+
+ //
+ // New sub-menu
+ //
+ _newMenu = new JMenu("New");
+ fileMenu.add(_newMenu);
+ _newMenu.add(_newApplication);
+ _newMenu.add(_newApplicationWithDefaultTemplates);
+ _newMenu.addSeparator();
+
+ _newMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_ADAPTER));
+ _newMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_DBENV));
+ _newMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_NODE));
+ _newMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_PROPERTY_SET));
+ _newMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_REPLICA_GROUP));
+
+
+ //
+ // Open sub-menu
+ //
+ JMenu openMenu = new JMenu("Open");
+ openMenu.add(_openApplicationFromFile);
+ openMenu.add(_openApplicationFromRegistry);
+
+
+ //
+ // New server sub-sub-menu
+ //
+ _newServerMenu = new JMenu("Server");
+ _newServerMenu.setEnabled(false);
+ _newMenu.add(_newServerMenu);
+ _newServerMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_SERVER));
+ _newServerMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_SERVER_ICEBOX));
+ _newServerMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_SERVER_FROM_TEMPLATE));
+
+
+ //
+ // New service sub-sub-menu
+ //
+ _newServiceMenu = new JMenu("Service");
+ _newServiceMenu.setEnabled(false);
+ _newMenu.add(_newServiceMenu);
+ _newServiceMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_SERVICE));
+ _newServiceMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_SERVICE_FROM_TEMPLATE));
+
+ //
+ // New template sub-sub-menu
+ //
+ _newTemplateMenu = new JMenu("Template");
+ _newTemplateMenu.setEnabled(false);
+ _newMenu.add(_newTemplateMenu);
+ _newTemplateMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVER));
+ _newTemplateMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVER_ICEBOX));
+ _newTemplateMenu.add(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVICE));
+
+ fileMenu.addSeparator();
+ fileMenu.add(_login);
+ fileMenu.add(_logout);
+ fileMenu.addSeparator();
+ fileMenu.add(_acquireExclusiveWriteAccess);
+ fileMenu.add(_releaseExclusiveWriteAccess);
+ fileMenu.addSeparator();
+ fileMenu.add(openMenu);
+ fileMenu.add(_closeApplication);
+ fileMenu.add(_save);
+ fileMenu.add(_saveToFile);
+ fileMenu.add(_saveToRegistry);
+ fileMenu.addSeparator();
+ fileMenu.add(_discardUpdates);
+ if(!System.getProperty("os.name").startsWith("Mac OS"))
+ {
+ fileMenu.addSeparator();
+ fileMenu.add(_exit);
+ }
+
+ //
+ // Edit menu
+ //
+ JMenu editMenu = new JMenu("Edit");
+ editMenu.setMnemonic(java.awt.event.KeyEvent.VK_E);
+ add(editMenu);
+
+ editMenu.add(_cut);
+ editMenu.add(_copy);
+ editMenu.add(_paste);
+ editMenu.add(_delete);
+ editMenu.addSeparator();
+ editMenu.add(_moveUp);
+ editMenu.add(_moveDown);
+
+ //
+ // View menu
+ //
+ JMenu viewMenu = new JMenu("View");
+ viewMenu.setMnemonic(java.awt.event.KeyEvent.VK_V);
+ add(viewMenu);
+ viewMenu.add(_showVarsMenuItem);
+ viewMenu.add(_substituteMenuItem);
+ viewMenu.addSeparator();
+ viewMenu.add(_back);
+ viewMenu.add(_forward);
+
+ //
+ // Tools menu
+ //
+ JMenu toolsMenu = new JMenu("Tools");
+ toolsMenu.setMnemonic(java.awt.event.KeyEvent.VK_T);
+ add(toolsMenu);
+
+ //
+ // Application sub-menu
+ //
+ _appMenu = new JMenu("Application");
+ _appMenu.setEnabled(false);
+ toolsMenu.add(_appMenu);
+ _appMenu.add(_patchApplication);
+ _appMenu.add(_showApplicationDetails);
+ _appMenu.addSeparator();
+ _appMenu.add(_removeApplicationFromRegistry);
+ _appMenu.setEnabled(false);
+
+
+ //
+ // Node sub-menu
+ //
+ _nodeMenu = new JMenu("Node");
+ _nodeMenu.setEnabled(false);
+ toolsMenu.add(_nodeMenu);
+ _nodeMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SHUTDOWN_NODE));
+
+ //
+ // Registry sub-menu
+ //
+ _registryMenu = new JMenu("Registry");
+ _registryMenu.setEnabled(false);
+ toolsMenu.add(_registryMenu);
+ _registryMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.ADD_OBJECT));
+ _registryMenu.addSeparator();
_registryMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_STDOUT));
_registryMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_STDERR));
_registryMenu.addSeparator();
- _registryMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SHUTDOWN_REGISTRY));
-
- //
- // Server sub-menu
- //
- _serverMenu = new JMenu("Server");
- _serverMenu.setEnabled(false);
- toolsMenu.add(_serverMenu);
- _serverMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.START));
- _serverMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.STOP));
- _serverMenu.addSeparator();
- _serverMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.ENABLE));
- _serverMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.DISABLE));
- _serverMenu.addSeparator();
- _serverMenu.add(_liveActionsForMenu.get(
- IceGridGUI.LiveDeployment.TreeNode.PATCH_SERVER));
- _serverMenu.addSeparator();
- _serverMenu.add(_liveActionsForMenu.get(
- IceGridGUI.LiveDeployment.TreeNode.WRITE_MESSAGE));
- _serverMenu.add(_liveActionsForMenu.get(
- IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_STDOUT));
- _serverMenu.add(_liveActionsForMenu.get(
- IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_STDERR));
- _serverMenu.add(_liveActionsForMenu.get(
- IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_LOG));
- _serverMenu.addSeparator();
- _signalMenu = new JMenu("Send Signal");
- _serverMenu.add(_signalMenu);
- _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGHUP));
- _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGINT));
- _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGQUIT));
- _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGKILL));
- _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGUSR1));
- _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGUSR2));
- _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGTERM));
-
- //
- // Service sub-menu
- //
- _serviceMenu = new JMenu("Service");
- _serviceMenu.setEnabled(false);
- toolsMenu.add(_serviceMenu);
- _serviceMenu.add(_liveActionsForMenu.get(
- IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_LOG));
-
- //
- // Help menu
- //
- JMenu helpMenu = new JMenu("Help");
- helpMenu.setMnemonic(java.awt.event.KeyEvent.VK_H);
- add(helpMenu);
-
- helpMenu.add(_helpContents);
-
- helpMenu.addSeparator();
- helpMenu.add(_about);
- }
+ _registryMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SHUTDOWN_REGISTRY));
+
+ //
+ // Server sub-menu
+ //
+ _serverMenu = new JMenu("Server");
+ _serverMenu.setEnabled(false);
+ toolsMenu.add(_serverMenu);
+ _serverMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.START));
+ _serverMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.STOP));
+ _serverMenu.addSeparator();
+ _serverMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.ENABLE));
+ _serverMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.DISABLE));
+ _serverMenu.addSeparator();
+ _serverMenu.add(_liveActionsForMenu.get(
+ IceGridGUI.LiveDeployment.TreeNode.PATCH_SERVER));
+ _serverMenu.addSeparator();
+ _serverMenu.add(_liveActionsForMenu.get(
+ IceGridGUI.LiveDeployment.TreeNode.WRITE_MESSAGE));
+ _serverMenu.add(_liveActionsForMenu.get(
+ IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_STDOUT));
+ _serverMenu.add(_liveActionsForMenu.get(
+ IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_STDERR));
+ _serverMenu.add(_liveActionsForMenu.get(
+ IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_LOG));
+ _serverMenu.addSeparator();
+ _signalMenu = new JMenu("Send Signal");
+ _serverMenu.add(_signalMenu);
+ _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGHUP));
+ _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGINT));
+ _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGQUIT));
+ _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGKILL));
+ _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGUSR1));
+ _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGUSR2));
+ _signalMenu.add(_liveActionsForMenu.get(IceGridGUI.LiveDeployment.TreeNode.SIGTERM));
+
+ //
+ // Service sub-menu
+ //
+ _serviceMenu = new JMenu("Service");
+ _serviceMenu.setEnabled(false);
+ toolsMenu.add(_serviceMenu);
+ _serviceMenu.add(_liveActionsForMenu.get(
+ IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_LOG));
+
+ //
+ // Help menu
+ //
+ JMenu helpMenu = new JMenu("Help");
+ helpMenu.setMnemonic(java.awt.event.KeyEvent.VK_H);
+ add(helpMenu);
+
+ helpMenu.add(_helpContents);
+
+ helpMenu.addSeparator();
+ helpMenu.add(_about);
+ }
}
private class ToolBar extends JToolBar
{
- private ToolBar()
- {
- putClientProperty(Options.HEADER_STYLE_KEY, HeaderStyle.BOTH);
- putClientProperty(PlasticLookAndFeel.BORDER_STYLE_KEY, BorderStyle.SEPARATOR);
- setFloatable(false);
- putClientProperty("JToolBar.isRollover", Boolean.TRUE);
-
- JButton button = new JButton(_login);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/login.png"));
- add(button);
- button = new JButton(_logout);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/logout.png"));
- add(button);
-
- addSeparator();
-
- button = new JButton(_back);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/back.png"));
- add(button);
- button = new JButton(_forward);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/forward.png"));
- add(button);
-
- addSeparator();
-
- button = new JButton(_openApplicationFromRegistry);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/open_from_registry.png"));
- add(button);
- button = new JButton(_openApplicationFromFile);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/open_from_file.png"));
- add(button);
-
- addSeparator();
-
- button = new JButton(_save);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/save.png"));
- add(button);
- button = new JButton(_saveToRegistry);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/save_to_registry.png"));
- add(button);
- button = new JButton(_saveToFile);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/save_to_file.png"));
- add(button);
- button = new JButton(_discardUpdates);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/discard.png"));
- add(button);
-
- addSeparator();
-
- button = new JButton(_copy);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/copy.png"));
- add(button);
- button = new JButton(_paste);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/paste.png"));
- add(button);
- button = new JButton(_delete);
- button.setText(null);
- button.setIcon(Utils.getIcon("/icons/24x24/delete.png"));
- add(button);
-
- addSeparator();
-
- add(_showVarsTool);
- add(_substituteTool);
- }
+ private ToolBar()
+ {
+ putClientProperty(Options.HEADER_STYLE_KEY, HeaderStyle.BOTH);
+ putClientProperty(PlasticLookAndFeel.BORDER_STYLE_KEY, BorderStyle.SEPARATOR);
+ setFloatable(false);
+ putClientProperty("JToolBar.isRollover", Boolean.TRUE);
+
+ JButton button = new JButton(_login);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/login.png"));
+ add(button);
+ button = new JButton(_logout);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/logout.png"));
+ add(button);
+
+ addSeparator();
+
+ button = new JButton(_back);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/back.png"));
+ add(button);
+ button = new JButton(_forward);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/forward.png"));
+ add(button);
+
+ addSeparator();
+
+ button = new JButton(_openApplicationFromRegistry);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/open_from_registry.png"));
+ add(button);
+ button = new JButton(_openApplicationFromFile);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/open_from_file.png"));
+ add(button);
+
+ addSeparator();
+
+ button = new JButton(_save);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/save.png"));
+ add(button);
+ button = new JButton(_saveToRegistry);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/save_to_registry.png"));
+ add(button);
+ button = new JButton(_saveToFile);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/save_to_file.png"));
+ add(button);
+ button = new JButton(_discardUpdates);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/discard.png"));
+ add(button);
+
+ addSeparator();
+
+ button = new JButton(_copy);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/copy.png"));
+ add(button);
+ button = new JButton(_paste);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/paste.png"));
+ add(button);
+ button = new JButton(_delete);
+ button.setText(null);
+ button.setIcon(Utils.getIcon("/icons/24x24/delete.png"));
+ add(button);
+
+ addSeparator();
+
+ add(_showVarsTool);
+ add(_substituteTool);
+ }
}
public Ice.Communicator getCommunicator()
{
- if(_communicator == null)
- {
- try
- {
- _communicator = Ice.Util.initialize(_initData);
- }
- catch(Ice.LocalException e)
- {
- JOptionPane.showMessageDialog(null,
- e.toString(),
- "Communicator initialization failed",
- JOptionPane.ERROR_MESSAGE);
- }
- }
- return _communicator;
+ if(_communicator == null)
+ {
+ try
+ {
+ _communicator = Ice.Util.initialize(_initData);
+ }
+ catch(Ice.LocalException e)
+ {
+ JOptionPane.showMessageDialog(null,
+ e.toString(),
+ "Communicator initialization failed",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ }
+ return _communicator;
}
public Ice.Properties getProperties()
{
- return _initData.properties;
+ return _initData.properties;
}
public Tab getCurrentTab()
{
- return (Tab)_mainPane.getSelectedComponent();
+ return (Tab)_mainPane.getSelectedComponent();
}
public Action getBackAction()
{
- return _back;
+ return _back;
}
public Action getForwardAction()
{
- return _forward;
+ return _forward;
}
public Action getCloseApplicationAction()
{
- return _closeApplication;
+ return _closeApplication;
}
public Action getSaveAction()
{
- return _save;
+ return _save;
}
public Action getSaveToRegistryAction()
{
- return _saveToRegistry;
+ return _saveToRegistry;
}
public Action getSaveToFileAction()
{
- return _saveToFile;
+ return _saveToFile;
}
public Action getDiscardUpdatesAction()
{
- return _discardUpdates;
+ return _discardUpdates;
}
//
@@ -646,62 +646,62 @@ public class Coordinator
//
public ApplicationPane openLiveApplication(String applicationName)
{
- ApplicationPane app = (ApplicationPane)_liveApplications.get(applicationName);
- if(app == null)
- {
- ApplicationDescriptor desc =
- _liveDeploymentRoot.getApplicationDescriptor(applicationName);
- if(desc == null)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "The application '" + applicationName + "' was not found in the registry.",
- "No such application",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
- //
- // Essential: deep-copy desc!
- //
- desc = IceGridGUI.Application.Root.copyDescriptor(desc);
- IceGridGUI.Application.Root root;
- try
- {
- root = new IceGridGUI.Application.Root(this, desc, true, null);
- }
- catch(IceGridGUI.Application.UpdateFailedException e)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- e.toString(),
- "Bad Application Descriptor: Unable load from Registry",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
-
- app = new ApplicationPane(root);
- _mainPane.addApplication(app);
- _liveApplications.put(applicationName, app);
- }
- _mainPane.setSelectedComponent(app);
- return app;
+ ApplicationPane app = (ApplicationPane)_liveApplications.get(applicationName);
+ if(app == null)
+ {
+ ApplicationDescriptor desc =
+ _liveDeploymentRoot.getApplicationDescriptor(applicationName);
+ if(desc == null)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "The application '" + applicationName + "' was not found in the registry.",
+ "No such application",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+ //
+ // Essential: deep-copy desc!
+ //
+ desc = IceGridGUI.Application.Root.copyDescriptor(desc);
+ IceGridGUI.Application.Root root;
+ try
+ {
+ root = new IceGridGUI.Application.Root(this, desc, true, null);
+ }
+ catch(IceGridGUI.Application.UpdateFailedException e)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ e.toString(),
+ "Bad Application Descriptor: Unable load from Registry",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+
+ app = new ApplicationPane(root);
+ _mainPane.addApplication(app);
+ _liveApplications.put(applicationName, app);
+ }
+ _mainPane.setSelectedComponent(app);
+ return app;
}
public void removeLiveApplication(String name)
{
- _liveApplications.remove(name);
+ _liveApplications.remove(name);
}
public void addLiveApplication(IceGridGUI.Application.Root root)
{
- ApplicationPane app = _mainPane.findApplication(root);
- assert app != null;
- _liveApplications.put(app.getRoot().getId(), app);
+ ApplicationPane app = _mainPane.findApplication(root);
+ assert app != null;
+ _liveApplications.put(app.getRoot().getId(), app);
}
public ApplicationPane getLiveApplication(String name)
{
- return (ApplicationPane)_liveApplications.get(name);
+ return (ApplicationPane)_liveApplications.get(name);
}
@@ -709,65 +709,65 @@ public class Coordinator
// From the Application observer:
//
void applicationInit(String instanceName, int serial, java.util.List applications)
- {
- assert _latestSerial == -1;
- _latestSerial = serial;
+ {
+ assert _latestSerial == -1;
+ _latestSerial = serial;
- _liveDeploymentRoot.applicationInit(instanceName,
- _sessionKeeper.getReplicaName(), applications);
- //
- // When we get this init, we can't have any live Application yet.
- //
+ _liveDeploymentRoot.applicationInit(instanceName,
+ _sessionKeeper.getReplicaName(), applications);
+ //
+ // When we get this init, we can't have any live Application yet.
+ //
}
void applicationAdded(int serial, ApplicationInfo info)
{
- _liveDeploymentRoot.applicationAdded(info);
- _liveDeploymentPane.refresh();
- _statusBar.setText(
- "Last update: new application '" + info.descriptor.name + "'");
- updateSerial(serial);
+ _liveDeploymentRoot.applicationAdded(info);
+ _liveDeploymentPane.refresh();
+ _statusBar.setText(
+ "Last update: new application '" + info.descriptor.name + "'");
+ updateSerial(serial);
}
void applicationRemoved(int serial, String name)
{
- _liveDeploymentRoot.applicationRemoved(name);
- _liveDeploymentPane.refresh();
- _statusBar.setText(
- "Last update: application '" + name + "' was removed");
-
- ApplicationPane app =
- (ApplicationPane)_liveApplications.get(name);
-
- if(app != null)
- {
- if(app.getRoot().kill())
- {
- _mainPane.remove(app);
- }
- _liveApplications.remove(name);
- }
- updateSerial(serial);
+ _liveDeploymentRoot.applicationRemoved(name);
+ _liveDeploymentPane.refresh();
+ _statusBar.setText(
+ "Last update: application '" + name + "' was removed");
+
+ ApplicationPane app =
+ (ApplicationPane)_liveApplications.get(name);
+
+ if(app != null)
+ {
+ if(app.getRoot().kill())
+ {
+ _mainPane.remove(app);
+ }
+ _liveApplications.remove(name);
+ }
+ updateSerial(serial);
}
void applicationUpdated(int serial, ApplicationUpdateInfo update)
{
- _liveDeploymentRoot.applicationUpdated(update);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.applicationUpdated(update);
+ _liveDeploymentPane.refresh();
- _statusBar.setText("Last update: application '" + update.descriptor.name + "' was updated");
-
- ApplicationPane app =
- (ApplicationPane)_liveApplications.get(update.descriptor.name);
+ _statusBar.setText("Last update: application '" + update.descriptor.name + "' was updated");
+
+ ApplicationPane app =
+ (ApplicationPane)_liveApplications.get(update.descriptor.name);
- if(app != null)
- {
- if(app.getRoot().update(update.descriptor))
- {
- app.refresh();
- }
- }
- updateSerial(serial);
+ if(app != null)
+ {
+ if(app.getRoot().update(update.descriptor))
+ {
+ app.refresh();
+ }
+ }
+ updateSerial(serial);
}
//
@@ -775,26 +775,26 @@ public class Coordinator
//
void adapterInit(AdapterInfo[] adapters)
{
- _liveDeploymentRoot.adapterInit(adapters);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.adapterInit(adapters);
+ _liveDeploymentPane.refresh();
}
void adapterAdded(AdapterInfo info)
{
- _liveDeploymentRoot.adapterAdded(info);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.adapterAdded(info);
+ _liveDeploymentPane.refresh();
}
void adapterUpdated(AdapterInfo info)
{
- _liveDeploymentRoot.adapterUpdated(info);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.adapterUpdated(info);
+ _liveDeploymentPane.refresh();
}
void adapterRemoved(String id)
{
- _liveDeploymentRoot.adapterRemoved(id);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.adapterRemoved(id);
+ _liveDeploymentPane.refresh();
}
//
@@ -802,312 +802,312 @@ public class Coordinator
//
void objectInit(ObjectInfo[] objects)
{
- _liveDeploymentRoot.objectInit(objects);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.objectInit(objects);
+ _liveDeploymentPane.refresh();
}
void objectAdded(ObjectInfo info)
{
- _liveDeploymentRoot.objectAdded(info);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.objectAdded(info);
+ _liveDeploymentPane.refresh();
}
void objectUpdated(ObjectInfo info)
{
- _liveDeploymentRoot.objectUpdated(info);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.objectUpdated(info);
+ _liveDeploymentPane.refresh();
}
void objectRemoved(Ice.Identity id)
{
- _liveDeploymentRoot.objectRemoved(id);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.objectRemoved(id);
+ _liveDeploymentPane.refresh();
}
public void accessDenied(AccessDeniedException e)
{
- JOptionPane.showMessageDialog(
- _mainFrame,
- "Another session (username = " + e.lockUserId
- + ") has exclusive write access to the registry",
- "Access Denied",
- JOptionPane.ERROR_MESSAGE);
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "Another session (username = " + e.lockUserId
+ + ") has exclusive write access to the registry",
+ "Access Denied",
+ JOptionPane.ERROR_MESSAGE);
}
public void pasteApplication()
{
- Object descriptor = getClipboard();
- ApplicationDescriptor desc =
- IceGridGUI.Application.Root.copyDescriptor((ApplicationDescriptor)descriptor);
+ Object descriptor = getClipboard();
+ ApplicationDescriptor desc =
+ IceGridGUI.Application.Root.copyDescriptor((ApplicationDescriptor)descriptor);
- IceGridGUI.Application.Root root = new IceGridGUI.Application.Root(this, desc);
- ApplicationPane app = new ApplicationPane(root);
- _mainPane.addApplication(app);
- _mainPane.setSelectedComponent(app);
- root.setSelectedNode(root);
+ IceGridGUI.Application.Root root = new IceGridGUI.Application.Root(this, desc);
+ ApplicationPane app = new ApplicationPane(root);
+ _mainPane.addApplication(app);
+ _mainPane.setSelectedComponent(app);
+ root.setSelectedNode(root);
}
public void removeApplicationFromRegistry(final String name)
{
- _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
-
- try
- {
- Runnable runnable = new Runnable()
- {
- private void release()
- {
- releaseExclusiveWriteAccess();
- getMainFrame().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
- }
-
- private void handleFailure(String prefix, String title, String message)
- {
- release();
- getStatusBar().setText(prefix + "failed!");
-
- JOptionPane.showMessageDialog(
- getMainFrame(),
- message,
- title,
- JOptionPane.ERROR_MESSAGE);
- }
-
- public void run()
- {
- getMainFrame().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
- boolean asyncRelease = false;
-
-
- final String prefix = "Deleting application '" + name + "'...";
- AMI_Admin_removeApplication cb = new AMI_Admin_removeApplication()
- {
- public void ice_response()
- {
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("removeApplication for application " + name + ": success");
- }
-
- SwingUtilities.invokeLater(new Runnable()
- {
- public void run()
- {
- release();
- getStatusBar().setText(prefix + "done.");
- }
- });
- }
-
- public void ice_exception(final Ice.UserException e)
- {
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("removeApplication for application " + name + ": failed");
- }
-
- SwingUtilities.invokeLater(new Runnable()
- {
- public void run()
- {
- handleFailure(prefix, "Delete failed",
- "IceGrid exception: " + e.toString());
- }
-
- });
- }
-
- public void ice_exception(final Ice.LocalException e)
- {
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("removeApplication for application " + name + ": failed");
- }
-
- SwingUtilities.invokeLater(new Runnable()
- {
- public void run()
- {
- handleFailure(prefix, "Delete failed",
- "Communication exception: " + e.toString());
- }
- });
- }
- };
-
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("sending removeApplication for application " + name);
- }
-
- try
- {
- _sessionKeeper.getAdmin().removeApplication_async(cb, name);
- asyncRelease = true;
- }
- catch(Ice.LocalException e)
- {
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("Ice communications exception while removing application " + name);
- }
-
- JOptionPane.showMessageDialog(
- getMainFrame(),
- e.toString(),
- "Communication Exception",
- JOptionPane.ERROR_MESSAGE);
- }
- finally
- {
- if(!asyncRelease)
- {
- releaseExclusiveWriteAccess();
- getMainFrame().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
- }
- }
- }
- };
-
- acquireExclusiveWriteAccess(runnable);
- }
- catch(AccessDeniedException e)
- {
- accessDenied(e);
- }
- catch(Ice.LocalException e)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "Could not remove application '" + name +
- "' from IceGrid registry:\n" + e.toString(),
- "Trouble with IceGrid registry",
- JOptionPane.ERROR_MESSAGE);
- }
+ _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+
+ try
+ {
+ Runnable runnable = new Runnable()
+ {
+ private void release()
+ {
+ releaseExclusiveWriteAccess();
+ getMainFrame().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+ }
+
+ private void handleFailure(String prefix, String title, String message)
+ {
+ release();
+ getStatusBar().setText(prefix + "failed!");
+
+ JOptionPane.showMessageDialog(
+ getMainFrame(),
+ message,
+ title,
+ JOptionPane.ERROR_MESSAGE);
+ }
+
+ public void run()
+ {
+ getMainFrame().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+ boolean asyncRelease = false;
+
+
+ final String prefix = "Deleting application '" + name + "'...";
+ AMI_Admin_removeApplication cb = new AMI_Admin_removeApplication()
+ {
+ public void ice_response()
+ {
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("removeApplication for application " + name + ": success");
+ }
+
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ release();
+ getStatusBar().setText(prefix + "done.");
+ }
+ });
+ }
+
+ public void ice_exception(final Ice.UserException e)
+ {
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("removeApplication for application " + name + ": failed");
+ }
+
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ handleFailure(prefix, "Delete failed",
+ "IceGrid exception: " + e.toString());
+ }
+
+ });
+ }
+
+ public void ice_exception(final Ice.LocalException e)
+ {
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("removeApplication for application " + name + ": failed");
+ }
+
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ handleFailure(prefix, "Delete failed",
+ "Communication exception: " + e.toString());
+ }
+ });
+ }
+ };
+
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("sending removeApplication for application " + name);
+ }
+
+ try
+ {
+ _sessionKeeper.getAdmin().removeApplication_async(cb, name);
+ asyncRelease = true;
+ }
+ catch(Ice.LocalException e)
+ {
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("Ice communications exception while removing application " + name);
+ }
+
+ JOptionPane.showMessageDialog(
+ getMainFrame(),
+ e.toString(),
+ "Communication Exception",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ finally
+ {
+ if(!asyncRelease)
+ {
+ releaseExclusiveWriteAccess();
+ getMainFrame().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+ }
+ }
+ }
+ };
+
+ acquireExclusiveWriteAccess(runnable);
+ }
+ catch(AccessDeniedException e)
+ {
+ accessDenied(e);
+ }
+ catch(Ice.LocalException e)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "Could not remove application '" + name +
+ "' from IceGrid registry:\n" + e.toString(),
+ "Trouble with IceGrid registry",
+ JOptionPane.ERROR_MESSAGE);
+ }
}
public void acquireExclusiveWriteAccess(Runnable runnable)
- throws AccessDeniedException
- {
- if(_writeSerial == -1)
- {
- _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
- try
- {
- _writeSerial = _sessionKeeper.getSession().startUpdate();
-
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("startUpdate returned serial " + _writeSerial);
- }
- }
- finally
- {
- _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
- }
- }
-
- assert _onExclusiveWrite == null;
-
- //
- // Must increment now since run() can call releaseExclusiveWriteAccess()
- //
- _writeAccessCount++;
-
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("acquireExclusiveWriteAccess: writeAccessCount is " + _writeAccessCount);
- }
-
- if(runnable != null)
- {
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("lastestSerial is " + _latestSerial);
- }
-
- if(_writeSerial <= _latestSerial)
- {
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("run update immediately");
- }
- runnable.run();
- }
- else
- {
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("wait for updates from ApplicationObserver");
- }
- _onExclusiveWrite = runnable;
- _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
- //
- // TODO: start a thread to check we don't wait forever
- //
- }
- }
+ throws AccessDeniedException
+ {
+ if(_writeSerial == -1)
+ {
+ _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+ try
+ {
+ _writeSerial = _sessionKeeper.getSession().startUpdate();
+
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("startUpdate returned serial " + _writeSerial);
+ }
+ }
+ finally
+ {
+ _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+ }
+ }
+
+ assert _onExclusiveWrite == null;
+
+ //
+ // Must increment now since run() can call releaseExclusiveWriteAccess()
+ //
+ _writeAccessCount++;
+
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("acquireExclusiveWriteAccess: writeAccessCount is " + _writeAccessCount);
+ }
+
+ if(runnable != null)
+ {
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("lastestSerial is " + _latestSerial);
+ }
+
+ if(_writeSerial <= _latestSerial)
+ {
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("run update immediately");
+ }
+ runnable.run();
+ }
+ else
+ {
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("wait for updates from ApplicationObserver");
+ }
+ _onExclusiveWrite = runnable;
+ _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+ //
+ // TODO: start a thread to check we don't wait forever
+ //
+ }
+ }
}
public void releaseExclusiveWriteAccess()
{
- if(--_writeAccessCount == 0)
- {
- try
- {
- _writeSerial = -1;
- _sessionKeeper.getSession().finishUpdate();
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("finishUpdate done");
- }
- }
- catch(AccessDeniedException e)
- {
- accessDenied(e);
- }
- catch(Ice.ObjectNotExistException e)
- {
- //
- // Ignored, the session is gone, and so is the exclusive access.
- //
- }
- catch(Ice.LocalException e)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "Could not release exclusive write access on the IceGrid registry:\n"
- + e.toString(),
- "Trouble with IceGrid registry",
- JOptionPane.ERROR_MESSAGE);
- }
- }
-
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("releaseExclusiveWriteAccess: writeAccessCount is " + _writeAccessCount);
- }
+ if(--_writeAccessCount == 0)
+ {
+ try
+ {
+ _writeSerial = -1;
+ _sessionKeeper.getSession().finishUpdate();
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("finishUpdate done");
+ }
+ }
+ catch(AccessDeniedException e)
+ {
+ accessDenied(e);
+ }
+ catch(Ice.ObjectNotExistException e)
+ {
+ //
+ // Ignored, the session is gone, and so is the exclusive access.
+ //
+ }
+ catch(Ice.LocalException e)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "Could not release exclusive write access on the IceGrid registry:\n"
+ + e.toString(),
+ "Trouble with IceGrid registry",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ }
+
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("releaseExclusiveWriteAccess: writeAccessCount is " + _writeAccessCount);
+ }
}
private void updateSerial(int serial)
{
- assert serial == _latestSerial + 1;
- _latestSerial = serial;
-
- if(_writeAccessCount > 0 &&
- _writeSerial <= _latestSerial &&
- _onExclusiveWrite != null)
- {
- Runnable runnable = _onExclusiveWrite;
- _onExclusiveWrite = null;
-
- if(_traceSaveToRegistry)
- {
- traceSaveToRegistry("writeSerial <= latestSerial, running update");
- }
- runnable.run();
- _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
- }
+ assert serial == _latestSerial + 1;
+ _latestSerial = serial;
+
+ if(_writeAccessCount > 0 &&
+ _writeSerial <= _latestSerial &&
+ _onExclusiveWrite != null)
+ {
+ Runnable runnable = _onExclusiveWrite;
+ _onExclusiveWrite = null;
+
+ if(_traceSaveToRegistry)
+ {
+ traceSaveToRegistry("writeSerial <= latestSerial, running update");
+ }
+ runnable.run();
+ _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+ }
}
//
@@ -1115,14 +1115,14 @@ public class Coordinator
//
void registryUp(RegistryInfo info)
{
- _liveDeploymentRoot.registryUp(info);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.registryUp(info);
+ _liveDeploymentPane.refresh();
}
void registryDown(String registry)
{
- _liveDeploymentRoot.registryDown(registry);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.registryDown(registry);
+ _liveDeploymentPane.refresh();
}
//
@@ -1130,1226 +1130,1226 @@ public class Coordinator
//
void nodeUp(NodeDynamicInfo updatedInfo)
{
- _liveDeploymentRoot.nodeUp(updatedInfo);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.nodeUp(updatedInfo);
+ _liveDeploymentPane.refresh();
}
void nodeDown(String node)
{
- _liveDeploymentRoot.nodeDown(node);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.nodeDown(node);
+ _liveDeploymentPane.refresh();
}
void updateServer(String node, ServerDynamicInfo updatedInfo)
{
- _liveDeploymentRoot.updateServer(node, updatedInfo);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.updateServer(node, updatedInfo);
+ _liveDeploymentPane.refresh();
}
void updateAdapter(String node, AdapterDynamicInfo updatedInfo)
{
- _liveDeploymentRoot.updateAdapter(node, updatedInfo);
- _liveDeploymentPane.refresh();
+ _liveDeploymentRoot.updateAdapter(node, updatedInfo);
+ _liveDeploymentPane.refresh();
}
void sessionLost()
{
- _latestSerial = -1;
- _writeSerial = -1;
- _writeAccessCount = 0;
- _onExclusiveWrite = null;
- _liveDeploymentRoot.clear();
-
- //
- // Kill all live applications
- //
- java.util.Iterator p = _liveApplications.values().iterator();
- while(p.hasNext())
- {
- ApplicationPane app = (ApplicationPane)p.next();
- if(app.getRoot().kill())
- {
- _mainPane.remove(app);
- }
- }
- _liveApplications.clear();
-
- _logout.setEnabled(false);
- _openApplicationFromRegistry.setEnabled(false);
- _patchApplication.setEnabled(false);
- _showApplicationDetails.setEnabled(false);
- _removeApplicationFromRegistry.setEnabled(false);
- _appMenu.setEnabled(false);
- _newApplicationWithDefaultTemplates.setEnabled(false);
- _acquireExclusiveWriteAccess.setEnabled(false);
- _releaseExclusiveWriteAccess.setEnabled(false);
- _saveToRegistry.setEnabled(false);
+ _latestSerial = -1;
+ _writeSerial = -1;
+ _writeAccessCount = 0;
+ _onExclusiveWrite = null;
+ _liveDeploymentRoot.clear();
+
+ //
+ // Kill all live applications
+ //
+ java.util.Iterator p = _liveApplications.values().iterator();
+ while(p.hasNext())
+ {
+ ApplicationPane app = (ApplicationPane)p.next();
+ if(app.getRoot().kill())
+ {
+ _mainPane.remove(app);
+ }
+ }
+ _liveApplications.clear();
+
+ _logout.setEnabled(false);
+ _openApplicationFromRegistry.setEnabled(false);
+ _patchApplication.setEnabled(false);
+ _showApplicationDetails.setEnabled(false);
+ _removeApplicationFromRegistry.setEnabled(false);
+ _appMenu.setEnabled(false);
+ _newApplicationWithDefaultTemplates.setEnabled(false);
+ _acquireExclusiveWriteAccess.setEnabled(false);
+ _releaseExclusiveWriteAccess.setEnabled(false);
+ _saveToRegistry.setEnabled(false);
}
AdminSessionPrx login(SessionKeeper.LoginInfo info,
- Component parent,
- Ice.LongHolder keepAlivePeriodHolder)
- {
- _liveDeploymentRoot.clear();
-
- AdminSessionPrx session = null;
-
- destroyCommunicator();
-
- Ice.InitializationData initData = _initData;
- if(info.routed && info.routerSSLEnabled || !info.routed && info.registrySSLEnabled)
- {
- initData = (Ice.InitializationData)initData.clone();
- initData.properties = initData.properties._clone();
- initData.properties.setProperty("Ice.Plugin.IceSSL", "IceSSL.PluginFactory");
-
- //
- // Transform SSL info into properties
- //
- initData.properties.setProperty("IceSSL.Keystore", info.keystore);
- initData.properties.setProperty("IceSSL.Password", new String(info.keyPassword));
- initData.properties.setProperty("IceSSL.KeystorePassword", new String(info.keystorePassword));
- initData.properties.setProperty("IceSSL.Alias", info.alias);
- initData.properties.setProperty("IceSSL.Truststore", info.truststore);
- initData.properties.setProperty("IceSSL.TruststorePassword", new String(info.truststorePassword));
- }
-
- try
- {
- _communicator = Ice.Util.initialize(initData);
- }
- catch(Ice.LocalException e)
- {
- JOptionPane.showMessageDialog(parent,
- e.toString(),
- "Communicator initialization failed",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
-
- if(info.routed)
- {
- //
- // Router
- //
-
- Ice.Identity routerId = new Ice.Identity();
- routerId.category = info.routerInstanceName;
- routerId.name = "router";
- String str = "\"" + _communicator.identityToString(routerId) + "\"";
-
- if(!info.routerEndpoints.equals(""))
- {
- str += ":" + info.routerEndpoints;
- }
-
- try
- {
- Glacier2.RouterPrx router = Glacier2.RouterPrxHelper.
- uncheckedCast(_communicator.stringToProxy(str));
-
- //
- // The session must be routed through this router
- //
- _communicator.setDefaultRouter(router);
-
- Glacier2.SessionPrx s;
- if(info.routerUseSSL)
- {
- router = Glacier2.RouterPrxHelper.
- uncheckedCast(router.ice_secure(true));
-
- s = router.createSessionFromSecureConnection();
-
- if(s == null)
- {
- JOptionPane.showMessageDialog(
- parent,
- "createSessionFromSecureConnection returned a null session: \n"
- + "verify that Glacier2.SSLSessionManager is set to "
- + "<IceGridInstanceName>/AdminSSLSessionManager in your Glacier2 router configuration",
- "Login failed",
- JOptionPane.ERROR_MESSAGE);
-
- return null;
- }
- }
- else
- {
- s = router.createSession(
- info.routerUsername, new String(info.routerPassword));
-
- if(s == null)
- {
- JOptionPane.showMessageDialog(
- parent,
- "createSession returned a null session: \n"
- + "verify that Glacier2.SessionManager is set to "
- + "<IceGridInstanceName>/AdminSessionManager in your Glacier2 router configuration",
- "Login failed",
- JOptionPane.ERROR_MESSAGE);
-
- return null;
- }
- }
-
- session = AdminSessionPrxHelper.uncheckedCast(s);
- keepAlivePeriodHolder.value = router.getSessionTimeout() * 1000 / 2;
- }
- catch(Glacier2.PermissionDeniedException e)
- {
- if(e.reason.length() == 0)
- {
- e.reason = info.routerUseSSL ? "Invalid credentials" : "Invalid username/password";
- }
- JOptionPane.showMessageDialog(parent,
- "Permission denied: "
- + e.reason,
- "Login failed",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
- catch(Glacier2.CannotCreateSessionException e)
- {
- JOptionPane.showMessageDialog(parent,
- "Could not create session: "
- + e.reason,
- "Login failed",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
- catch(Ice.LocalException e)
- {
- JOptionPane.showMessageDialog(parent,
- "Could not create session: "
- + e.toString(),
- "Login failed",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
- }
- else
- {
- if(info.registryEndpoints.equals(""))
- {
- JOptionPane.showMessageDialog(
- parent,
- "You need to provide one or more endpoint for the Registry",
- "Login failed",
- JOptionPane.ERROR_MESSAGE);
-
- return null;
- }
-
- //
- // The client uses the locator only without routing
- //
- Ice.Identity locatorId = new Ice.Identity();
- locatorId.category = info.registryInstanceName;
- locatorId.name = "Locator";
- String str = "\"" + _communicator.identityToString(locatorId) + "\"";
- str += ":" + info.registryEndpoints;
-
- RegistryPrx localRegistry = null;
-
- try
- {
- IceGrid.LocatorPrx defaultLocator = IceGrid.LocatorPrxHelper.
- checkedCast(_communicator.stringToProxy(str));
-
- if(defaultLocator == null)
- {
- JOptionPane.showMessageDialog(
- parent,
- "This version of IceGrid Admin requires an IceGrid Registry version 3.2 or higher",
- "Version Mismatch",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
-
- localRegistry = defaultLocator.getLocalRegistry();
-
- _communicator.setDefaultLocator(defaultLocator);
- }
- catch(Ice.LocalException e)
- {
- JOptionPane.showMessageDialog(
- parent,
- "Could not contact '" + str + "': " + e.toString(),
- "Login failed",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
-
- RegistryPrx registry = localRegistry;
-
- if(info.connectToMaster)
- {
- Ice.Identity masterRegistryId = new Ice.Identity();
- masterRegistryId.category = info.registryInstanceName;
- masterRegistryId.name = "Registry";
-
- registry = RegistryPrxHelper.
- uncheckedCast(_communicator.stringToProxy("\"" +
- _communicator.identityToString(masterRegistryId) + "\""));
- }
-
- do
- {
- try
- {
- if(info.registryUseSSL)
- {
- registry = RegistryPrxHelper.
- uncheckedCast(registry.ice_secure(true));
-
- session = registry.createAdminSessionFromSecureConnection();
- assert session != null;
- }
- else
- {
- session = registry.createAdminSession(info.registryUsername,
- new String(info.registryPassword));
- assert session != null;
- }
- keepAlivePeriodHolder.value = registry.getSessionTimeout() * 1000 / 2;
- }
- catch(IceGrid.PermissionDeniedException e)
- {
- JOptionPane.showMessageDialog(parent,
- "Permission denied: "
- + e.reason,
- "Login failed",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
- catch(Ice.LocalException e)
- {
- if(registry.ice_getIdentity().equals(localRegistry.ice_getIdentity()))
- {
- JOptionPane.showMessageDialog(parent,
- "Could not create session: "
- + e.toString(),
- "Login failed",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
- else
- {
- if(JOptionPane.showConfirmDialog(
- parent,
- "Unable to connect to the Master Registry:\n " + e.toString()
- + "\n\nDo you want to connect to a Slave Registry?",
- "Cannot connect to Master Registry",
- JOptionPane.YES_NO_OPTION,
- JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION)
- {
-
- registry = localRegistry;
- }
- else
- {
- return null;
- }
- }
- }
- } while(session == null);
- }
-
- _logout.setEnabled(true);
- _openApplicationFromRegistry.setEnabled(true);
- _patchApplication.setEnabled(true);
- _showApplicationDetails.setEnabled(true);
- _removeApplicationFromRegistry.setEnabled(true);
- _appMenu.setEnabled(true);
- _newApplicationWithDefaultTemplates.setEnabled(true);
- _acquireExclusiveWriteAccess.setEnabled(true);
-
- _mainPane.setSelectedComponent(_liveDeploymentPane);
-
- return session;
+ Component parent,
+ Ice.LongHolder keepAlivePeriodHolder)
+ {
+ _liveDeploymentRoot.clear();
+
+ AdminSessionPrx session = null;
+
+ destroyCommunicator();
+
+ Ice.InitializationData initData = _initData;
+ if(info.routed && info.routerSSLEnabled || !info.routed && info.registrySSLEnabled)
+ {
+ initData = (Ice.InitializationData)initData.clone();
+ initData.properties = initData.properties._clone();
+ initData.properties.setProperty("Ice.Plugin.IceSSL", "IceSSL.PluginFactory");
+
+ //
+ // Transform SSL info into properties
+ //
+ initData.properties.setProperty("IceSSL.Keystore", info.keystore);
+ initData.properties.setProperty("IceSSL.Password", new String(info.keyPassword));
+ initData.properties.setProperty("IceSSL.KeystorePassword", new String(info.keystorePassword));
+ initData.properties.setProperty("IceSSL.Alias", info.alias);
+ initData.properties.setProperty("IceSSL.Truststore", info.truststore);
+ initData.properties.setProperty("IceSSL.TruststorePassword", new String(info.truststorePassword));
+ }
+
+ try
+ {
+ _communicator = Ice.Util.initialize(initData);
+ }
+ catch(Ice.LocalException e)
+ {
+ JOptionPane.showMessageDialog(parent,
+ e.toString(),
+ "Communicator initialization failed",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+
+ if(info.routed)
+ {
+ //
+ // Router
+ //
+
+ Ice.Identity routerId = new Ice.Identity();
+ routerId.category = info.routerInstanceName;
+ routerId.name = "router";
+ String str = "\"" + _communicator.identityToString(routerId) + "\"";
+
+ if(!info.routerEndpoints.equals(""))
+ {
+ str += ":" + info.routerEndpoints;
+ }
+
+ try
+ {
+ Glacier2.RouterPrx router = Glacier2.RouterPrxHelper.
+ uncheckedCast(_communicator.stringToProxy(str));
+
+ //
+ // The session must be routed through this router
+ //
+ _communicator.setDefaultRouter(router);
+
+ Glacier2.SessionPrx s;
+ if(info.routerUseSSL)
+ {
+ router = Glacier2.RouterPrxHelper.
+ uncheckedCast(router.ice_secure(true));
+
+ s = router.createSessionFromSecureConnection();
+
+ if(s == null)
+ {
+ JOptionPane.showMessageDialog(
+ parent,
+ "createSessionFromSecureConnection returned a null session: \n"
+ + "verify that Glacier2.SSLSessionManager is set to "
+ + "<IceGridInstanceName>/AdminSSLSessionManager in your Glacier2 router configuration",
+ "Login failed",
+ JOptionPane.ERROR_MESSAGE);
+
+ return null;
+ }
+ }
+ else
+ {
+ s = router.createSession(
+ info.routerUsername, new String(info.routerPassword));
+
+ if(s == null)
+ {
+ JOptionPane.showMessageDialog(
+ parent,
+ "createSession returned a null session: \n"
+ + "verify that Glacier2.SessionManager is set to "
+ + "<IceGridInstanceName>/AdminSessionManager in your Glacier2 router configuration",
+ "Login failed",
+ JOptionPane.ERROR_MESSAGE);
+
+ return null;
+ }
+ }
+
+ session = AdminSessionPrxHelper.uncheckedCast(s);
+ keepAlivePeriodHolder.value = router.getSessionTimeout() * 1000 / 2;
+ }
+ catch(Glacier2.PermissionDeniedException e)
+ {
+ if(e.reason.length() == 0)
+ {
+ e.reason = info.routerUseSSL ? "Invalid credentials" : "Invalid username/password";
+ }
+ JOptionPane.showMessageDialog(parent,
+ "Permission denied: "
+ + e.reason,
+ "Login failed",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+ catch(Glacier2.CannotCreateSessionException e)
+ {
+ JOptionPane.showMessageDialog(parent,
+ "Could not create session: "
+ + e.reason,
+ "Login failed",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+ catch(Ice.LocalException e)
+ {
+ JOptionPane.showMessageDialog(parent,
+ "Could not create session: "
+ + e.toString(),
+ "Login failed",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+ }
+ else
+ {
+ if(info.registryEndpoints.equals(""))
+ {
+ JOptionPane.showMessageDialog(
+ parent,
+ "You need to provide one or more endpoint for the Registry",
+ "Login failed",
+ JOptionPane.ERROR_MESSAGE);
+
+ return null;
+ }
+
+ //
+ // The client uses the locator only without routing
+ //
+ Ice.Identity locatorId = new Ice.Identity();
+ locatorId.category = info.registryInstanceName;
+ locatorId.name = "Locator";
+ String str = "\"" + _communicator.identityToString(locatorId) + "\"";
+ str += ":" + info.registryEndpoints;
+
+ RegistryPrx localRegistry = null;
+
+ try
+ {
+ IceGrid.LocatorPrx defaultLocator = IceGrid.LocatorPrxHelper.
+ checkedCast(_communicator.stringToProxy(str));
+
+ if(defaultLocator == null)
+ {
+ JOptionPane.showMessageDialog(
+ parent,
+ "This version of IceGrid Admin requires an IceGrid Registry version 3.2 or higher",
+ "Version Mismatch",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+
+ localRegistry = defaultLocator.getLocalRegistry();
+
+ _communicator.setDefaultLocator(defaultLocator);
+ }
+ catch(Ice.LocalException e)
+ {
+ JOptionPane.showMessageDialog(
+ parent,
+ "Could not contact '" + str + "': " + e.toString(),
+ "Login failed",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+
+ RegistryPrx registry = localRegistry;
+
+ if(info.connectToMaster)
+ {
+ Ice.Identity masterRegistryId = new Ice.Identity();
+ masterRegistryId.category = info.registryInstanceName;
+ masterRegistryId.name = "Registry";
+
+ registry = RegistryPrxHelper.
+ uncheckedCast(_communicator.stringToProxy("\"" +
+ _communicator.identityToString(masterRegistryId) + "\""));
+ }
+
+ do
+ {
+ try
+ {
+ if(info.registryUseSSL)
+ {
+ registry = RegistryPrxHelper.
+ uncheckedCast(registry.ice_secure(true));
+
+ session = registry.createAdminSessionFromSecureConnection();
+ assert session != null;
+ }
+ else
+ {
+ session = registry.createAdminSession(info.registryUsername,
+ new String(info.registryPassword));
+ assert session != null;
+ }
+ keepAlivePeriodHolder.value = registry.getSessionTimeout() * 1000 / 2;
+ }
+ catch(IceGrid.PermissionDeniedException e)
+ {
+ JOptionPane.showMessageDialog(parent,
+ "Permission denied: "
+ + e.reason,
+ "Login failed",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+ catch(Ice.LocalException e)
+ {
+ if(registry.ice_getIdentity().equals(localRegistry.ice_getIdentity()))
+ {
+ JOptionPane.showMessageDialog(parent,
+ "Could not create session: "
+ + e.toString(),
+ "Login failed",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+ else
+ {
+ if(JOptionPane.showConfirmDialog(
+ parent,
+ "Unable to connect to the Master Registry:\n " + e.toString()
+ + "\n\nDo you want to connect to a Slave Registry?",
+ "Cannot connect to Master Registry",
+ JOptionPane.YES_NO_OPTION,
+ JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION)
+ {
+
+ registry = localRegistry;
+ }
+ else
+ {
+ return null;
+ }
+ }
+ }
+ } while(session == null);
+ }
+
+ _logout.setEnabled(true);
+ _openApplicationFromRegistry.setEnabled(true);
+ _patchApplication.setEnabled(true);
+ _showApplicationDetails.setEnabled(true);
+ _removeApplicationFromRegistry.setEnabled(true);
+ _appMenu.setEnabled(true);
+ _newApplicationWithDefaultTemplates.setEnabled(true);
+ _acquireExclusiveWriteAccess.setEnabled(true);
+
+ _mainPane.setSelectedComponent(_liveDeploymentPane);
+
+ return session;
}
void destroySession(AdminSessionPrx session)
{
- _liveDeploymentRoot.closeAllShowLogDialogs();
-
- Ice.RouterPrx router = _communicator.getDefaultRouter();
-
- try
- {
- if(router == null)
- {
- session.destroy();
- }
- else
- {
- Glacier2.RouterPrx gr
- = Glacier2.RouterPrxHelper.uncheckedCast(router);
- gr.destroySession();
- }
- }
- catch(Glacier2.SessionNotExistException e)
- {
- // Ignored
- }
- catch(Ice.LocalException e)
- {
- // Ignored
- }
+ _liveDeploymentRoot.closeAllShowLogDialogs();
+
+ Ice.RouterPrx router = _communicator.getDefaultRouter();
+
+ try
+ {
+ if(router == null)
+ {
+ session.destroy();
+ }
+ else
+ {
+ Glacier2.RouterPrx gr
+ = Glacier2.RouterPrxHelper.uncheckedCast(router);
+ gr.destroySession();
+ }
+ }
+ catch(Glacier2.SessionNotExistException e)
+ {
+ // Ignored
+ }
+ catch(Ice.LocalException e)
+ {
+ // Ignored
+ }
}
void showVars()
{
- substitute(false);
+ substitute(false);
}
void substituteVars()
{
- substitute(true);
+ substitute(true);
}
private void substitute(boolean newValue)
{
- if(_substitute != newValue)
- {
- _substitute = newValue;
-
- boolean refresh = true;
- if(getCurrentTab() instanceof ApplicationPane)
- {
- ApplicationPane app = (ApplicationPane)getCurrentTab();
- if(!app.applyUpdates(true))
- {
- _substitute = !_substitute;
- refresh = false;
- }
- }
-
- if(_substitute)
- {
- _substituteMenuItem.setSelected(true);
- _substituteTool.setSelected(true);
- }
- else
- {
- _showVarsMenuItem.setSelected(true);
- _showVarsTool.setSelected(true);
- }
-
- if(refresh)
- {
- getCurrentTab().refresh();
- }
- }
+ if(_substitute != newValue)
+ {
+ _substitute = newValue;
+
+ boolean refresh = true;
+ if(getCurrentTab() instanceof ApplicationPane)
+ {
+ ApplicationPane app = (ApplicationPane)getCurrentTab();
+ if(!app.applyUpdates(true))
+ {
+ _substitute = !_substitute;
+ refresh = false;
+ }
+ }
+
+ if(_substitute)
+ {
+ _substituteMenuItem.setSelected(true);
+ _substituteTool.setSelected(true);
+ }
+ else
+ {
+ _showVarsMenuItem.setSelected(true);
+ _showVarsTool.setSelected(true);
+ }
+
+ if(refresh)
+ {
+ getCurrentTab().refresh();
+ }
+ }
}
public boolean substitute()
{
- return _substitute;
+ return _substitute;
}
public AdminPrx getAdmin()
{
- return _sessionKeeper.getAdmin();
+ return _sessionKeeper.getAdmin();
}
public StatusBar getStatusBar()
{
- return _statusBar;
+ return _statusBar;
}
public JFrame getMainFrame()
{
- return _mainFrame;
+ return _mainFrame;
}
public MainPane getMainPane()
{
- return _mainPane;
+ return _mainPane;
}
public ApplicationDescriptor parseFile(File file)
{
- if(_icegridadminProcess == null)
- {
- //
- // Start icegridadmin server
- //
- try
- {
- _icegridadminProcess = Runtime.getRuntime().exec("icegridadmin --server");
- }
- catch(java.io.IOException e)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "Failed to start icegridadmin subprocess: " + e.toString(),
- "IO Exception",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
-
- try
- {
- BufferedReader reader =
- new BufferedReader(new InputStreamReader(_icegridadminProcess.getInputStream(),
- "US-ASCII"));
-
- String str = reader.readLine();
- reader.close();
-
- if(str == null || str.length() == 0)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "The icegridadmin subprocess failed",
- "Subprocess failure",
- JOptionPane.ERROR_MESSAGE);
- destroyIceGridAdmin();
- return null;
- }
- _fileParser = str;
- }
- catch(java.io.UnsupportedEncodingException e)
- {
- assert false;
- }
- catch(java.io.IOException e)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "IO Exception: " + e.toString(),
- "IO Exception",
- JOptionPane.ERROR_MESSAGE);
-
- destroyIceGridAdmin();
- return null;
- }
- }
-
- try
- {
- FileParserPrx fileParser = FileParserPrxHelper.checkedCast(
- getCommunicator().stringToProxy(_fileParser).ice_router(null));
- return fileParser.parse(file.getAbsolutePath(),
- _sessionKeeper.getRoutedAdmin());
- }
- catch(ParseException e)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "Failed to parse file '" + file.getAbsolutePath() + "':\n" + e.toString(),
- "Parse error",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
- catch(Ice.LocalException e)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "Operation on FileParser failed:\n" + e.toString(),
- "Communication error",
- JOptionPane.ERROR_MESSAGE);
- destroyIceGridAdmin();
- return null;
- }
+ if(_icegridadminProcess == null)
+ {
+ //
+ // Start icegridadmin server
+ //
+ try
+ {
+ _icegridadminProcess = Runtime.getRuntime().exec("icegridadmin --server");
+ }
+ catch(java.io.IOException e)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "Failed to start icegridadmin subprocess: " + e.toString(),
+ "IO Exception",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+
+ try
+ {
+ BufferedReader reader =
+ new BufferedReader(new InputStreamReader(_icegridadminProcess.getInputStream(),
+ "US-ASCII"));
+
+ String str = reader.readLine();
+ reader.close();
+
+ if(str == null || str.length() == 0)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "The icegridadmin subprocess failed",
+ "Subprocess failure",
+ JOptionPane.ERROR_MESSAGE);
+ destroyIceGridAdmin();
+ return null;
+ }
+ _fileParser = str;
+ }
+ catch(java.io.UnsupportedEncodingException e)
+ {
+ assert false;
+ }
+ catch(java.io.IOException e)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "IO Exception: " + e.toString(),
+ "IO Exception",
+ JOptionPane.ERROR_MESSAGE);
+
+ destroyIceGridAdmin();
+ return null;
+ }
+ }
+
+ try
+ {
+ FileParserPrx fileParser = FileParserPrxHelper.checkedCast(
+ getCommunicator().stringToProxy(_fileParser).ice_router(null));
+ return fileParser.parse(file.getAbsolutePath(),
+ _sessionKeeper.getRoutedAdmin());
+ }
+ catch(ParseException e)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "Failed to parse file '" + file.getAbsolutePath() + "':\n" + e.toString(),
+ "Parse error",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+ catch(Ice.LocalException e)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "Operation on FileParser failed:\n" + e.toString(),
+ "Communication error",
+ JOptionPane.ERROR_MESSAGE);
+ destroyIceGridAdmin();
+ return null;
+ }
}
private void destroyIceGridAdmin()
{
- if(_icegridadminProcess != null)
- {
- try
- {
- _icegridadminProcess.destroy();
- }
- catch(Exception e)
- {}
- _icegridadminProcess = null;
- _fileParser = null;
- }
+ if(_icegridadminProcess != null)
+ {
+ try
+ {
+ _icegridadminProcess.destroy();
+ }
+ catch(Exception e)
+ {}
+ _icegridadminProcess = null;
+ _fileParser = null;
+ }
}
public File saveToFile(boolean ask, IceGridGUI.Application.Root root,
- File file)
- {
- if(ask || file == null)
- {
- if(file != null)
- {
- _saveXMLChooser.setSelectedFile(file);
- }
- else
- {
- _saveXMLChooser.setCurrentDirectory(_openChooser.getCurrentDirectory());
- }
-
- int result = _saveXMLChooser.showSaveDialog(_mainFrame);
-
- if(file == null || result == JFileChooser.APPROVE_OPTION)
- {
- _openChooser.setCurrentDirectory(_saveXMLChooser.getCurrentDirectory());
- }
-
- if(result == JFileChooser.APPROVE_OPTION)
- {
- file = _saveXMLChooser.getSelectedFile();
- }
- else
- {
- file = null;
- }
- }
- if(file != null)
- {
- if(!file.exists() && file.getName().indexOf('.') == -1)
- {
- file = new File(file.getAbsolutePath() + ".xml");
- }
-
- try
- {
- XMLWriter writer = new XMLWriter(file);
- root.write(writer);
- writer.close();
- _statusBar.setText(
- "Saved application '" + root.getId() + "' to "
- + file.getAbsolutePath());
- }
- catch(java.io.FileNotFoundException e)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "Cannot use the selected file for writing.",
- "File Not Found",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
- catch(java.io.IOException e)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "IO Exception: " + e.toString(),
- "IO Exception",
- JOptionPane.ERROR_MESSAGE);
- return null;
- }
- }
- return file;
+ File file)
+ {
+ if(ask || file == null)
+ {
+ if(file != null)
+ {
+ _saveXMLChooser.setSelectedFile(file);
+ }
+ else
+ {
+ _saveXMLChooser.setCurrentDirectory(_openChooser.getCurrentDirectory());
+ }
+
+ int result = _saveXMLChooser.showSaveDialog(_mainFrame);
+
+ if(file == null || result == JFileChooser.APPROVE_OPTION)
+ {
+ _openChooser.setCurrentDirectory(_saveXMLChooser.getCurrentDirectory());
+ }
+
+ if(result == JFileChooser.APPROVE_OPTION)
+ {
+ file = _saveXMLChooser.getSelectedFile();
+ }
+ else
+ {
+ file = null;
+ }
+ }
+ if(file != null)
+ {
+ if(!file.exists() && file.getName().indexOf('.') == -1)
+ {
+ file = new File(file.getAbsolutePath() + ".xml");
+ }
+
+ try
+ {
+ XMLWriter writer = new XMLWriter(file);
+ root.write(writer);
+ writer.close();
+ _statusBar.setText(
+ "Saved application '" + root.getId() + "' to "
+ + file.getAbsolutePath());
+ }
+ catch(java.io.FileNotFoundException e)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "Cannot use the selected file for writing.",
+ "File Not Found",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+ catch(java.io.IOException e)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "IO Exception: " + e.toString(),
+ "IO Exception",
+ JOptionPane.ERROR_MESSAGE);
+ return null;
+ }
+ }
+ return file;
}
public JFileChooser getSaveLogChooser()
{
- return _saveLogChooser;
+ return _saveLogChooser;
}
static private Ice.Properties createProperties(Ice.StringSeqHolder args)
{
- Ice.Properties properties = Ice.Util.createProperties();
-
- //
- // Set various default values
- //
- properties.setProperty("Ice.Override.ConnectTimeout", "5000");
-
- properties.setProperty("Ice.ThreadPerConnection", "1");
-
- //
- // For Glacier
- //
- properties.setProperty("Ice.ACM.Client", "0");
- properties.setProperty("Ice.MonitorConnections", "5");
-
- //
- // Disable retries
- //
- properties.setProperty("Ice.RetryIntervals", "-1");
-
- return Ice.Util.createProperties(args, properties);
+ Ice.Properties properties = Ice.Util.createProperties();
+
+ //
+ // Set various default values
+ //
+ properties.setProperty("Ice.Override.ConnectTimeout", "5000");
+
+ properties.setProperty("Ice.ThreadPerConnection", "1");
+
+ //
+ // For Glacier
+ //
+ properties.setProperty("Ice.ACM.Client", "0");
+ properties.setProperty("Ice.MonitorConnections", "5");
+
+ //
+ // Disable retries
+ //
+ properties.setProperty("Ice.RetryIntervals", "-1");
+
+ return Ice.Util.createProperties(args, properties);
}
Coordinator(JFrame mainFrame, Ice.StringSeqHolder args, Preferences prefs)
- {
- _mainFrame = mainFrame;
- _prefs = prefs;
- _initData = new Ice.InitializationData();
-
- _initData.logger = new Logger(mainFrame);
- _initData.properties = createProperties(args);
-
- if(args.value.length > 0)
- {
- String msg = "Extra command-line arguments: ";
- for(int i = 0; i < args.value.length; ++i)
- {
- msg += args.value[i] + " ";
- }
- _initData.logger.warning(msg);
- }
-
- _traceObservers = _initData.properties.getPropertyAsInt("IceGridAdmin.Trace.Observers") > 0;
- _traceSaveToRegistry = _initData.properties.getPropertyAsInt("IceGridAdmin.Trace.SaveToRegistry") > 0;
-
- _liveDeploymentRoot = new IceGridGUI.LiveDeployment.Root(this);
-
- _sessionKeeper = new SessionKeeper(this);
-
- _shutdownHook = new Thread("Shutdown hook")
- {
- public void run()
- {
- destroyIceGridAdmin();
- destroyCommunicator();
- }
- };
- Runtime.getRuntime().addShutdownHook(_shutdownHook);
-
-
- _saveXMLChooser = new JFileChooser(
- _prefs.get("current directory", null));
-
- _saveXMLChooser.addChoosableFileFilter(new FileFilter()
- {
- public boolean accept(File f)
- {
- return f.isDirectory() || f.getName().endsWith(".xml");
- }
-
- public String getDescription()
- {
- return ".xml files";
- }
- });
-
- _saveLogChooser = new JFileChooser(
- _prefs.get("current directory", null));
-
- _saveLogChooser.addChoosableFileFilter(new FileFilter()
- {
- public boolean accept(File f)
- {
- return f.isDirectory() ||
- f.getName().endsWith(".out") ||
- f.getName().endsWith(".err") ||
- f.getName().endsWith(".log") ||
- f.getName().endsWith(".txt");
- }
-
- public String getDescription()
- {
- return ".out .err .log .txt files";
- }
- });
-
- javax.swing.UIManager.put("FileChooser.readOnly", Boolean.TRUE);
-
- _openChooser = new JFileChooser(_saveXMLChooser.getCurrentDirectory());
-
- _openChooser.addChoosableFileFilter(_saveXMLChooser.getChoosableFileFilters()[1]);
-
-
- final int MENU_MASK = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
-
- //
- // Common actions (nodes not involved)
- //
- _newApplication = new AbstractAction("Application")
- {
- public void actionPerformed(ActionEvent e)
- {
- newApplication();
- }
- };
-
- _newApplicationWithDefaultTemplates =
- new AbstractAction("Application with Default Templates from Registry")
- {
- public void actionPerformed(ActionEvent e)
- {
- newApplicationWithDefaultTemplates();
- }
- };
- _newApplicationWithDefaultTemplates.setEnabled(false);
-
- _login = new AbstractAction("Login...")
- {
- public void actionPerformed(ActionEvent e)
- {
- _sessionKeeper.relog(true);
- }
- };
- _login.putValue(Action.SHORT_DESCRIPTION,
- "Log into an IceGrid Registry");
-
- _logout = new AbstractAction("Logout")
- {
- public void actionPerformed(ActionEvent e)
- {
- _sessionKeeper.logout(true);
- }
- };
- _logout.putValue(Action.SHORT_DESCRIPTION, "Logout");
- _logout.setEnabled(false);
-
- _acquireExclusiveWriteAccess = new AbstractAction("Acquire Exclusive Write Access")
- {
- public void actionPerformed(ActionEvent e)
- {
- try
- {
- acquireExclusiveWriteAccess(null);
- _releaseExclusiveWriteAccess.setEnabled(true);
- _acquireExclusiveWriteAccess.setEnabled(false);
- }
- catch(AccessDeniedException ade)
- {
- accessDenied(ade);
- }
- }
- };
- _acquireExclusiveWriteAccess.putValue(Action.SHORT_DESCRIPTION,
- "Acquire exclusive write access on the registry");
- _acquireExclusiveWriteAccess.setEnabled(false);
-
-
- _releaseExclusiveWriteAccess = new AbstractAction("Release Exclusive Write Access")
- {
- public void actionPerformed(ActionEvent e)
- {
- releaseExclusiveWriteAccess();
- _acquireExclusiveWriteAccess.setEnabled(true);
- _releaseExclusiveWriteAccess.setEnabled(false);
- }
- };
- _releaseExclusiveWriteAccess.putValue(Action.SHORT_DESCRIPTION,
- "Release exclusive write access on the registry");
- _releaseExclusiveWriteAccess.setEnabled(false);
-
- _openApplicationFromFile = new AbstractAction("Application from File")
- {
- public void actionPerformed(ActionEvent e)
- {
- int result = _openChooser.showOpenDialog(_mainFrame);
- if(result == JFileChooser.APPROVE_OPTION)
- {
- File file = _openChooser.getSelectedFile();
-
- ApplicationDescriptor desc = parseFile(file);
-
- if(desc != null)
- {
- IceGridGUI.Application.Root root;
- try
- {
- root = new IceGridGUI.Application.Root(Coordinator.this, desc, false, file);
- }
- catch(IceGridGUI.Application.UpdateFailedException ex)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- ex.toString(),
- "Bad Application Descriptor: Unable load from file",
- JOptionPane.ERROR_MESSAGE);
- return;
- }
-
- ApplicationPane app = new ApplicationPane(root);
- _mainPane.addApplication(app);
- _mainPane.setSelectedComponent(app);
- root.setSelectedNode(root);
- }
- }
- }
- };
- _openApplicationFromFile.putValue(Action.SHORT_DESCRIPTION, "Open application from file");
- _openApplicationFromFile.setEnabled(true);
-
- _openApplicationFromRegistry = new AbstractAction("Application from Registry")
- {
- public void actionPerformed(ActionEvent e)
- {
- Object[] applicationNames = _liveDeploymentRoot.getApplicationNames();
-
- if(applicationNames.length == 0)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "The registry does not contain any application",
- "Empty registry",
- JOptionPane.INFORMATION_MESSAGE);
- }
- else
- {
- String appName = (String)JOptionPane.showInputDialog(
- _mainFrame, "Which Application do you want to open?",
- "Open Application from registry",
- JOptionPane.QUESTION_MESSAGE, null,
- applicationNames, applicationNames[0]);
-
- if(appName != null)
- {
- ApplicationPane app = openLiveApplication(appName);
- if(app != null)
- {
- IceGridGUI.Application.Root root = app.getRoot();
- if(root.getSelectedNode() == null)
- {
- root.setSelectedNode(root);
- }
- }
- }
- }
- }
- };
- _openApplicationFromRegistry.putValue(Action.SHORT_DESCRIPTION, "Open application from registry");
- _openApplicationFromRegistry.setEnabled(false);
-
- _closeApplication = new AbstractAction("Close Application")
- {
- public void actionPerformed(ActionEvent e)
- {
- Tab tab = getCurrentTab();
- if(tab.close())
- {
- String id = ((ApplicationPane)tab).getRoot().getId();
- _liveApplications.remove(id);
- }
- }
- };
- _closeApplication.putValue(Action.SHORT_DESCRIPTION, "Close application");
-
- if(System.getProperty("os.name").startsWith("Mac OS"))
- {
- _closeApplication.putValue(Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_W, MENU_MASK));
- }
- else
- {
- _closeApplication.putValue(Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_F4, MENU_MASK));
- }
- _closeApplication.setEnabled(false);
-
-
- _save = new AbstractAction("Save")
- {
- public void actionPerformed(ActionEvent e)
- {
- getCurrentTab().save();
- }
- };
- _save.setEnabled(false);
- _save.putValue(Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_S, MENU_MASK));
- _save.putValue(Action.SHORT_DESCRIPTION, "Save");
-
-
- _saveToRegistry = new AbstractAction("Save to Registry")
- {
- public void actionPerformed(ActionEvent e)
- {
- getCurrentTab().saveToRegistry();
- }
- };
- _saveToRegistry.setEnabled(false);
- _saveToRegistry.putValue(Action.SHORT_DESCRIPTION, "Save to registry");
-
-
- _saveToFile = new AbstractAction("Save to File")
- {
- public void actionPerformed(ActionEvent e)
- {
- getCurrentTab().saveToFile();
- }
- };
- _saveToFile.setEnabled(false);
- _saveToFile.putValue(Action.SHORT_DESCRIPTION, "Save to file");
-
-
- _discardUpdates = new AbstractAction("Discard Updates")
- {
- public void actionPerformed(ActionEvent e)
- {
- getCurrentTab().discardUpdates();
- }
- };
- _discardUpdates.setEnabled(false);
- _discardUpdates.putValue(Action.SHORT_DESCRIPTION,
- "Discard updates and reload application");
-
-
- _exit = new AbstractAction("Exit")
- {
- public void actionPerformed(ActionEvent e)
- {
- exit(0);
- }
- };
- _exit.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("alt F4"));
-
- _back = new AbstractAction("Go Back to the Previous Node")
- {
- public void actionPerformed(ActionEvent e)
- {
- getCurrentTab().back();
- }
- };
- _back.setEnabled(false);
- _back.putValue(Action.SHORT_DESCRIPTION, "Go back to the previous node");
-
- _forward = new AbstractAction("Go to the Next Node")
- {
- public void actionPerformed(ActionEvent e)
- {
- getCurrentTab().forward();
- }
- };
- _forward.setEnabled(false);
- _forward.putValue(Action.SHORT_DESCRIPTION, "Go to the next node");
-
- _helpContents = new AbstractAction("Contents")
- {
- public void actionPerformed(ActionEvent e)
- {
- helpContents();
- }
- };
-
- _about = new AbstractAction("About")
- {
- public void actionPerformed(ActionEvent e)
- {
- about();
- }
- };
-
- _patchApplication = new AbstractAction("Patch Distribution")
- {
- public void actionPerformed(ActionEvent e)
- {
- Object[] applicationNames = _liveDeploymentRoot.getPatchableApplicationNames();
-
- if(applicationNames.length == 0)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "No application in this IceGrid registry can be patched",
- "No application",
- JOptionPane.INFORMATION_MESSAGE);
- }
- else
- {
- String appName = (String)JOptionPane.showInputDialog(
- _mainFrame, "Which Application do you want to patch?",
- "Patch application",
- JOptionPane.QUESTION_MESSAGE, null,
- applicationNames, applicationNames[0]);
-
- if(appName != null)
- {
- _liveDeploymentRoot.patch(appName);
- }
- }
- }
- };
- _patchApplication.setEnabled(false);
-
- _showApplicationDetails = new AbstractAction("Show details")
- {
- public void actionPerformed(ActionEvent e)
- {
- Object[] applicationNames = _liveDeploymentRoot.getApplicationNames();
-
- if(applicationNames.length == 0)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "There is no application deployed in this IceGrid registry",
- "No application",
- JOptionPane.INFORMATION_MESSAGE);
- }
- else
- {
- String appName = (String)JOptionPane.showInputDialog(
- _mainFrame, "Which Application do you to display",
- "Show details",
- JOptionPane.QUESTION_MESSAGE, null,
- applicationNames, applicationNames[0]);
-
- if(appName != null)
- {
- _liveDeploymentRoot.showApplicationDetails(appName);
- }
- }
- }
- };
- _showApplicationDetails.setEnabled(false);
+ {
+ _mainFrame = mainFrame;
+ _prefs = prefs;
+ _initData = new Ice.InitializationData();
+
+ _initData.logger = new Logger(mainFrame);
+ _initData.properties = createProperties(args);
+
+ if(args.value.length > 0)
+ {
+ String msg = "Extra command-line arguments: ";
+ for(int i = 0; i < args.value.length; ++i)
+ {
+ msg += args.value[i] + " ";
+ }
+ _initData.logger.warning(msg);
+ }
+
+ _traceObservers = _initData.properties.getPropertyAsInt("IceGridAdmin.Trace.Observers") > 0;
+ _traceSaveToRegistry = _initData.properties.getPropertyAsInt("IceGridAdmin.Trace.SaveToRegistry") > 0;
+
+ _liveDeploymentRoot = new IceGridGUI.LiveDeployment.Root(this);
+
+ _sessionKeeper = new SessionKeeper(this);
+
+ _shutdownHook = new Thread("Shutdown hook")
+ {
+ public void run()
+ {
+ destroyIceGridAdmin();
+ destroyCommunicator();
+ }
+ };
+ Runtime.getRuntime().addShutdownHook(_shutdownHook);
+
+
+ _saveXMLChooser = new JFileChooser(
+ _prefs.get("current directory", null));
+
+ _saveXMLChooser.addChoosableFileFilter(new FileFilter()
+ {
+ public boolean accept(File f)
+ {
+ return f.isDirectory() || f.getName().endsWith(".xml");
+ }
+
+ public String getDescription()
+ {
+ return ".xml files";
+ }
+ });
+
+ _saveLogChooser = new JFileChooser(
+ _prefs.get("current directory", null));
+
+ _saveLogChooser.addChoosableFileFilter(new FileFilter()
+ {
+ public boolean accept(File f)
+ {
+ return f.isDirectory() ||
+ f.getName().endsWith(".out") ||
+ f.getName().endsWith(".err") ||
+ f.getName().endsWith(".log") ||
+ f.getName().endsWith(".txt");
+ }
+
+ public String getDescription()
+ {
+ return ".out .err .log .txt files";
+ }
+ });
+
+ javax.swing.UIManager.put("FileChooser.readOnly", Boolean.TRUE);
+
+ _openChooser = new JFileChooser(_saveXMLChooser.getCurrentDirectory());
+
+ _openChooser.addChoosableFileFilter(_saveXMLChooser.getChoosableFileFilters()[1]);
+
+
+ final int MENU_MASK = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
+
+ //
+ // Common actions (nodes not involved)
+ //
+ _newApplication = new AbstractAction("Application")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ newApplication();
+ }
+ };
+
+ _newApplicationWithDefaultTemplates =
+ new AbstractAction("Application with Default Templates from Registry")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ newApplicationWithDefaultTemplates();
+ }
+ };
+ _newApplicationWithDefaultTemplates.setEnabled(false);
+
+ _login = new AbstractAction("Login...")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ _sessionKeeper.relog(true);
+ }
+ };
+ _login.putValue(Action.SHORT_DESCRIPTION,
+ "Log into an IceGrid Registry");
+
+ _logout = new AbstractAction("Logout")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ _sessionKeeper.logout(true);
+ }
+ };
+ _logout.putValue(Action.SHORT_DESCRIPTION, "Logout");
+ _logout.setEnabled(false);
+
+ _acquireExclusiveWriteAccess = new AbstractAction("Acquire Exclusive Write Access")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ try
+ {
+ acquireExclusiveWriteAccess(null);
+ _releaseExclusiveWriteAccess.setEnabled(true);
+ _acquireExclusiveWriteAccess.setEnabled(false);
+ }
+ catch(AccessDeniedException ade)
+ {
+ accessDenied(ade);
+ }
+ }
+ };
+ _acquireExclusiveWriteAccess.putValue(Action.SHORT_DESCRIPTION,
+ "Acquire exclusive write access on the registry");
+ _acquireExclusiveWriteAccess.setEnabled(false);
+
+
+ _releaseExclusiveWriteAccess = new AbstractAction("Release Exclusive Write Access")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ releaseExclusiveWriteAccess();
+ _acquireExclusiveWriteAccess.setEnabled(true);
+ _releaseExclusiveWriteAccess.setEnabled(false);
+ }
+ };
+ _releaseExclusiveWriteAccess.putValue(Action.SHORT_DESCRIPTION,
+ "Release exclusive write access on the registry");
+ _releaseExclusiveWriteAccess.setEnabled(false);
+
+ _openApplicationFromFile = new AbstractAction("Application from File")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ int result = _openChooser.showOpenDialog(_mainFrame);
+ if(result == JFileChooser.APPROVE_OPTION)
+ {
+ File file = _openChooser.getSelectedFile();
+
+ ApplicationDescriptor desc = parseFile(file);
+
+ if(desc != null)
+ {
+ IceGridGUI.Application.Root root;
+ try
+ {
+ root = new IceGridGUI.Application.Root(Coordinator.this, desc, false, file);
+ }
+ catch(IceGridGUI.Application.UpdateFailedException ex)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ ex.toString(),
+ "Bad Application Descriptor: Unable load from file",
+ JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+
+ ApplicationPane app = new ApplicationPane(root);
+ _mainPane.addApplication(app);
+ _mainPane.setSelectedComponent(app);
+ root.setSelectedNode(root);
+ }
+ }
+ }
+ };
+ _openApplicationFromFile.putValue(Action.SHORT_DESCRIPTION, "Open application from file");
+ _openApplicationFromFile.setEnabled(true);
+
+ _openApplicationFromRegistry = new AbstractAction("Application from Registry")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ Object[] applicationNames = _liveDeploymentRoot.getApplicationNames();
+
+ if(applicationNames.length == 0)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "The registry does not contain any application",
+ "Empty registry",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
+ else
+ {
+ String appName = (String)JOptionPane.showInputDialog(
+ _mainFrame, "Which Application do you want to open?",
+ "Open Application from registry",
+ JOptionPane.QUESTION_MESSAGE, null,
+ applicationNames, applicationNames[0]);
+
+ if(appName != null)
+ {
+ ApplicationPane app = openLiveApplication(appName);
+ if(app != null)
+ {
+ IceGridGUI.Application.Root root = app.getRoot();
+ if(root.getSelectedNode() == null)
+ {
+ root.setSelectedNode(root);
+ }
+ }
+ }
+ }
+ }
+ };
+ _openApplicationFromRegistry.putValue(Action.SHORT_DESCRIPTION, "Open application from registry");
+ _openApplicationFromRegistry.setEnabled(false);
+
+ _closeApplication = new AbstractAction("Close Application")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ Tab tab = getCurrentTab();
+ if(tab.close())
+ {
+ String id = ((ApplicationPane)tab).getRoot().getId();
+ _liveApplications.remove(id);
+ }
+ }
+ };
+ _closeApplication.putValue(Action.SHORT_DESCRIPTION, "Close application");
+
+ if(System.getProperty("os.name").startsWith("Mac OS"))
+ {
+ _closeApplication.putValue(Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke(KeyEvent.VK_W, MENU_MASK));
+ }
+ else
+ {
+ _closeApplication.putValue(Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke(KeyEvent.VK_F4, MENU_MASK));
+ }
+ _closeApplication.setEnabled(false);
+
+
+ _save = new AbstractAction("Save")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ getCurrentTab().save();
+ }
+ };
+ _save.setEnabled(false);
+ _save.putValue(Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke(KeyEvent.VK_S, MENU_MASK));
+ _save.putValue(Action.SHORT_DESCRIPTION, "Save");
+
+
+ _saveToRegistry = new AbstractAction("Save to Registry")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ getCurrentTab().saveToRegistry();
+ }
+ };
+ _saveToRegistry.setEnabled(false);
+ _saveToRegistry.putValue(Action.SHORT_DESCRIPTION, "Save to registry");
+
+
+ _saveToFile = new AbstractAction("Save to File")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ getCurrentTab().saveToFile();
+ }
+ };
+ _saveToFile.setEnabled(false);
+ _saveToFile.putValue(Action.SHORT_DESCRIPTION, "Save to file");
+
+
+ _discardUpdates = new AbstractAction("Discard Updates")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ getCurrentTab().discardUpdates();
+ }
+ };
+ _discardUpdates.setEnabled(false);
+ _discardUpdates.putValue(Action.SHORT_DESCRIPTION,
+ "Discard updates and reload application");
+
+
+ _exit = new AbstractAction("Exit")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ exit(0);
+ }
+ };
+ _exit.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("alt F4"));
+
+ _back = new AbstractAction("Go Back to the Previous Node")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ getCurrentTab().back();
+ }
+ };
+ _back.setEnabled(false);
+ _back.putValue(Action.SHORT_DESCRIPTION, "Go back to the previous node");
+
+ _forward = new AbstractAction("Go to the Next Node")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ getCurrentTab().forward();
+ }
+ };
+ _forward.setEnabled(false);
+ _forward.putValue(Action.SHORT_DESCRIPTION, "Go to the next node");
+
+ _helpContents = new AbstractAction("Contents")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ helpContents();
+ }
+ };
+
+ _about = new AbstractAction("About")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ about();
+ }
+ };
+
+ _patchApplication = new AbstractAction("Patch Distribution")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ Object[] applicationNames = _liveDeploymentRoot.getPatchableApplicationNames();
+
+ if(applicationNames.length == 0)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "No application in this IceGrid registry can be patched",
+ "No application",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
+ else
+ {
+ String appName = (String)JOptionPane.showInputDialog(
+ _mainFrame, "Which Application do you want to patch?",
+ "Patch application",
+ JOptionPane.QUESTION_MESSAGE, null,
+ applicationNames, applicationNames[0]);
+
+ if(appName != null)
+ {
+ _liveDeploymentRoot.patch(appName);
+ }
+ }
+ }
+ };
+ _patchApplication.setEnabled(false);
+
+ _showApplicationDetails = new AbstractAction("Show details")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ Object[] applicationNames = _liveDeploymentRoot.getApplicationNames();
+
+ if(applicationNames.length == 0)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "There is no application deployed in this IceGrid registry",
+ "No application",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
+ else
+ {
+ String appName = (String)JOptionPane.showInputDialog(
+ _mainFrame, "Which Application do you to display",
+ "Show details",
+ JOptionPane.QUESTION_MESSAGE, null,
+ applicationNames, applicationNames[0]);
+
+ if(appName != null)
+ {
+ _liveDeploymentRoot.showApplicationDetails(appName);
+ }
+ }
+ }
+ };
+ _showApplicationDetails.setEnabled(false);
- _removeApplicationFromRegistry = new AbstractAction("Remove from Registry")
- {
- public void actionPerformed(ActionEvent e)
- {
- Object[] applicationNames = _liveDeploymentRoot.getApplicationNames();
-
- if(applicationNames.length == 0)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "There is no application deployed in this IceGrid registry",
- "No application",
- JOptionPane.INFORMATION_MESSAGE);
- }
- else
- {
- String appName = (String)JOptionPane.showInputDialog(
- _mainFrame, "Which Application do you want to remove?",
- "Remove application",
- JOptionPane.QUESTION_MESSAGE, null,
- applicationNames, applicationNames[0]);
-
- if(appName != null)
- {
- removeApplicationFromRegistry(appName);
- }
- }
- }
- };
- _removeApplicationFromRegistry.setEnabled(false);
-
-
- _cut = new ActionWrapper("Cut");
- _cut.putValue(Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_X, MENU_MASK));
- _cut.putValue(Action.SHORT_DESCRIPTION, "Cut");
-
- _copy = new ActionWrapper("Copy");
- _copy.putValue(Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_C, MENU_MASK));
- _copy.putValue(Action.SHORT_DESCRIPTION, "Copy");
-
- _paste = new ActionWrapper("Paste");
- _paste.putValue(Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke(KeyEvent.VK_V, MENU_MASK));
- _paste.putValue(Action.SHORT_DESCRIPTION, "Paste");
-
- _delete = new ActionWrapper("Delete");
- _delete.putValue(Action.ACCELERATOR_KEY,
- KeyStroke.getKeyStroke("DELETE"));
- _delete.putValue(Action.SHORT_DESCRIPTION, "Delete");
-
- _moveUp = new ActionWrapper("Move Up");
- _moveDown = new ActionWrapper("Move Down");
-
- _showVarsMenuItem = new
- JCheckBoxMenuItem(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.SHOW_VARS));
- _showVarsTool = new
- JToggleButton(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.SHOW_VARS));
- _showVarsTool.setIcon(Utils.getIcon("/icons/24x24/show_vars.png"));
- _showVarsTool.setText("");
-
- _substituteMenuItem = new
- JCheckBoxMenuItem(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.SUBSTITUTE_VARS));
- _substituteTool = new
- JToggleButton(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.SUBSTITUTE_VARS));
- _substituteTool.setIcon(Utils.getIcon("/icons/24x24/substitute.png"));
- _substituteTool.setText("");
-
-
- ButtonGroup group = new ButtonGroup();
- group.add(_showVarsMenuItem);
- group.add(_substituteMenuItem);
- group = new ButtonGroup();
- group.add(_showVarsTool);
- group.add(_substituteTool);
-
- _showVarsMenuItem.setSelected(true);
- _showVarsTool.setSelected(true);
-
- _mainFrame.setJMenuBar(new MenuBar());
-
- _mainFrame.getContentPane().add(new ToolBar(),
- BorderLayout.PAGE_START);
+ _removeApplicationFromRegistry = new AbstractAction("Remove from Registry")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ Object[] applicationNames = _liveDeploymentRoot.getApplicationNames();
+
+ if(applicationNames.length == 0)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "There is no application deployed in this IceGrid registry",
+ "No application",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
+ else
+ {
+ String appName = (String)JOptionPane.showInputDialog(
+ _mainFrame, "Which Application do you want to remove?",
+ "Remove application",
+ JOptionPane.QUESTION_MESSAGE, null,
+ applicationNames, applicationNames[0]);
+
+ if(appName != null)
+ {
+ removeApplicationFromRegistry(appName);
+ }
+ }
+ }
+ };
+ _removeApplicationFromRegistry.setEnabled(false);
+
+
+ _cut = new ActionWrapper("Cut");
+ _cut.putValue(Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke(KeyEvent.VK_X, MENU_MASK));
+ _cut.putValue(Action.SHORT_DESCRIPTION, "Cut");
+
+ _copy = new ActionWrapper("Copy");
+ _copy.putValue(Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke(KeyEvent.VK_C, MENU_MASK));
+ _copy.putValue(Action.SHORT_DESCRIPTION, "Copy");
+
+ _paste = new ActionWrapper("Paste");
+ _paste.putValue(Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke(KeyEvent.VK_V, MENU_MASK));
+ _paste.putValue(Action.SHORT_DESCRIPTION, "Paste");
+
+ _delete = new ActionWrapper("Delete");
+ _delete.putValue(Action.ACCELERATOR_KEY,
+ KeyStroke.getKeyStroke("DELETE"));
+ _delete.putValue(Action.SHORT_DESCRIPTION, "Delete");
+
+ _moveUp = new ActionWrapper("Move Up");
+ _moveDown = new ActionWrapper("Move Down");
+
+ _showVarsMenuItem = new
+ JCheckBoxMenuItem(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.SHOW_VARS));
+ _showVarsTool = new
+ JToggleButton(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.SHOW_VARS));
+ _showVarsTool.setIcon(Utils.getIcon("/icons/24x24/show_vars.png"));
+ _showVarsTool.setText("");
+
+ _substituteMenuItem = new
+ JCheckBoxMenuItem(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.SUBSTITUTE_VARS));
+ _substituteTool = new
+ JToggleButton(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.SUBSTITUTE_VARS));
+ _substituteTool.setIcon(Utils.getIcon("/icons/24x24/substitute.png"));
+ _substituteTool.setText("");
+
+
+ ButtonGroup group = new ButtonGroup();
+ group.add(_showVarsMenuItem);
+ group.add(_substituteMenuItem);
+ group = new ButtonGroup();
+ group.add(_showVarsTool);
+ group.add(_substituteTool);
+
+ _showVarsMenuItem.setSelected(true);
+ _showVarsTool.setSelected(true);
+
+ _mainFrame.setJMenuBar(new MenuBar());
+
+ _mainFrame.getContentPane().add(new ToolBar(),
+ BorderLayout.PAGE_START);
- _mainFrame.getContentPane().add((StatusBarI)_statusBar,
- BorderLayout.PAGE_END);
+ _mainFrame.getContentPane().add((StatusBarI)_statusBar,
+ BorderLayout.PAGE_END);
-
- java.awt.KeyboardFocusManager kbm = java.awt.KeyboardFocusManager.
- getCurrentKeyboardFocusManager();
- kbm.addPropertyChangeListener("permanentFocusOwner", new FocusListener());
-
- _liveDeploymentPane = new LiveDeploymentPane(_liveDeploymentRoot);
- _mainPane = new MainPane(this);
- _mainFrame.getContentPane().add(_mainPane, BorderLayout.CENTER);
+
+ java.awt.KeyboardFocusManager kbm = java.awt.KeyboardFocusManager.
+ getCurrentKeyboardFocusManager();
+ kbm.addPropertyChangeListener("permanentFocusOwner", new FocusListener());
+
+ _liveDeploymentPane = new LiveDeploymentPane(_liveDeploymentRoot);
+ _mainPane = new MainPane(this);
+ _mainFrame.getContentPane().add(_mainPane, BorderLayout.CENTER);
}
JComponent getLiveDeploymentPane()
{
- return _liveDeploymentPane;
+ return _liveDeploymentPane;
}
public IceGridGUI.LiveDeployment.Root getLiveDeploymentRoot()
{
- return _liveDeploymentRoot;
+ return _liveDeploymentRoot;
}
private void newApplication()
{
- ApplicationDescriptor desc = new ApplicationDescriptor("NewApplication",
- new java.util.TreeMap(),
- new java.util.LinkedList(),
- new java.util.HashMap(),
- new java.util.HashMap(),
- new java.util.HashMap(),
- new IceGrid.DistributionDescriptor(
- "", new java.util.LinkedList()),
- "",
- new java.util.HashMap());
- IceGridGUI.Application.Root root = new IceGridGUI.Application.Root(this, desc);
- ApplicationPane app = new ApplicationPane(root);
- _mainPane.addApplication(app);
- _mainPane.setSelectedComponent(app);
- root.setSelectedNode(root);
+ ApplicationDescriptor desc = new ApplicationDescriptor("NewApplication",
+ new java.util.TreeMap(),
+ new java.util.LinkedList(),
+ new java.util.HashMap(),
+ new java.util.HashMap(),
+ new java.util.HashMap(),
+ new IceGrid.DistributionDescriptor(
+ "", new java.util.LinkedList()),
+ "",
+ new java.util.HashMap());
+ IceGridGUI.Application.Root root = new IceGridGUI.Application.Root(this, desc);
+ ApplicationPane app = new ApplicationPane(root);
+ _mainPane.addApplication(app);
+ _mainPane.setSelectedComponent(app);
+ root.setSelectedNode(root);
}
private void newApplicationWithDefaultTemplates()
{
- _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
- try
- {
- ApplicationDescriptor descriptor = getAdmin().getDefaultApplicationDescriptor();
- descriptor.name = "NewApplication";
- IceGridGUI.Application.Root root = new IceGridGUI.Application.Root(this, descriptor);
- ApplicationPane app = new ApplicationPane(root);
- _mainPane.addApplication(app);
- _mainPane.setSelectedComponent(app);
- root.setSelectedNode(root);
- }
- catch(DeploymentException e)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "The default application descriptor from the IceGrid registry is invalid:\n"
- + e.reason,
- "Deployment Exception",
- JOptionPane.ERROR_MESSAGE);
- }
- catch(Ice.LocalException e)
- {
- JOptionPane.showMessageDialog(
- _mainFrame,
- "Could not retrieve the default application descriptor from the IceGrid registry: \n"
- + e.toString(),
- "Trouble with IceGrid registry",
- JOptionPane.ERROR_MESSAGE);
- }
- finally
- {
- _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
- }
+ _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+ try
+ {
+ ApplicationDescriptor descriptor = getAdmin().getDefaultApplicationDescriptor();
+ descriptor.name = "NewApplication";
+ IceGridGUI.Application.Root root = new IceGridGUI.Application.Root(this, descriptor);
+ ApplicationPane app = new ApplicationPane(root);
+ _mainPane.addApplication(app);
+ _mainPane.setSelectedComponent(app);
+ root.setSelectedNode(root);
+ }
+ catch(DeploymentException e)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "The default application descriptor from the IceGrid registry is invalid:\n"
+ + e.reason,
+ "Deployment Exception",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ catch(Ice.LocalException e)
+ {
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ "Could not retrieve the default application descriptor from the IceGrid registry: \n"
+ + e.toString(),
+ "Trouble with IceGrid registry",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ finally
+ {
+ _mainFrame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+ }
}
private void helpContents()
@@ -2392,54 +2392,54 @@ public class Coordinator
private void about()
{
- String text = "IceGrid Admin version "
- + IceUtil.Version.ICE_STRING_VERSION + "\n"
- + "Copyright \u00A9 2005-2007 ZeroC, Inc. All rights reserved.\n";
-
- JOptionPane.showMessageDialog(
- _mainFrame,
- text,
- "About - IceGrid Admin",
- JOptionPane.INFORMATION_MESSAGE);
+ String text = "IceGrid Admin version "
+ + IceUtil.Version.ICE_STRING_VERSION + "\n"
+ + "Copyright \u00A9 2005-2007 ZeroC, Inc. All rights reserved.\n";
+
+ JOptionPane.showMessageDialog(
+ _mainFrame,
+ text,
+ "About - IceGrid Admin",
+ JOptionPane.INFORMATION_MESSAGE);
}
public void setClipboard(Object copy)
{
- _clipboard = copy;
+ _clipboard = copy;
}
public Object getClipboard()
{
- return _clipboard;
+ return _clipboard;
}
void showMainFrame()
{
- if(!loadWindowPrefs())
- {
- _mainFrame.setLocation(100, 100);
- _mainFrame.pack();
- }
- _mainFrame.setVisible(true);
+ if(!loadWindowPrefs())
+ {
+ _mainFrame.setLocation(100, 100);
+ _mainFrame.pack();
+ }
+ _mainFrame.setVisible(true);
}
void exit(int status)
{
- if(_openChooser != null)
- {
- File dir = _openChooser.getCurrentDirectory();
- if(dir != null)
- {
- _prefs.put("current directory", dir.getAbsolutePath());
- }
- }
-
- storeWindowPrefs();
- destroyIceGridAdmin();
- destroyCommunicator();
- Runtime.getRuntime().removeShutdownHook(_shutdownHook);
- _mainFrame.dispose();
- Runtime.getRuntime().exit(status);
+ if(_openChooser != null)
+ {
+ File dir = _openChooser.getCurrentDirectory();
+ if(dir != null)
+ {
+ _prefs.put("current directory", dir.getAbsolutePath());
+ }
+ }
+
+ storeWindowPrefs();
+ destroyIceGridAdmin();
+ destroyCommunicator();
+ Runtime.getRuntime().removeShutdownHook(_shutdownHook);
+ _mainFrame.dispose();
+ Runtime.getRuntime().exit(status);
}
//
@@ -2447,185 +2447,185 @@ public class Coordinator
//
private void destroyCommunicator()
{
- if(_communicator != null)
- {
- try
- {
- _communicator.destroy();
- }
- catch(Ice.LocalException e)
- {
- System.err.println("_communicator.destroy() raised "
- + e.toString());
- e.printStackTrace();
- }
- _communicator = null;
- }
+ if(_communicator != null)
+ {
+ try
+ {
+ _communicator.destroy();
+ }
+ catch(Ice.LocalException e)
+ {
+ System.err.println("_communicator.destroy() raised "
+ + e.toString());
+ e.printStackTrace();
+ }
+ _communicator = null;
+ }
}
private boolean loadWindowPrefs()
{
- try
- {
- if(!_prefs.nodeExists("Window"))
- {
- return false;
- }
- }
- catch(BackingStoreException e)
- {
- return false;
- }
-
- Preferences windowPrefs = _prefs.node("Window");
- int x = windowPrefs.getInt("x", 0);
- int y = windowPrefs.getInt("y", 0);
- int width = windowPrefs.getInt("width", 0);
- int height = windowPrefs.getInt("height", 0);
- _mainFrame.setBounds(new Rectangle(x, y, width, height));
- if(windowPrefs.getBoolean("maximized", false))
- {
- _mainFrame.setExtendedState(Frame.MAXIMIZED_BOTH);
- }
- return true;
+ try
+ {
+ if(!_prefs.nodeExists("Window"))
+ {
+ return false;
+ }
+ }
+ catch(BackingStoreException e)
+ {
+ return false;
+ }
+
+ Preferences windowPrefs = _prefs.node("Window");
+ int x = windowPrefs.getInt("x", 0);
+ int y = windowPrefs.getInt("y", 0);
+ int width = windowPrefs.getInt("width", 0);
+ int height = windowPrefs.getInt("height", 0);
+ _mainFrame.setBounds(new Rectangle(x, y, width, height));
+ if(windowPrefs.getBoolean("maximized", false))
+ {
+ _mainFrame.setExtendedState(Frame.MAXIMIZED_BOTH);
+ }
+ return true;
}
private void storeWindowPrefs()
{
- Preferences windowPrefs = _prefs.node("Window");
- Rectangle rect = _mainFrame.getBounds();
- windowPrefs.putInt("x", rect.x);
- windowPrefs.putInt("y", rect.y);
- windowPrefs.putInt("width", rect.width);
- windowPrefs.putInt("height", rect.height);
- windowPrefs.putBoolean("maximized",
- _mainFrame.getExtendedState() == Frame.MAXIMIZED_BOTH);
+ Preferences windowPrefs = _prefs.node("Window");
+ Rectangle rect = _mainFrame.getBounds();
+ windowPrefs.putInt("x", rect.x);
+ windowPrefs.putInt("y", rect.y);
+ windowPrefs.putInt("width", rect.width);
+ windowPrefs.putInt("height", rect.height);
+ windowPrefs.putBoolean("maximized",
+ _mainFrame.getExtendedState() == Frame.MAXIMIZED_BOTH);
}
public AdminSessionPrx getSession()
{
- return _sessionKeeper.getSession();
+ return _sessionKeeper.getSession();
}
public boolean connectedToMaster()
{
- return _sessionKeeper.connectedToMaster();
+ return _sessionKeeper.connectedToMaster();
}
SessionKeeper getSessionKeeper()
{
- return _sessionKeeper;
+ return _sessionKeeper;
}
public Preferences getPrefs()
{
- return _prefs;
+ return _prefs;
}
public LiveActions getLiveActionsForPopup()
{
- return _liveActionsForPopup;
+ return _liveActionsForPopup;
}
public LiveActions getLiveActionsForMenu()
{
- return _liveActionsForMenu;
+ return _liveActionsForMenu;
}
public ApplicationActions getActionsForMenu()
{
- return _appActionsForMenu;
+ return _appActionsForMenu;
}
public ApplicationActions getActionsForPopup()
{
- return _appActionsForPopup;
+ return _appActionsForPopup;
}
public void showActions(IceGridGUI.LiveDeployment.TreeNode node)
{
- boolean[] availableActions = _liveActionsForMenu.setTarget(node);
- _appActionsForMenu.setTarget(null);
-
- _newServerMenu.setEnabled(false);
- _newServiceMenu.setEnabled(false);
- _newTemplateMenu.setEnabled(false);
-
- _appMenu.setEnabled(true);
-
- _nodeMenu.setEnabled(
- availableActions[IceGridGUI.LiveDeployment.TreeNode.SHUTDOWN_NODE]);
-
- _registryMenu.setEnabled(
- availableActions[IceGridGUI.LiveDeployment.TreeNode.ADD_OBJECT] ||
- availableActions[IceGridGUI.LiveDeployment.TreeNode.SHUTDOWN_REGISTRY]);
-
- _signalMenu.setEnabled(
- availableActions[IceGridGUI.LiveDeployment.TreeNode.SIGHUP]);
-
- _serverMenu.setEnabled(
- availableActions[IceGridGUI.LiveDeployment.TreeNode.START] ||
- availableActions[IceGridGUI.LiveDeployment.TreeNode.STOP] ||
- availableActions[IceGridGUI.LiveDeployment.TreeNode.ENABLE] ||
- availableActions[IceGridGUI.LiveDeployment.TreeNode.DISABLE] ||
- availableActions[IceGridGUI.LiveDeployment.TreeNode.PATCH_SERVER] ||
- availableActions[IceGridGUI.LiveDeployment.TreeNode.WRITE_MESSAGE] ||
- availableActions[IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_STDOUT] ||
- availableActions[IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_STDERR] ||
- availableActions[IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_LOG] ||
- availableActions[IceGridGUI.LiveDeployment.TreeNode.SIGHUP]);
-
- _serviceMenu.setEnabled(
- availableActions[IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_LOG]);
- }
-
+ boolean[] availableActions = _liveActionsForMenu.setTarget(node);
+ _appActionsForMenu.setTarget(null);
+
+ _newServerMenu.setEnabled(false);
+ _newServiceMenu.setEnabled(false);
+ _newTemplateMenu.setEnabled(false);
+
+ _appMenu.setEnabled(true);
+
+ _nodeMenu.setEnabled(
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.SHUTDOWN_NODE]);
+
+ _registryMenu.setEnabled(
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.ADD_OBJECT] ||
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.SHUTDOWN_REGISTRY]);
+
+ _signalMenu.setEnabled(
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.SIGHUP]);
+
+ _serverMenu.setEnabled(
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.START] ||
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.STOP] ||
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.ENABLE] ||
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.DISABLE] ||
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.PATCH_SERVER] ||
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.WRITE_MESSAGE] ||
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_STDOUT] ||
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_STDERR] ||
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_LOG] ||
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.SIGHUP]);
+
+ _serviceMenu.setEnabled(
+ availableActions[IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_LOG]);
+ }
+
public void showActions(IceGridGUI.Application.TreeNode node)
{
- boolean[] availableActions = _appActionsForMenu.setTarget(node);
- _liveActionsForMenu.setTarget(null);
-
- _newServerMenu.setEnabled(
- availableActions[IceGridGUI.Application.TreeNode.NEW_SERVER] ||
- availableActions[IceGridGUI.Application.TreeNode.NEW_SERVER_ICEBOX] ||
- availableActions[IceGridGUI.Application.TreeNode.NEW_SERVER_FROM_TEMPLATE]);
-
- _newServiceMenu.setEnabled(
- availableActions[IceGridGUI.Application.TreeNode.NEW_SERVICE] ||
- availableActions[IceGridGUI.Application.TreeNode.NEW_SERVICE_FROM_TEMPLATE]);
-
- _newTemplateMenu.setEnabled(
- availableActions[IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVER] ||
- availableActions[IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVER_ICEBOX] ||
- availableActions[IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVICE]);
-
- _appMenu.setEnabled(false);
- _nodeMenu.setEnabled(false);
- _registryMenu.setEnabled(false);
- _signalMenu.setEnabled(false);
- _serverMenu.setEnabled(false);
- _serviceMenu.setEnabled(false);
+ boolean[] availableActions = _appActionsForMenu.setTarget(node);
+ _liveActionsForMenu.setTarget(null);
+
+ _newServerMenu.setEnabled(
+ availableActions[IceGridGUI.Application.TreeNode.NEW_SERVER] ||
+ availableActions[IceGridGUI.Application.TreeNode.NEW_SERVER_ICEBOX] ||
+ availableActions[IceGridGUI.Application.TreeNode.NEW_SERVER_FROM_TEMPLATE]);
+
+ _newServiceMenu.setEnabled(
+ availableActions[IceGridGUI.Application.TreeNode.NEW_SERVICE] ||
+ availableActions[IceGridGUI.Application.TreeNode.NEW_SERVICE_FROM_TEMPLATE]);
+
+ _newTemplateMenu.setEnabled(
+ availableActions[IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVER] ||
+ availableActions[IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVER_ICEBOX] ||
+ availableActions[IceGridGUI.Application.TreeNode.NEW_TEMPLATE_SERVICE]);
+
+ _appMenu.setEnabled(false);
+ _nodeMenu.setEnabled(false);
+ _registryMenu.setEnabled(false);
+ _signalMenu.setEnabled(false);
+ _serverMenu.setEnabled(false);
+ _serviceMenu.setEnabled(false);
}
public boolean traceObservers()
{
- return _traceObservers;
+ return _traceObservers;
}
public void traceObserver(String message)
{
- trace("Observers", message);
+ trace("Observers", message);
}
public boolean traceSaveToRegistry()
{
- return _traceSaveToRegistry;
+ return _traceSaveToRegistry;
}
public void traceSaveToRegistry(String message)
{
- trace("SaveToRegistry", message);
+ trace("SaveToRegistry", message);
}
//
@@ -2633,11 +2633,11 @@ public class Coordinator
//
private void trace(String category, String message)
{
- //
- // It would be nicer to use the communicator's logger,
- // but accessing _communicator is not thread-safe.
- //
- _initData.logger.trace(category, message);
+ //
+ // It would be nicer to use the communicator's logger,
+ // but accessing _communicator is not thread-safe.
+ //
+ _initData.logger.trace(category, message);
}