summaryrefslogtreecommitdiff
path: root/java/src/IceGrid/TreeNode/PropertiesHolder.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2005-09-20 23:46:57 +0000
committerBernard Normier <bernard@zeroc.com>2005-09-20 23:46:57 +0000
commit9ab49898e47f7dbccff8b95d84bfdd2a6fa73db6 (patch)
tree745f5986b4e6b5a1a7436678971fc21f34afc417 /java/src/IceGrid/TreeNode/PropertiesHolder.java
parentBug 467. (diff)
downloadice-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-xjava/src/IceGrid/TreeNode/PropertiesHolder.java24
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;
}