diff options
author | Bernard Normier <bernard@zeroc.com> | 2005-10-15 22:40:40 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2005-10-15 22:40:40 +0000 |
commit | bb143962aa41abafa300039319ef250d8ab9715a (patch) | |
tree | b9cb16bf2a5ab97b216fe0e4278326d516969235 /java/src/IceGrid/TreeNode/NodeEditor.java | |
parent | ami on some operations (diff) | |
download | ice-bb143962aa41abafa300039319ef250d8ab9715a.tar.bz2 ice-bb143962aa41abafa300039319ef250d8ab9715a.tar.xz ice-bb143962aa41abafa300039319ef250d8ab9715a.zip |
Variable substitution in Application, Node and Replica Group
Diffstat (limited to 'java/src/IceGrid/TreeNode/NodeEditor.java')
-rwxr-xr-x | java/src/IceGrid/TreeNode/NodeEditor.java | 49 |
1 files changed, 43 insertions, 6 deletions
diff --git a/java/src/IceGrid/TreeNode/NodeEditor.java b/java/src/IceGrid/TreeNode/NodeEditor.java index 6fc3ced302a..1c627ef20ca 100755 --- a/java/src/IceGrid/TreeNode/NodeEditor.java +++ b/java/src/IceGrid/TreeNode/NodeEditor.java @@ -142,6 +142,19 @@ class NodeEditor extends Editor }
}
+ Utils.Resolver getDetailResolver()
+ {
+ Node node = (Node)_target;
+ if(node.getModel().substitute())
+ {
+ return node.getResolver();
+ }
+ else
+ {
+ return null;
+ }
+ }
+
NodeEditor(JFrame parentFrame)
{
_name.getDocument().addDocumentListener(_updateListener);
@@ -217,30 +230,54 @@ class NodeEditor extends Editor detectUpdates(false);
setTarget(node);
+ Utils.Resolver resolver = getDetailResolver();
+ boolean isEditable = (resolver == null);
+
_name.setText(_target.getId());
_name.setEditable(_target.isEphemeral());
NodeDescriptor descriptor = (NodeDescriptor)_target.getDescriptor();
- _description.setText(descriptor.description);
+ _description.setText(
+ Utils.substitute(descriptor.description, resolver));
+ _description.setEditable(isEditable);
+ _description.setOpaque(isEditable);
+
_variablesMap = descriptor.variables;
setVariablesField();
- _loadFactor.setText(descriptor.loadFactor);
-
+ _variablesButton.setEnabled(isEditable);
+
+ _loadFactor.setText(
+ Utils.substitute(descriptor.loadFactor, resolver));
+ _loadFactor.setEditable(isEditable);
+
_applyButton.setEnabled(node.isEphemeral());
_discardButton.setEnabled(node.isEphemeral());
detectUpdates(true);
}
-
+
private void setVariablesField()
{
+ Utils.Stringifier stringifier = new Utils.Stringifier()
+ {
+ final Utils.Resolver resolver = getDetailResolver();
+
+ public String toString(Object obj)
+ {
+ java.util.Map.Entry entry = (java.util.Map.Entry)obj;
+
+ return (String)entry.getKey() + "="
+ + Utils.substitute((String)entry.getValue(), resolver);
+ }
+ };
+
Ice.StringHolder toolTipHolder = new Ice.StringHolder();
_variables.setText(
- Utils.stringify(_variablesMap, "=", ", ", toolTipHolder));
+ Utils.stringify(_variablesMap.entrySet(), stringifier,
+ ", ", toolTipHolder));
_variables.setToolTipText(toolTipHolder.value);
}
-
private JTextField _name = new JTextField(20);
private JTextArea _description = new JTextArea(3, 20);
private JTextField _variables = new JTextField(20);
|