diff options
author | Bernard Normier <bernard@zeroc.com> | 2005-06-25 16:48:42 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2005-06-25 16:48:42 +0000 |
commit | 68c4c2ad068c5647bef41659bb16811374d1fedc (patch) | |
tree | fee0b1ea8e3d0f32c53172e8a7e591eba7342db6 /java/src/IceGrid/TreeNode/ServerTemplates.java | |
parent | Added minimal client to CE build (diff) | |
download | ice-68c4c2ad068c5647bef41659bb16811374d1fedc.tar.bz2 ice-68c4c2ad068c5647bef41659bb16811374d1fedc.tar.xz ice-68c4c2ad068c5647bef41659bb16811374d1fedc.zip |
Fixed build
Diffstat (limited to 'java/src/IceGrid/TreeNode/ServerTemplates.java')
-rwxr-xr-x | java/src/IceGrid/TreeNode/ServerTemplates.java | 49 |
1 files changed, 42 insertions, 7 deletions
diff --git a/java/src/IceGrid/TreeNode/ServerTemplates.java b/java/src/IceGrid/TreeNode/ServerTemplates.java index 33538b64273..4882f13c32c 100755 --- a/java/src/IceGrid/TreeNode/ServerTemplates.java +++ b/java/src/IceGrid/TreeNode/ServerTemplates.java @@ -12,8 +12,10 @@ import IceGrid.TemplateDescriptor; class ServerTemplates extends Parent
{
- ServerTemplates(java.util.Map descriptors, java.util.Map serviceTemplates)
+ ServerTemplates(java.util.Map descriptors)
{
+ super("Server templates");
+
_descriptors = descriptors;
java.util.Iterator p = _descriptors.entrySet().iterator();
@@ -22,15 +24,48 @@ class ServerTemplates extends Parent {
java.util.Map.Entry entry = (java.util.Map.Entry)p.next();
addChild(new ServerTemplate((String)entry.getKey(),
- (TemplateDescriptor)entry.getValue(),
- serviceTemplates));
+ (TemplateDescriptor)entry.getValue()));
}
}
-
- public String toString()
+
+ void update(java.util.Map descriptors, String[] removeTemplates)
{
- return "Server templates";
- }
+ //
+ // Note: _descriptors is updated by Application
+ //
+
+ //
+ // One big set of removes
+ //
+ removeChildren(removeTemplates);
+ //
+ // One big set of updates, followed by inserts
+ //
+ java.util.Vector newChildren = new java.util.Vector();
+ java.util.Vector updatedChildren = new java.util.Vector();
+
+ java.util.Iterator p = descriptors.entrySet().iterator();
+ while(p.hasNext())
+ {
+ java.util.Map.Entry entry = (java.util.Map.Entry)p.next();
+ String name = (String)entry.getKey();
+ TemplateDescriptor templateDescriptor = (TemplateDescriptor)entry.getValue();
+ ServerTemplate child = (ServerTemplate)findChild(name);
+ if(child == null)
+ {
+ newChildren.add(new ServerTemplate(name, templateDescriptor));
+ }
+ else
+ {
+ child.rebuild(templateDescriptor);
+ updatedChildren.add(child);
+ }
+ }
+
+ updateChildren((CommonBaseI[])updatedChildren.toArray(new CommonBaseI[0]));
+ addChildren((CommonBaseI[])newChildren.toArray(new CommonBaseI[0]));
+ }
+
private java.util.Map _descriptors;
}
|