diff options
author | Bernard Normier <bernard@zeroc.com> | 2007-01-26 00:41:26 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2007-01-26 00:41:26 +0000 |
commit | 1fdcb631871d49d6dc87491b8c89fb805ad0fa75 (patch) | |
tree | 8027f4c0e41745d825bbf71cba4d1a2eecf84e13 /java/src/IceGridGUI | |
parent | minor fixes (diff) | |
download | ice-1fdcb631871d49d6dc87491b8c89fb805ad0fa75.tar.bz2 ice-1fdcb631871d49d6dc87491b8c89fb805ad0fa75.tar.xz ice-1fdcb631871d49d6dc87491b8c89fb805ad0fa75.zip |
Various IceGrid Admin fixes
Diffstat (limited to 'java/src/IceGridGUI')
-rwxr-xr-x | java/src/IceGridGUI/Coordinator.java | 3 | ||||
-rwxr-xr-x | java/src/IceGridGUI/LiveDeployment/ObjectDialog.java | 71 | ||||
-rwxr-xr-x | java/src/IceGridGUI/LiveDeployment/RegistryEditor.java | 32 | ||||
-rwxr-xr-x | java/src/IceGridGUI/LiveDeployment/Root.java | 10 | ||||
-rw-r--r-- | java/src/IceGridGUI/LiveDeployment/Slave.java | 40 |
5 files changed, 134 insertions, 22 deletions
diff --git a/java/src/IceGridGUI/Coordinator.java b/java/src/IceGridGUI/Coordinator.java index 845076f4881..58829d22b81 100755 --- a/java/src/IceGridGUI/Coordinator.java +++ b/java/src/IceGridGUI/Coordinator.java @@ -434,6 +434,9 @@ public class Coordinator 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)); // diff --git a/java/src/IceGridGUI/LiveDeployment/ObjectDialog.java b/java/src/IceGridGUI/LiveDeployment/ObjectDialog.java index 41d395a12db..ba5a846185b 100755 --- a/java/src/IceGridGUI/LiveDeployment/ObjectDialog.java +++ b/java/src/IceGridGUI/LiveDeployment/ObjectDialog.java @@ -24,11 +24,12 @@ import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; -import javax.swing.JTextField; +import javax.swing.JTextArea; import com.jgoodies.forms.builder.DefaultFormBuilder; import com.jgoodies.forms.factories.Borders; import com.jgoodies.forms.factories.ButtonBarFactory; +import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.FormLayout; import com.jgoodies.forms.util.LayoutStyle; @@ -37,27 +38,36 @@ class ObjectDialog extends JDialog ObjectDialog(final Root root) { super(root.getCoordinator().getMainFrame(), - "New Well-Known Object - IceGrid Admin", true); + "Dynamic Well-Known Object - IceGrid Admin", true); setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE); _mainFrame = root.getCoordinator().getMainFrame(); + _proxy.setLineWrap(true); _type.setEditable(true); + JButton okButton = new JButton("OK"); ActionListener okListener = new ActionListener() { public void actionPerformed(ActionEvent e) { - String type = null; - if(_type.getSelectedItem() != QUERY_OBJECT) - { - type = _type.getSelectedItem().toString(); - } - - if(root.addObject(_proxy.getText(), type)) - { - setVisible(false); - } + if(_proxy.isEditable()) + { + String type = null; + if(_type.getSelectedItem() != QUERY_OBJECT) + { + type = _type.getSelectedItem().toString(); + } + + if(root.addObject(_proxy.getText(), type)) + { + setVisible(false); + } + } + else + { + setVisible(false); + } } }; okButton.addActionListener(okListener); @@ -78,9 +88,18 @@ class ObjectDialog extends JDialog builder.setDefaultDialogBorder(); builder.setRowGroupingEnabled(true); builder.setLineGapSize(LayoutStyle.getCurrent().getLinePad()); - - builder.append("Proxy", _proxy); - builder.nextLine(); + + builder.append("Proxy"); + builder.nextLine(); + builder.append(""); + builder.nextRow(-2); + CellConstraints cc = new CellConstraints(); + JScrollPane scrollPane = new JScrollPane(_proxy); + builder.add(scrollPane, + cc.xywh(builder.getColumn(), builder.getRow(), 1, 3)); + builder.nextRow(2); + builder.nextLine(); + builder.append("Type", _type); builder.nextLine(); @@ -100,12 +119,32 @@ class ObjectDialog extends JDialog void showDialog() { _proxy.setText(""); + _proxy.setEditable(true); + _proxy.setOpaque(true); + + _type.setEnabled(true); + _type.setEditable(true); _type.setSelectedItem(QUERY_OBJECT); setLocationRelativeTo(_mainFrame); setVisible(true); } - private JTextField _proxy = new JTextField(60); + void showDialog(String proxy, String type) + { + _proxy.setText(proxy); + _proxy.setEditable(false); + _proxy.setOpaque(false); + + _type.setEnabled(true); + _type.setEditable(true); + _type.setSelectedItem(type); + _type.setEnabled(false); + _type.setEditable(false); + setLocationRelativeTo(_mainFrame); + setVisible(true); + } + + private JTextArea _proxy = new JTextArea(3, 40); private JComboBox _type = new JComboBox(new Object[]{QUERY_OBJECT}); private JFrame _mainFrame; diff --git a/java/src/IceGridGUI/LiveDeployment/RegistryEditor.java b/java/src/IceGridGUI/LiveDeployment/RegistryEditor.java index 1713d4d34d2..f6d9bae43df 100755 --- a/java/src/IceGridGUI/LiveDeployment/RegistryEditor.java +++ b/java/src/IceGridGUI/LiveDeployment/RegistryEditor.java @@ -53,7 +53,6 @@ class RegistryEditor extends Editor } } } - }; Action showDetails = new AbstractAction("Show details") @@ -67,7 +66,19 @@ class RegistryEditor extends Editor _target.showApplicationDetails(appName); } } + }; + Action patch = new AbstractAction("Patch distribution") + { + public void actionPerformed(ActionEvent e) + { + int selectedRow = _applications.getSelectedRow(); + if(selectedRow != -1) + { + String appName = (String)_applications.getValueAt(selectedRow, 0); + _target.patch(appName); + } + } }; Action removeApplication = new AbstractAction("Remove from registry") @@ -105,6 +116,8 @@ class RegistryEditor extends Editor appPopup.add(openDefinition); appPopup.add(showDetails); appPopup.addSeparator(); + appPopup.add(patch); + appPopup.addSeparator(); appPopup.add(removeApplication); _applications.addMouseListener(new MouseAdapter() @@ -151,6 +164,20 @@ class RegistryEditor extends Editor KeyStroke.getKeyStroke("DELETE"), "delete"); + Action showObject = new AbstractAction("Show details") + { + public void actionPerformed(ActionEvent e) + { + int selectedRow = _objects.getSelectedRow(); + if(selectedRow != -1) + { + String proxy = (String)_objects.getValueAt(selectedRow, 0); + String type = (String)_objects.getValueAt(selectedRow, 1); + _target.showObject(proxy, type); + } + } + }; + Action addObject = new AbstractAction("Add a new well-known object") { public void actionPerformed(ActionEvent e) @@ -177,6 +204,8 @@ class RegistryEditor extends Editor objectsPopup.add(addObject); objectsPopup.addSeparator(); final JMenuItem deleteObjectMenuItem = objectsPopup.add(deleteObject); + objectsPopup.addSeparator(); + final JMenuItem showObjectMenuItem = objectsPopup.add(showObject); _objects.addMouseListener(new MouseAdapter() { @@ -194,6 +223,7 @@ class RegistryEditor extends Editor { if (e.isPopupTrigger()) { + showObjectMenuItem.setEnabled(_objects.getSelectedRow() != -1); deleteObjectMenuItem.setEnabled(_objects.getSelectedRow() != -1); objectsPopup.show(_objects, e.getX(), e.getY()); } diff --git a/java/src/IceGridGUI/LiveDeployment/Root.java b/java/src/IceGridGUI/LiveDeployment/Root.java index acba7863a76..57ead9e5297 100755 --- a/java/src/IceGridGUI/LiveDeployment/Root.java +++ b/java/src/IceGridGUI/LiveDeployment/Root.java @@ -284,9 +284,9 @@ public class Root extends ListArrayTreeNode { _coordinator.getMainFrame().setCursor( Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); - _coordinator.getAdmin(). - patchApplication_async(cb, applicationName, - shutdown == JOptionPane.YES_OPTION); + _coordinator.getAdmin(). + patchApplication_async(cb, applicationName, + shutdown == JOptionPane.YES_OPTION); } catch(Ice.LocalException e) { @@ -704,6 +704,10 @@ public class Root extends ListArrayTreeNode _objectDialog.showDialog(); } + public void showObject(String proxy, String type) + { + _objectDialog.showDialog(proxy, type); + } Root getRoot() { diff --git a/java/src/IceGridGUI/LiveDeployment/Slave.java b/java/src/IceGridGUI/LiveDeployment/Slave.java index 9774cc1c2e7..17530d6f22c 100644 --- a/java/src/IceGridGUI/LiveDeployment/Slave.java +++ b/java/src/IceGridGUI/LiveDeployment/Slave.java @@ -29,8 +29,10 @@ class Slave extends TreeNode // public boolean[] getAvailableActions() { - boolean[] actions = new boolean[ACTION_COUNT]; + boolean[] actions = new boolean[ACTION_COUNT]; actions[SHUTDOWN_REGISTRY] = true; + actions[RETRIEVE_STDOUT] = true; + actions[RETRIEVE_STDERR] = true; return actions; } @@ -79,13 +81,47 @@ class Slave extends TreeNode } } + public void retrieveOutput(final boolean stdout) + { + getRoot().openShowLogDialog(new ShowLogDialog.FileIteratorFactory() + { + public FileIteratorPrx open(int count) + throws FileNotAvailableException, RegistryNotExistException, RegistryUnreachableException + { + AdminSessionPrx session = getCoordinator().getSession(); + + if(stdout) + { + return session.openRegistryStdOut(_id, count); + } + else + { + return session.openRegistryStdErr(_id, count); + } + } + + public String getTitle() + { + return "Slave Registry " + _id + " " + (stdout ? "Stdout" : "Stderr"); + } + + public String getDefaultFilename() + { + return _id + (stdout ? ".out" : ".err"); + } + }); + } + public JPopupMenu getPopupMenu() { LiveActions la = getCoordinator().getLiveActionsForPopup(); - if(_popup == null) + if(_popup == null) { _popup = new JPopupMenu(); + _popup.add(la.get(RETRIEVE_STDOUT)); + _popup.add(la.get(RETRIEVE_STDERR)); + _popup.addSeparator(); _popup.add(la.get(SHUTDOWN_REGISTRY)); } |