summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rwxr-xr-xjava/src/IceGrid/LicenseDialog.java82
-rwxr-xr-xjava/src/IceGrid/Model.java19
-rwxr-xr-xjava/src/IceGrid/TreeNode/AdapterEditor.java78
-rwxr-xr-xjava/src/IceGrid/TreeNode/ApplicationEditor.java25
-rwxr-xr-xjava/src/IceGrid/TreeNode/CommunicatorSubEditor.java3
-rwxr-xr-xjava/src/IceGrid/TreeNode/DbEnvEditor.java76
-rwxr-xr-xjava/src/IceGrid/TreeNode/NodeEditor.java13
-rwxr-xr-xjava/src/IceGrid/TreeNode/ReplicaGroupEditor.java16
-rwxr-xr-xjava/src/IceGrid/TreeNode/Server.java8
-rwxr-xr-xjava/src/IceGrid/TreeNode/ServerInstanceEditor.java8
-rwxr-xr-xjava/src/IceGrid/TreeNode/ServerSubEditor.java49
-rwxr-xr-xjava/src/IceGrid/TreeNode/ServiceInstanceEditor.java6
-rwxr-xr-xjava/src/IceGrid/TreeNode/ServiceSubEditor.java10
-rwxr-xr-xjava/src/IceGrid/TreeNode/TemplateEditor.java3
14 files changed, 342 insertions, 54 deletions
diff --git a/java/src/IceGrid/LicenseDialog.java b/java/src/IceGrid/LicenseDialog.java
new file mode 100755
index 00000000000..8e4db1bd448
--- /dev/null
+++ b/java/src/IceGrid/LicenseDialog.java
@@ -0,0 +1,82 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+package IceGrid;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.Frame;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.JDialog;
+import javax.swing.JEditorPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+
+import javax.swing.text.html.HTMLDocument;
+import javax.swing.text.html.HTMLFrameHyperlinkEvent;
+
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkListener;
+
+import com.jgoodies.forms.factories.Borders;
+
+//
+// Shows Ice license and warranty
+//
+public class LicenseDialog extends JDialog
+{
+ public LicenseDialog(Frame parentFrame)
+ {
+ super(parentFrame, "License - IceGrid Admin", false);
+ setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
+
+ try
+ {
+ _pane = new JEditorPane(Utils.class.getResource("/license.html"));
+ }
+ catch(java.io.IOException e)
+ {
+ _pane = new JEditorPane();
+ _pane.setText("Cannot find license.html");
+ }
+ _pane.setEditable(false);
+
+ _pane.addHyperlinkListener(new HyperlinkListener()
+ {
+ public void hyperlinkUpdate(HyperlinkEvent e)
+ {
+ if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
+ {
+ _pane.scrollToReference(e.getURL().getRef());
+ }
+ }
+ });
+ Dimension prefSize = new Dimension(700, 500);
+ _pane.setPreferredSize(prefSize);
+
+ JScrollPane scrollPane = new JScrollPane(_pane);
+ scrollPane.setBorder(Borders.DIALOG_BORDER);
+ getContentPane().add(scrollPane, BorderLayout.CENTER);
+ pack();
+ }
+
+
+ public void show(String ref)
+ {
+ setLocationRelativeTo(null);
+ setVisible(true);
+ _pane.scrollToReference(ref);
+ }
+
+ JEditorPane _pane;
+}
+
+
+
diff --git a/java/src/IceGrid/Model.java b/java/src/IceGrid/Model.java
index 860e8cacd31..b7907446a7b 100755
--- a/java/src/IceGrid/Model.java
+++ b/java/src/IceGrid/Model.java
@@ -1207,7 +1207,7 @@ public class Model
_exit.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("alt F4"));
- _back = new AbstractAction("Go back to previous node")
+ _back = new AbstractAction("Go back to the previous node")
{
public void actionPerformed(ActionEvent e)
{
@@ -1215,8 +1215,9 @@ public class Model
}
};
_back.setEnabled(false);
+ _back.putValue(Action.SHORT_DESCRIPTION, "Go back to the previous node");
- _forward = new AbstractAction("Go to next node")
+ _forward = new AbstractAction("Go to the next node")
{
public void actionPerformed(ActionEvent e)
{
@@ -1224,7 +1225,7 @@ public class Model
}
};
_forward.setEnabled(false);
-
+ _forward.putValue(Action.SHORT_DESCRIPTION, "Go to the next node");
_helpContents = new AbstractAction("Contents")
{
@@ -1473,6 +1474,9 @@ public class Model
_actionsTarget.start();
}
};
+ _actions[CommonBase.START].putValue(Action.SHORT_DESCRIPTION,
+ "Start this server");
+
_actions[CommonBase.STOP] = new AbstractAction(
"Stop", Utils.getIcon("/icons/16x16/stop.png"))
@@ -1482,6 +1486,9 @@ public class Model
_actionsTarget.stop();
}
};
+ _actions[CommonBase.STOP].putValue(Action.SHORT_DESCRIPTION,
+ "Stop this server");
+
_actions[CommonBase.ENABLE] = new AbstractAction(
"Enable", Utils.getIcon("/icons/16x16/enable.png"))
@@ -1490,8 +1497,9 @@ public class Model
{
_actionsTarget.enable();
}
-
};
+ _actions[CommonBase.ENABLE].putValue(Action.SHORT_DESCRIPTION,
+ "Enable this server");
_actions[CommonBase.DISABLE] = new AbstractAction(
"Disable", Utils.getIcon("/icons/16x16/disable.png"))
@@ -1501,6 +1509,9 @@ public class Model
_actionsTarget.disable();
}
};
+ _actions[CommonBase.DISABLE].putValue(Action.SHORT_DESCRIPTION,
+ "Disable this server");
+
_actions[CommonBase.SHUTDOWN_NODE] = new AbstractAction("Shutdown")
{
public void actionPerformed(ActionEvent e)
diff --git a/java/src/IceGrid/TreeNode/AdapterEditor.java b/java/src/IceGrid/TreeNode/AdapterEditor.java
index 55bffae2a6c..78577b01c0e 100755
--- a/java/src/IceGrid/TreeNode/AdapterEditor.java
+++ b/java/src/IceGrid/TreeNode/AdapterEditor.java
@@ -44,7 +44,8 @@ class AdapterEditor extends ListElementEditor
_currentStatus.setEditable(false);
_currentEndpoints.setEditable(false);
-
+ _currentEndpoints.setToolTipText(
+ "Endpoints registered with the IceGrid Registry during the activation of this adapter");
//
// Create buttons
@@ -85,7 +86,7 @@ class AdapterEditor extends ListElementEditor
}
};
gotoReplicaGroup.putValue(Action.SHORT_DESCRIPTION,
- "Goto the definition of this replica group");
+ "Goto the definition of this replica group");
_replicaGroupButton = new JButton(gotoReplicaGroup);
//
@@ -110,6 +111,8 @@ class AdapterEditor extends ListElementEditor
}
}
};
+ openObjectsDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit registered objects");
_objectsButton = new JButton(openObjectsDialog);
@@ -121,7 +124,12 @@ class AdapterEditor extends ListElementEditor
}
};
_registerProcess = new JCheckBox(checkRegisterProcess);
-
+ _registerProcess.setToolTipText(
+ "<html>During activation, create a Process object<br>"
+ + "in this adapter and register it with IceGrid<br>"
+ + "to enable clean shutdown; you should register<br>"
+ + "exactly one Process object per server.</html>");
+
Action checkWaitForActivation =
new AbstractAction("Wait for Activation")
{
@@ -131,7 +139,10 @@ class AdapterEditor extends ListElementEditor
}
};
_waitForActivation = new JCheckBox(checkWaitForActivation);
-
+ _waitForActivation.setToolTipText(
+ "<html>When starting the enclosing server, "
+ + "does IceGrid<br>wait for this adapter to become active?</html>");
+
//
// Associate updateListener with various fields
//
@@ -168,21 +179,40 @@ class AdapterEditor extends ListElementEditor
}
});
+ _name.setToolTipText(
+ "Identifies this object adapter within an Ice communicator");
_endpoints.getDocument().addDocumentListener(_updateListener);
+ _endpoints.setToolTipText(
+ "<html>The network interfaces on which this adapter receives requests;<br>"
+ + "for example:<br>"
+ + " tcp (listen on all local interfaces using a random port)<br>"
+ + " tcp -h venus.foo.com (listen on just one interface)<br>"
+ + " tcp -t 10000 (sets a timeout of 10,000 milliseconds)<br>"
+ + " ssl -h venus.foo.com (accepts SSL connections instead of plain TCP)"
+ + "</html>");
+
_description.getDocument().addDocumentListener(_updateListener);
+ _description.setToolTipText(
+ "An optional description for this object adapter");
JTextField idTextField = (JTextField)
_id.getEditor().getEditorComponent();
idTextField.getDocument().addDocumentListener(_updateListener);
+ _id.setToolTipText("If set, must be unique within this IceGrid deployment");
JTextField replicaGroupIdTextField = (JTextField)
_replicaGroupId.getEditor().getEditorComponent();
replicaGroupIdTextField.getDocument().addDocumentListener(_updateListener);
-
+ _replicaGroupId.setToolTipText("Select a replica group");
+
JTextField publishedEndpointsTextField = (JTextField)
_publishedEndpoints.getEditor().getEditorComponent();
- publishedEndpointsTextField.getDocument().addDocumentListener(_updateListener);
+ publishedEndpointsTextField.getDocument().addDocumentListener(_updateListener);
+ _publishedEndpoints.setToolTipText(
+ "<html>Direct adapter: endpoints included in proxies created using this adapter.<br>"
+ + "Indirect adapter: endpoints registered with the IceGrid Registry during the activation of this adapter."
+ + "</html>");
}
@@ -297,7 +327,7 @@ class AdapterEditor extends ListElementEditor
}
}
- void setObjectsField()
+ private void setObjectsField()
{
Adapter adapter = getAdapter();
@@ -321,10 +351,11 @@ class AdapterEditor extends ListElementEditor
_objects.setText(
Utils.stringify(_objectsMap.entrySet(), stringifier,
", ", toolTipHolder));
+
_objects.setToolTipText(toolTipHolder.value);
}
- void setId(String id)
+ private void setId(String id)
{
if(id.equals(""))
{
@@ -336,7 +367,20 @@ class AdapterEditor extends ListElementEditor
}
}
- void setReplicaGroupId(String replicaGroupId)
+ private String getIdAsString()
+ {
+ Object obj = _id.getSelectedItem();
+ if(obj == DIRECT_ADAPTER)
+ {
+ return "";
+ }
+ else
+ {
+ return obj.toString();
+ }
+ }
+
+ private void setReplicaGroupId(String replicaGroupId)
{
if(replicaGroupId.equals(""))
{
@@ -361,20 +405,8 @@ class AdapterEditor extends ListElementEditor
}
}
- String getIdAsString()
- {
- Object obj = _id.getSelectedItem();
- if(obj == DIRECT_ADAPTER)
- {
- return "";
- }
- else
- {
- return obj.toString();
- }
- }
-
- String getReplicaGroupIdAsString()
+
+ private String getReplicaGroupIdAsString()
{
Object obj = _replicaGroupId.getSelectedItem();
if(obj == NOT_REPLICATED)
diff --git a/java/src/IceGrid/TreeNode/ApplicationEditor.java b/java/src/IceGrid/TreeNode/ApplicationEditor.java
index f3fccb16753..9eabcb7e26d 100755
--- a/java/src/IceGrid/TreeNode/ApplicationEditor.java
+++ b/java/src/IceGrid/TreeNode/ApplicationEditor.java
@@ -13,6 +13,7 @@ import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
+import javax.swing.JComponent;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
@@ -166,6 +167,8 @@ class ApplicationEditor extends Editor
}
}
};
+ openVariablesDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit variables");
_variablesButton = new JButton(openVariablesDialog);
//
@@ -173,6 +176,7 @@ class ApplicationEditor extends Editor
//
_distrib = new JComboBox(new Object[]{NO_DISTRIB, DEFAULT_DISTRIB});
_distrib.setEditable(true);
+ _distrib.setToolTipText("The proxy to the IcePatch2 server holding your files");
JTextField distribTextField = (JTextField)
_distrib.getEditor().getEditorComponent();
@@ -197,6 +201,8 @@ class ApplicationEditor extends Editor
}
}
};
+ openDistribDirsDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit directory list");
_distribDirsButton = new JButton(openDistribDirsDialog);
}
@@ -221,7 +227,8 @@ class ApplicationEditor extends Editor
builder.append(_variablesButton);
builder.nextLine();
- builder.appendSeparator("Distribution");
+ JComponent c = builder.appendSeparator("Distribution");
+ c.setToolTipText("Files shared by all servers in your application");
builder.append("IcePatch2 Proxy");
builder.append(_distrib, 3);
builder.nextLine();
@@ -265,7 +272,7 @@ class ApplicationEditor extends Editor
_name.setText(application.getId());
_name.setEditable(application.isEphemeral());
-
+
ApplicationDescriptor descriptor =
(ApplicationDescriptor)application.getDescriptor();
@@ -273,6 +280,7 @@ class ApplicationEditor extends Editor
Utils.substitute(descriptor.description, resolver));
_description.setEditable(isEditable);
_description.setOpaque(isEditable);
+ _description.setToolTipText("An optional description for this application");
_variablesMap = descriptor.variables;
setVariablesField();
@@ -316,8 +324,17 @@ class ApplicationEditor extends Editor
};
_distribDirs.setText(
- Utils.stringify(_distribDirsList, stringifier, ", ", toolTipHolder));
- _distribDirs.setToolTipText(toolTipHolder.value);
+ Utils.stringify(_distribDirsList, stringifier, ", ",
+ toolTipHolder));
+
+ String toolTip = "<html>Include only these directories";
+
+ if(toolTipHolder.value != null)
+ {
+ toolTip += ":<br>" + toolTipHolder.value;
+ }
+ toolTip += "</html>";
+ _distribDirs.setToolTipText(toolTip);
}
private void setVariablesField()
diff --git a/java/src/IceGrid/TreeNode/CommunicatorSubEditor.java b/java/src/IceGrid/TreeNode/CommunicatorSubEditor.java
index e26603e7b3e..24e6c575d52 100755
--- a/java/src/IceGrid/TreeNode/CommunicatorSubEditor.java
+++ b/java/src/IceGrid/TreeNode/CommunicatorSubEditor.java
@@ -57,10 +57,13 @@ class CommunicatorSubEditor
}
}
};
+ openPropertiesDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit properties");
_propertiesButton = new JButton(openPropertiesDialog);
_description.getDocument().addDocumentListener(
_mainEditor.getUpdateListener());
+ _description.setToolTipText("An optional description");
}
diff --git a/java/src/IceGrid/TreeNode/DbEnvEditor.java b/java/src/IceGrid/TreeNode/DbEnvEditor.java
index fc3e8ad38b4..0322e7539bf 100755
--- a/java/src/IceGrid/TreeNode/DbEnvEditor.java
+++ b/java/src/IceGrid/TreeNode/DbEnvEditor.java
@@ -13,7 +13,7 @@ import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
-
+import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
@@ -34,8 +34,20 @@ class DbEnvEditor extends ListElementEditor
{
super(false);
_name.getDocument().addDocumentListener(_updateListener);
+ _name.setToolTipText(
+ "Identifies this Freeze database environment within an Ice communicator");
_description.getDocument().addDocumentListener(_updateListener);
- _dbHome.getDocument().addDocumentListener(_updateListener);
+ _description.setToolTipText(
+ "An optional description for this database environment");
+
+ JTextField dbHomeTextField = (JTextField)
+ _dbHome.getEditor().getEditorComponent();
+ dbHomeTextField.getDocument().addDocumentListener(_updateListener);
+ _dbHome.setToolTipText("<html><i>node data dir</i>/servers/<i>server id</i>"
+ + "/dbs/<i>db env name</i> if created by the IceGrid Node;<br>"
+ + "otherwise, IceGrid does not create this directory"
+ + "</html>");
+
_properties.setEditable(false);
@@ -62,6 +74,8 @@ class DbEnvEditor extends ListElementEditor
}
}
};
+ openPropertiesDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit properties");
_propertiesButton = new JButton(openPropertiesDialog);
}
@@ -71,7 +85,7 @@ class DbEnvEditor extends ListElementEditor
(DbEnvDescriptor)getDbEnv().getDescriptor();
descriptor.name = _name.getText();
descriptor.description = _description.getText();
- descriptor.dbHome = _dbHome.getText();
+ descriptor.dbHome = getDbHomeAsString();
descriptor.properties = Editor.mapToProperties(_propertiesMap);
}
@@ -130,9 +144,11 @@ class DbEnvEditor extends ListElementEditor
Utils.substitute(descriptor.description, resolver));
_description.setEditable(isEditable);
_description.setOpaque(isEditable);
-
- _dbHome.setText(
- Utils.substitute(descriptor.dbHome, resolver));
+
+ _dbHome.setEnabled(true);
+ _dbHome.setEditable(true);
+ setDbHome(Utils.substitute(descriptor.dbHome, resolver));
+ _dbHome.setEnabled(isEditable);
_dbHome.setEditable(isEditable);
_propertiesMap = Editor.propertiesToMap(descriptor.properties);
@@ -149,6 +165,32 @@ class DbEnvEditor extends ListElementEditor
return (DbEnv)_target;
}
+ private void setDbHome(String dbHome)
+ {
+ if(dbHome.equals(""))
+ {
+ _dbHome.setSelectedItem(NO_DB_HOME);
+ }
+ else
+ {
+ _dbHome.setSelectedItem(dbHome);
+ }
+ }
+
+ private String getDbHomeAsString()
+ {
+ Object obj = _dbHome.getSelectedItem();
+ if(obj == NO_DB_HOME)
+ {
+ return "";
+ }
+ else
+ {
+ return obj.toString();
+ }
+ }
+
+
private void setPropertiesField()
{
final Utils.Resolver resolver = getDbEnv().getResolver();
@@ -169,17 +211,33 @@ class DbEnvEditor extends ListElementEditor
_properties.setText(
Utils.stringify(_propertiesMap.entrySet(), stringifier,
", ", toolTipHolder));
- _properties.setToolTipText(toolTipHolder.value);
+
+ String toolTip = "<html>Properties used to generate a"
+ + " DB_CONFIG file in the DB home directory";
+ if(toolTipHolder.value != null)
+ {
+ toolTip += ":<br>" + toolTipHolder.value;
+ }
+ toolTip += "</html>";
+
+ _properties.setToolTipText(toolTip);
}
private JTextField _name = new JTextField(20);
private JTextArea _description = new JTextArea(3, 20);
-
- private JTextField _dbHome = new JTextField(20);
+ private JComboBox _dbHome = new JComboBox(new Object[]{NO_DB_HOME});
private JTextField _properties = new JTextField(20);
private java.util.Map _propertiesMap;
private TableDialog _propertiesDialog;
private JButton _propertiesButton = new JButton("...");
+
+ static private final Object NO_DB_HOME = new Object()
+ {
+ public String toString()
+ {
+ return "Created by the IceGrid Node";
+ }
+ };
}
diff --git a/java/src/IceGrid/TreeNode/NodeEditor.java b/java/src/IceGrid/TreeNode/NodeEditor.java
index 5fa7e79f0df..89cbeef86d5 100755
--- a/java/src/IceGrid/TreeNode/NodeEditor.java
+++ b/java/src/IceGrid/TreeNode/NodeEditor.java
@@ -165,7 +165,9 @@ class NodeEditor extends Editor
super(true, true);
_name.getDocument().addDocumentListener(_updateListener);
+ _name.setToolTipText("Must match the IceGrid.Node.Name property of the desired icegridnode process");
_description.getDocument().addDocumentListener(_updateListener);
+ _description.setToolTipText("An optional description for this node");
_variables.setEditable(false);
_hostname.setEditable(false);
@@ -181,6 +183,8 @@ class NodeEditor extends Editor
node.getLoad();
}
};
+ refresh.putValue(Action.SHORT_DESCRIPTION,
+ "Fetch the latest values from this IceGrid Node");
_refreshButton = new JButton(refresh);
@@ -204,9 +208,14 @@ class NodeEditor extends Editor
}
}
};
+ openVariablesDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit variables");
_variablesButton = new JButton(openVariablesDialog);
_loadFactor.getDocument().addDocumentListener(_updateListener);
+ _loadFactor.setToolTipText("<html>A floating point value.<br>"
+ + "When not specified, IceGrid uses 1.0 on all platforms<br>"
+ + "except Windows where it uses 1.0 divided by <i>number of processors</i>.<html>");
}
public JComponent getCurrentStatus(Ice.StringHolder title)
@@ -240,10 +249,14 @@ class NodeEditor extends Editor
if(node.isRunningWindows())
{
_loadAverageLabel.setText("CPU Usage");
+ _loadAverage.setToolTipText(
+ "CPU usage in the past 1 min, 5 min and 15 min period");
}
else
{
_loadAverageLabel.setText("Load Average");
+ _loadAverage.setToolTipText(
+ "Load average in the past 1 min, 5 min and 15 min period");
}
_loadAverage.setText("Refreshing...");
node.getLoad();
diff --git a/java/src/IceGrid/TreeNode/ReplicaGroupEditor.java b/java/src/IceGrid/TreeNode/ReplicaGroupEditor.java
index cf7c6a7b4e0..0713232a622 100755
--- a/java/src/IceGrid/TreeNode/ReplicaGroupEditor.java
+++ b/java/src/IceGrid/TreeNode/ReplicaGroupEditor.java
@@ -197,6 +197,8 @@ class ReplicaGroupEditor extends Editor
}
}
};
+ openObjectsDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit registered objects");
_objectsButton = new JButton(openObjectsDialog);
//
@@ -219,18 +221,30 @@ class ReplicaGroupEditor extends Editor
}
}
});
+ _loadBalancing.setToolTipText(
+ "Specifies how IceGrid selects adapters when resolving a replica group ID");
//
// Associate updateListener with various fields
//
_id.getDocument().addDocumentListener(_updateListener);
+ _id.setToolTipText("Must be unique within this IceGrid deployment");
+
_description.getDocument().addDocumentListener(_updateListener);
+ _description.setToolTipText(
+ "An optional description for this replica group");
+
_nReplicas.getDocument().addDocumentListener(_updateListener);
+ _nReplicas.setToolTipText("<html>IceGrid returns the endpoints of "
+ + "up to <i>number</i> adapters<br>"
+ + "when resolving a replica group ID</html>");
_loadSample.setEditable(true);
JTextField loadSampleTextField = (JTextField)
_loadSample.getEditor().getEditorComponent();
loadSampleTextField.getDocument().addDocumentListener(_updateListener);
+ _loadSample.setToolTipText(
+ "Use the load average or CPU usage over the last 1, 5 or 15 minutes?");
}
@@ -364,7 +378,6 @@ class ReplicaGroupEditor extends Editor
_objectsButton.setEnabled(isEditable);
_loadBalancing.setEnabled(true);
- _loadBalancing.setEditable(true);
if(descriptor.loadBalancing == null)
{
@@ -404,7 +417,6 @@ class ReplicaGroupEditor extends Editor
_nReplicas.setEditable(isEditable);
_loadSample.setEditable(isEditable);
_loadBalancing.setEnabled(isEditable);
- _loadBalancing.setEditable(isEditable);
_applyButton.setEnabled(replicaGroup.isEphemeral());
_discardButton.setEnabled(replicaGroup.isEphemeral());
diff --git a/java/src/IceGrid/TreeNode/Server.java b/java/src/IceGrid/TreeNode/Server.java
index 53baa236ac5..8313d6f3a81 100755
--- a/java/src/IceGrid/TreeNode/Server.java
+++ b/java/src/IceGrid/TreeNode/Server.java
@@ -109,8 +109,8 @@ class Server extends EditableParent
new java.util.LinkedList(),
new java.util.LinkedList(),
"manual",
- "0",
- "0",
+ "",
+ "",
false,
new IceGrid.DistributionDescriptor("", new java.util.LinkedList()));
}
@@ -147,8 +147,8 @@ class Server extends EditableParent
new java.util.LinkedList(),
new java.util.LinkedList(),
"manual",
- "0",
- "0",
+ "",
+ "",
false,
new IceGrid.DistributionDescriptor("", new java.util.LinkedList()),
new java.util.LinkedList()
diff --git a/java/src/IceGrid/TreeNode/ServerInstanceEditor.java b/java/src/IceGrid/TreeNode/ServerInstanceEditor.java
index 3c53be2f043..e13f744b9f0 100755
--- a/java/src/IceGrid/TreeNode/ServerInstanceEditor.java
+++ b/java/src/IceGrid/TreeNode/ServerInstanceEditor.java
@@ -51,7 +51,8 @@ class ServerInstanceEditor extends AbstractServerEditor
{
super(model);
_subEditor = new ServerSubEditor(this, parentFrame);
-
+
+ _template.setToolTipText("Server template");
_parameterValues.setEditable(false);
//
@@ -70,7 +71,7 @@ class ServerInstanceEditor extends AbstractServerEditor
}
};
gotoTemplate.putValue(Action.SHORT_DESCRIPTION,
- "Goto this template");
+ "Goto this server template");
_templateButton = new JButton(gotoTemplate);
//
@@ -96,6 +97,9 @@ class ServerInstanceEditor extends AbstractServerEditor
}
}
};
+ openParametersDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit parameters");
+
_parametersButton = new JButton(openParametersDialog);
}
diff --git a/java/src/IceGrid/TreeNode/ServerSubEditor.java b/java/src/IceGrid/TreeNode/ServerSubEditor.java
index 4bd2349ed0f..320680e6b90 100755
--- a/java/src/IceGrid/TreeNode/ServerSubEditor.java
+++ b/java/src/IceGrid/TreeNode/ServerSubEditor.java
@@ -14,6 +14,7 @@ import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JComboBox;
+import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JTextField;
@@ -34,15 +35,30 @@ class ServerSubEditor extends CommunicatorSubEditor
_id.getDocument().addDocumentListener(
_mainEditor.getUpdateListener());
+ _id.setToolTipText("Must be unique within this IceGrid deployment");
+
_exe.getDocument().addDocumentListener(
_mainEditor.getUpdateListener());
+ _exe.setToolTipText("<html>Path to this server's executable, e.g.:<br>"
+ + "icebox<br>"
+ + "java<br>"
+ + "myHelloServer<br>"
+ + "C:\\testbed\\hello\\server</html>");
+
_pwd.getDocument().addDocumentListener(
_mainEditor.getUpdateListener());
+ _pwd.setToolTipText(
+ "<html>If not set, the server will start in "
+ + "<i>node data dir</i>/servers/<i>server-id</i>;<br>"
+ + "relative directories are relative to the current directory"
+ + " of the icegridnode process.</html>");
_options.setEditable(false);
_envs.setEditable(false);
_activation = new JComboBox(new Object[]{ON_DEMAND, MANUAL});
+ _activation.setToolTipText("Select 'on-demand' to have IceGrid start your server on-demand");
+
JTextField activationTextField = (JTextField)
_activation.getEditor().getEditorComponent();
activationTextField.getDocument().addDocumentListener(
@@ -50,8 +66,14 @@ class ServerSubEditor extends CommunicatorSubEditor
_activationTimeout.getDocument().addDocumentListener(
_mainEditor.getUpdateListener());
+ _activationTimeout.setToolTipText("<html>Number of seconds; if not set or set to 0, "
+ + "the IceGrid Node<br> uses the value of its "
+ + "IceGrid.Node.WaitTime property</html>");
_deactivationTimeout.getDocument().addDocumentListener(
_mainEditor.getUpdateListener());
+ _deactivationTimeout.setToolTipText("<html>Number of seconds; if not set or set to 0, "
+ + "the IceGrid Node<br> uses the value of its "
+ + "IceGrid.Node.WaitTime property</html>");
_envDialog = new TableDialog(parentFrame, "Environment Variables",
@@ -70,6 +92,8 @@ class ServerSubEditor extends CommunicatorSubEditor
}
}
};
+ openEnvDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit environment variables");
_envButton = new JButton(openEnvDialog);
_optionDialog = new ListDialog(parentFrame,
@@ -88,10 +112,15 @@ class ServerSubEditor extends CommunicatorSubEditor
}
}
};
+ openOptionDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit command-line arguments");
_optionButton = new JButton(openOptionDialog);
_distrib = new JComboBox(new Object[]{NO_DISTRIB, DEFAULT_DISTRIB});
+ _distrib.setToolTipText(
+ "The proxy to the IcePatch2 server holding your files");
+
JTextField distribTextField = (JTextField)
_distrib.getEditor().getEditorComponent();
distribTextField.getDocument().addDocumentListener(
@@ -115,6 +144,8 @@ class ServerSubEditor extends CommunicatorSubEditor
}
}
};
+ openDistribDirsDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit directory list");
_distribDirsButton = new JButton(openDistribDirsDialog);
}
@@ -158,7 +189,10 @@ class ServerSubEditor extends CommunicatorSubEditor
builder.append("Deactivation Timeout");
builder.append(_deactivationTimeout, 3);
builder.nextLine();
- builder.appendSeparator("Distribution");
+
+ JComponent c = builder.appendSeparator("Distribution");
+ c.setToolTipText("Files specific to this server");
+
builder.append("IcePatch2 Proxy");
builder.append(_distrib, 3);
builder.nextLine();
@@ -359,8 +393,17 @@ class ServerSubEditor extends CommunicatorSubEditor
};
_distribDirs.setText(
- Utils.stringify(_distribDirsList, stringifier, ", ", toolTipHolder));
- _distribDirs.setToolTipText(toolTipHolder.value);
+ Utils.stringify(_distribDirsList, stringifier, ", ",
+ toolTipHolder));
+
+ String toolTip = "<html>Include only these directories";
+
+ if(toolTipHolder.value != null)
+ {
+ toolTip += ":<br>" + toolTipHolder.value;
+ }
+ toolTip += "</html>";
+ _distribDirs.setToolTipText(toolTip);
}
static private final String ON_DEMAND = "on-demand";
diff --git a/java/src/IceGrid/TreeNode/ServiceInstanceEditor.java b/java/src/IceGrid/TreeNode/ServiceInstanceEditor.java
index f4d20fc379a..67acae79753 100755
--- a/java/src/IceGrid/TreeNode/ServiceInstanceEditor.java
+++ b/java/src/IceGrid/TreeNode/ServiceInstanceEditor.java
@@ -53,7 +53,7 @@ class ServiceInstanceEditor extends ListElementEditor
}
};
gotoTemplate.putValue(Action.SHORT_DESCRIPTION,
- "Goto this template");
+ "Goto this service template");
_templateButton = new JButton(gotoTemplate);
//
@@ -67,7 +67,7 @@ class ServiceInstanceEditor extends ListElementEditor
{
public void actionPerformed(ActionEvent e)
{
- if(_parametersDialog.show(_parameterList, _parameterValuesMap,
+ if(_parametersDialog.show(_parameterList, _parameterValuesMap,
getProperties()))
{
updated();
@@ -79,6 +79,8 @@ class ServiceInstanceEditor extends ListElementEditor
}
}
};
+ openParametersDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Edit parameter values");
_parametersButton = new JButton(openParametersDialog);
}
diff --git a/java/src/IceGrid/TreeNode/ServiceSubEditor.java b/java/src/IceGrid/TreeNode/ServiceSubEditor.java
index 7d24e36eedd..f202ec765cb 100755
--- a/java/src/IceGrid/TreeNode/ServiceSubEditor.java
+++ b/java/src/IceGrid/TreeNode/ServiceSubEditor.java
@@ -29,8 +29,16 @@ class ServiceSubEditor extends CommunicatorSubEditor
_name.getDocument().addDocumentListener(
_mainEditor.getUpdateListener());
+ _name.setToolTipText("Identifies this service within an IceBox server");
+
_entry.getDocument().addDocumentListener(
_mainEditor.getUpdateListener());
+ _entry.setToolTipText(
+ "<html>The service entry point and optional arguments.<br>"
+ + "C++: <i>shared object:function-name arg1 arg2 ...</i><br>"
+ + "Java: <i>class-name arg1 arg2 ...</i><br>"
+ + "C#, Visual Basic: <i>assembly:class-name arg1 arg2 ...</i>"
+ + "</html>");
}
ServiceDescriptor getServiceDescriptor()
@@ -50,7 +58,7 @@ class ServiceSubEditor extends CommunicatorSubEditor
//
super.appendProperties(builder);
- builder.append("Entry");
+ builder.append("Entry Point");
builder.append(_entry, 3);
builder.nextLine();
}
diff --git a/java/src/IceGrid/TreeNode/TemplateEditor.java b/java/src/IceGrid/TreeNode/TemplateEditor.java
index 5f43ac014c5..2e11db1731c 100755
--- a/java/src/IceGrid/TreeNode/TemplateEditor.java
+++ b/java/src/IceGrid/TreeNode/TemplateEditor.java
@@ -30,6 +30,7 @@ class TemplateEditor extends Editor
{
super(false, true);
_template.getDocument().addDocumentListener(_updateListener);
+ _template.setToolTipText("Must be unique within the enclosing application");
_parameters.setEditable(false);
//
@@ -55,6 +56,8 @@ class TemplateEditor extends Editor
}
}
};
+ openParametersDialog.putValue(Action.SHORT_DESCRIPTION,
+ "Editor parameters");
_parametersButton = new JButton(openParametersDialog);
}