diff options
author | Bernard Normier <bernard@zeroc.com> | 2007-11-30 15:27:49 -0500 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2007-11-30 15:27:49 -0500 |
commit | e5c6f17ce67f71bacdc4d2a01be487907e08f8cc (patch) | |
tree | 1289b3dd8e93fe0e36be8ecdff2f024bb1c57271 /java/src/IceGridGUI/LiveDeployment/ServiceEditor.java | |
parent | Merge branch 'master' of ssh://cvs.zeroc.com/home/git/ice (diff) | |
download | ice-e5c6f17ce67f71bacdc4d2a01be487907e08f8cc.tar.bz2 ice-e5c6f17ce67f71bacdc4d2a01be487907e08f8cc.tar.xz ice-e5c6f17ce67f71bacdc4d2a01be487907e08f8cc.zip |
Added Properties facet to IceBox services
Diffstat (limited to 'java/src/IceGridGUI/LiveDeployment/ServiceEditor.java')
-rwxr-xr-x | java/src/IceGridGUI/LiveDeployment/ServiceEditor.java | 109 |
1 files changed, 108 insertions, 1 deletions
diff --git a/java/src/IceGridGUI/LiveDeployment/ServiceEditor.java b/java/src/IceGridGUI/LiveDeployment/ServiceEditor.java index 5286212a131..52c957db23d 100755 --- a/java/src/IceGridGUI/LiveDeployment/ServiceEditor.java +++ b/java/src/IceGridGUI/LiveDeployment/ServiceEditor.java @@ -8,11 +8,19 @@ // ********************************************************************** package IceGridGUI.LiveDeployment; +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.JButton; import javax.swing.JCheckBox; +import javax.swing.JScrollPane; import javax.swing.JTextField; -import com.jgoodies.forms.builder.DefaultFormBuilder; import javax.swing.JToolBar; +import com.jgoodies.forms.builder.DefaultFormBuilder; +import com.jgoodies.forms.layout.CellConstraints; + import com.jgoodies.looks.Options; import com.jgoodies.looks.HeaderStyle; import com.jgoodies.looks.BorderStyle; @@ -38,16 +46,55 @@ class ServiceEditor extends CommunicatorEditor _coordinator = coordinator; _entry.setEditable(false); _started.setEnabled(false); + + _buildId.setEditable(false); + + Action refresh = new AbstractAction("Refresh") + { + public void actionPerformed(ActionEvent e) + { + _buildId.setText("Retrieving..."); + _properties.clear(); + _target.showRuntimeProperties(); + } + }; + refresh.putValue(Action.SHORT_DESCRIPTION, + "Reread the properties from the service"); + _refreshButton = new JButton(refresh); } void show(Service service) { + _target = service; + ServiceDescriptor descriptor = service.getServiceDescriptor(); Utils.Resolver resolver = service.getResolver(); show(descriptor, service.getProperties(), resolver); _entry.setText(resolver.substitute(descriptor.entry)); _started.setSelected(service.isStarted()); + + Server server = (Server)service.getParent(); + + int iceIntVersion = server.getIceVersion(); + + if(server.getState() == ServerState.Active && (iceIntVersion == 0 || iceIntVersion >= 30300)) + { + _buildId.setText("Retrieving..."); + _properties.clear(); + + // + // Retrieve all properties in background + // + _target.showRuntimeProperties(); + _refreshButton.setEnabled(true); + } + else + { + _buildId.setText(""); + _properties.clear(); + _refreshButton.setEnabled(false); + } } protected void appendProperties(DefaultFormBuilder builder) @@ -56,6 +103,27 @@ class ServiceEditor extends CommunicatorEditor builder.append("", _started); builder.nextLine(); + + builder.append("Build Id"); + builder.append(_buildId, _refreshButton); + builder.nextLine(); + + builder.append("Properties"); + builder.nextLine(); + builder.append(""); + builder.nextLine(); + builder.append(""); + + builder.nextLine(); + builder.append(""); + + builder.nextRow(-6); + CellConstraints cc = new CellConstraints(); + JScrollPane scrollPane = new JScrollPane(_properties); + builder.add(scrollPane, + cc.xywh(builder.getColumn(), builder.getRow(), 3, 7)); + builder.nextRow(6); + builder.nextLine(); builder.appendSeparator("Configuration"); @@ -72,6 +140,41 @@ class ServiceEditor extends CommunicatorEditor _propertiesPanel.setName("Service Properties"); } + void setBuildId(String buildString, Service service) + { + // + // That's to report error messages + // + + if(service == _target) + { + _buildId.setText(buildString); + } + // + // Otherwise we've already moved to another server + // + } + + void setRuntimeProperties(java.util.SortedMap map, Service service) + { + if(service == _target ) + { + _properties.setSortedMap(map); + + String buildString = (String)map.get("BuildId"); + if(buildString == null) + { + _buildId.setText(""); + } + else + { + _buildId.setText(buildString); + } + } + // + // Otherwise we've already moved to another server + // + } private class ToolBar extends JToolBar { @@ -90,8 +193,12 @@ class ServiceEditor extends CommunicatorEditor } private final Coordinator _coordinator; + private Service _target; private JTextField _entry = new JTextField(20); private JCheckBox _started = new JCheckBox("Started"); + private JTextField _buildId = new JTextField(20); + private JButton _refreshButton; + private TableField _properties = new TableField("Name", "Value"); private JToolBar _toolBar; } |