diff options
author | Bernard Normier <bernard@zeroc.com> | 2005-09-20 23:46:57 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2005-09-20 23:46:57 +0000 |
commit | 9ab49898e47f7dbccff8b95d84bfdd2a6fa73db6 (patch) | |
tree | 745f5986b4e6b5a1a7436678971fc21f34afc417 /java/src/IceGrid/TreeNode/PropertiesHolder.java | |
parent | Bug 467. (diff) | |
download | ice-9ab49898e47f7dbccff8b95d84bfdd2a6fa73db6.tar.bz2 ice-9ab49898e47f7dbccff8b95d84bfdd2a6fa73db6.tar.xz ice-9ab49898e47f7dbccff8b95d84bfdd2a6fa73db6.zip |
It's now possible to edit/add/remove services (but not service instances or
templates)
Diffstat (limited to 'java/src/IceGrid/TreeNode/PropertiesHolder.java')
-rwxr-xr-x | java/src/IceGrid/TreeNode/PropertiesHolder.java | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/java/src/IceGrid/TreeNode/PropertiesHolder.java b/java/src/IceGrid/TreeNode/PropertiesHolder.java index 0051a07d376..4e1de9ef5c6 100755 --- a/java/src/IceGrid/TreeNode/PropertiesHolder.java +++ b/java/src/IceGrid/TreeNode/PropertiesHolder.java @@ -37,29 +37,21 @@ class PropertiesHolder void replace(String oldKey, String newKey, String newValue)
{
- boolean needPut = true;
- boolean needRemove = !oldKey.equals(newKey); // don't remove when oldKey == newKey
-
+ //
+ // Each PropertyDescriptor is considered immutable: so always remove + put
+ //
java.util.Iterator p = _descriptor.properties.iterator();
- while(p.hasNext() && (needRemove || needPut))
+ while(p.hasNext())
{
PropertyDescriptor pd = (PropertyDescriptor)p.next();
- if(needRemove && pd.name.equals(oldKey))
+ if(pd.name.equals(oldKey))
{
p.remove();
- needRemove = false;
- }
- if(needPut && pd.name.equals(newKey))
- {
- pd.value = newValue;
- needPut = false;
+ break; // done
}
}
-
- if(needPut)
- {
- _descriptor.properties.add(new PropertyDescriptor(newKey, newValue));
- }
+
+ _descriptor.properties.add(new PropertyDescriptor(newKey, newValue));
}
private CommunicatorDescriptor _descriptor;
}
|