diff options
Diffstat (limited to 'java')
-rwxr-xr-x | java/src/IceGrid/TreeNode/Adapter.java | 18 | ||||
-rwxr-xr-x | java/src/IceGrid/TreeNode/AdapterEditor.java | 37 | ||||
-rwxr-xr-x | java/src/IceGrid/Utils.java | 5 |
3 files changed, 51 insertions, 9 deletions
diff --git a/java/src/IceGrid/TreeNode/Adapter.java b/java/src/IceGrid/TreeNode/Adapter.java index 92f6d7ae19f..7cf6e274204 100755 --- a/java/src/IceGrid/TreeNode/Adapter.java +++ b/java/src/IceGrid/TreeNode/Adapter.java @@ -128,12 +128,6 @@ class Adapter extends Leaf // } super.setParent(parent); - - CommonBase grandParent = parent.getParent(); - - _defaultAdapterId = (grandParent instanceof Service || - grandParent instanceof ServiceTemplate) ? - "${server}.${service}." + _id: "${server}." + _id; } public void clearParent() @@ -249,7 +243,16 @@ class Adapter extends Leaf String getDefaultAdapterId() { - return _defaultAdapterId; + return getDefaultAdapterId(_id); + } + + String getDefaultAdapterId(String name) + { + CommonBase grandParent = _parent.getParent(); + + return (grandParent instanceof Service || + grandParent instanceof ServiceTemplate) ? + "${server}.${service}." + name: "${server}." + name; } String getCurrentEndpoints() @@ -294,7 +297,6 @@ class Adapter extends Leaf private String _toolTip; private String _adapterId; // resolved adapter id, null when _resolver == null - private String _defaultAdapterId; static private DefaultTreeCellRenderer _cellRenderer; static private AdapterEditor _editor; diff --git a/java/src/IceGrid/TreeNode/AdapterEditor.java b/java/src/IceGrid/TreeNode/AdapterEditor.java index 3a2f0bb033e..84c6c423a72 100755 --- a/java/src/IceGrid/TreeNode/AdapterEditor.java +++ b/java/src/IceGrid/TreeNode/AdapterEditor.java @@ -22,6 +22,8 @@ import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; import com.jgoodies.forms.builder.DefaultFormBuilder; import com.jgoodies.forms.layout.CellConstraints; @@ -127,7 +129,40 @@ class AdapterEditor extends ListElementEditor // // Associate updateListener with various fields // - _name.getDocument().addDocumentListener(_updateListener); + _name.getDocument().addDocumentListener( + new DocumentListener() + { + public void changedUpdate(DocumentEvent e) + { + update(); + } + + public void insertUpdate(DocumentEvent e) + { + update(); + } + + public void removeUpdate(DocumentEvent e) + { + update(); + } + + private void update() + { + updated(); + // + // Recompute default id + // + String defaultAdapterId = getAdapter().getDefaultAdapterId(_name.getText()); + + Object id = _id.getSelectedItem(); + _id.setModel(new DefaultComboBoxModel(new Object[] + {DIRECT_ADAPTER, defaultAdapterId})); + _id.setSelectedItem(id); + } + }); + + _endpoints.getDocument().addDocumentListener(_updateListener); _description.getDocument().addDocumentListener(_updateListener); diff --git a/java/src/IceGrid/Utils.java b/java/src/IceGrid/Utils.java index 8c3a1ec7a05..07804f2a003 100755 --- a/java/src/IceGrid/Utils.java +++ b/java/src/IceGrid/Utils.java @@ -375,6 +375,11 @@ public class Utils public String substitute(String input)
{
+ if(input == null)
+ {
+ return input;
+ }
+
int beg = 0;
int end = 0;
|