summaryrefslogtreecommitdiff
path: root/java/src/IceGrid/TreeNode/Nodes.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2005-11-08 19:51:53 +0000
committerBernard Normier <bernard@zeroc.com>2005-11-08 19:51:53 +0000
commit01a5e905cb352901a9aeef1e6328f581fe77a267 (patch)
treee1fd65505a37ba34db97cb6bd5d85df607f06d7a /java/src/IceGrid/TreeNode/Nodes.java
parentminor fixes to comments (diff)
downloadice-01a5e905cb352901a9aeef1e6328f581fe77a267.tar.bz2
ice-01a5e905cb352901a9aeef1e6328f581fe77a267.tar.xz
ice-01a5e905cb352901a9aeef1e6328f581fe77a267.zip
Fixed bug #586
Diffstat (limited to 'java/src/IceGrid/TreeNode/Nodes.java')
-rwxr-xr-xjava/src/IceGrid/TreeNode/Nodes.java20
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);
}
}