summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2007-01-26 00:41:26 +0000
committerBernard Normier <bernard@zeroc.com>2007-01-26 00:41:26 +0000
commit1fdcb631871d49d6dc87491b8c89fb805ad0fa75 (patch)
tree8027f4c0e41745d825bbf71cba4d1a2eecf84e13 /java/src
parentminor fixes (diff)
downloadice-1fdcb631871d49d6dc87491b8c89fb805ad0fa75.tar.bz2
ice-1fdcb631871d49d6dc87491b8c89fb805ad0fa75.tar.xz
ice-1fdcb631871d49d6dc87491b8c89fb805ad0fa75.zip
Various IceGrid Admin fixes
Diffstat (limited to 'java/src')
-rwxr-xr-xjava/src/IceGridGUI/Coordinator.java3
-rwxr-xr-xjava/src/IceGridGUI/LiveDeployment/ObjectDialog.java71
-rwxr-xr-xjava/src/IceGridGUI/LiveDeployment/RegistryEditor.java32
-rwxr-xr-xjava/src/IceGridGUI/LiveDeployment/Root.java10
-rw-r--r--java/src/IceGridGUI/LiveDeployment/Slave.java40
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));
}