diff options
author | Bernard Normier <bernard@zeroc.com> | 2005-11-08 19:51:53 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2005-11-08 19:51:53 +0000 |
commit | 01a5e905cb352901a9aeef1e6328f581fe77a267 (patch) | |
tree | e1fd65505a37ba34db97cb6bd5d85df607f06d7a /java/src/IceGrid/TreeNode/Nodes.java | |
parent | minor fixes to comments (diff) | |
download | ice-01a5e905cb352901a9aeef1e6328f581fe77a267.tar.bz2 ice-01a5e905cb352901a9aeef1e6328f581fe77a267.tar.xz ice-01a5e905cb352901a9aeef1e6328f581fe77a267.zip |
Fixed bug #586
Diffstat (limited to 'java/src/IceGrid/TreeNode/Nodes.java')
-rwxr-xr-x | java/src/IceGrid/TreeNode/Nodes.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/java/src/IceGrid/TreeNode/Nodes.java b/java/src/IceGrid/TreeNode/Nodes.java index 4317afd988a..13b6aa7cec3 100755 --- a/java/src/IceGrid/TreeNode/Nodes.java +++ b/java/src/IceGrid/TreeNode/Nodes.java @@ -203,7 +203,8 @@ public class Nodes extends EditableParent }
}
- void update(java.util.List updates, String[] removeNodes)
+ void update(java.util.List updates, String[] removeNodes,
+ java.util.Set serverTemplates, java.util.Set serviceTemplates)
throws UpdateFailedException
{
Application application = (Application)getParent();
@@ -222,6 +223,7 @@ public class Nodes extends EditableParent // One big set of updates, followed by inserts
//
java.util.Vector newChildren = new java.util.Vector();
+ java.util.Set updatedNodes = new java.util.HashSet();
java.util.Iterator p = updates.iterator();
while(p.hasNext())
@@ -242,7 +244,21 @@ public class Nodes extends EditableParent }
else
{
- node.update(update, application);
+ node.update(update, serverTemplates, serviceTemplates);
+ updatedNodes.add(node);
+ }
+ }
+
+ //
+ // Some nodes are only affected by template updates
+ //
+ p = _children.iterator();
+ while(p.hasNext())
+ {
+ Node node = (Node)p.next();
+ if(!updatedNodes.contains(node))
+ {
+ node.update(null, serverTemplates, serviceTemplates);
}
}
|