summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/DescriptorHelper.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2005-06-24 16:36:01 +0000
committerBenoit Foucher <benoit@zeroc.com>2005-06-24 16:36:01 +0000
commitbf0ea74e790d7ede8ee3291d4156a9f577ab1818 (patch)
tree99aa3188d0f44aec936669a9ff2753dab0f86a26 /cpp/src/IceGrid/DescriptorHelper.cpp
parentAdded java:type for Java mapping (diff)
downloadice-bf0ea74e790d7ede8ee3291d4156a9f577ab1818.tar.bz2
ice-bf0ea74e790d7ede8ee3291d4156a9f577ab1818.tar.xz
ice-bf0ea74e790d7ede8ee3291d4156a9f577ab1818.zip
Added comment update support.
Diffstat (limited to 'cpp/src/IceGrid/DescriptorHelper.cpp')
-rw-r--r--cpp/src/IceGrid/DescriptorHelper.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp
index a14c0ccba90..fe972055156 100644
--- a/cpp/src/IceGrid/DescriptorHelper.cpp
+++ b/cpp/src/IceGrid/DescriptorHelper.cpp
@@ -659,34 +659,41 @@ ApplicationDescriptorHelper::update(const ApplicationUpdateDescriptor& update)
_templates->setDescriptor(newApp);
newApp->name = oldApp->name;
- newApp->comment = oldApp->comment;
+ newApp->comment = newUpdate.comment ? newUpdate.comment->value : oldApp->comment;
newApp->targets = oldApp->targets;
newApp->variables = oldApp->variables;
- for(map<string, string>::const_iterator q = newUpdate.variables.begin(); q != newUpdate.variables.end(); ++q)
- {
- newApp->variables[q->first] = q->second;
- _variables->addVariable(q->first, q->second);
- }
Ice::StringSeq::const_iterator p;
for(p = newUpdate.removeVariables.begin(); p != newUpdate.removeVariables.end(); ++p)
{
newApp->variables.erase(*p);
_variables->remove(*p);
}
+ for(map<string, string>::const_iterator q = newUpdate.variables.begin(); q != newUpdate.variables.end(); ++q)
+ {
+ newApp->variables[q->first] = q->second;
+ _variables->addVariable(q->first, q->second);
+ }
- newApp->serverTemplates = newUpdate.serverTemplates;
- newApp->serverTemplates.insert(oldApp->serverTemplates.begin(), oldApp->serverTemplates.end());
+ newApp->serverTemplates = oldApp->serverTemplates;
for(p = newUpdate.removeServerTemplates.begin(); p != newUpdate.removeServerTemplates.end(); ++p)
{
newApp->serverTemplates.erase(*p);
}
+ TemplateDescriptorDict::const_iterator t;
+ for(t = newUpdate.serverTemplates.begin(); t != newUpdate.serverTemplates.end(); ++t)
+ {
+ newApp->serverTemplates[t->first] = t->second;
+ }
- newApp->serviceTemplates = newUpdate.serviceTemplates;
- newApp->serviceTemplates.insert(oldApp->serviceTemplates.begin(), oldApp->serviceTemplates.end());
+ newApp->serviceTemplates = oldApp->serviceTemplates;
for(p = newUpdate.removeServiceTemplates.begin(); p != newUpdate.removeServiceTemplates.end(); ++p)
{
newApp->serviceTemplates.erase(*p);
}
+ for(t = newUpdate.serviceTemplates.begin(); t != newUpdate.serviceTemplates.end(); ++t)
+ {
+ newApp->serviceTemplates[t->first] = t->second;
+ }
newApp->nodes = newUpdate.nodes;
set<string> removed(newUpdate.removeNodes.begin(), newUpdate.removeNodes.end());