summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Database.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2005-06-14 08:10:49 +0000
committerBenoit Foucher <benoit@zeroc.com>2005-06-14 08:10:49 +0000
commitd5e2d2bc732ca46ac26bc8c3aefdf9c4755e44be (patch)
tree9422b67834be0be1672f50325b11e1a80e298c76 /cpp/src/IceGrid/Database.cpp
parentfix for bug 257: removing finalizer in SslConnector (diff)
downloadice-d5e2d2bc732ca46ac26bc8c3aefdf9c4755e44be.tar.bz2
ice-d5e2d2bc732ca46ac26bc8c3aefdf9c4755e44be.tar.xz
ice-d5e2d2bc732ca46ac26bc8c3aefdf9c4755e44be.zip
Fixed bug in application update code.
Diffstat (limited to 'cpp/src/IceGrid/Database.cpp')
-rw-r--r--cpp/src/IceGrid/Database.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp
index 30d7e7be165..f33e788bdc0 100644
--- a/cpp/src/IceGrid/Database.cpp
+++ b/cpp/src/IceGrid/Database.cpp
@@ -243,6 +243,10 @@ Database::addApplicationDescriptor(const ApplicationDescriptorPtr& descriptor)
throw ex;
}
+ ApplicationDescriptorHelper helper(_communicator, descriptor);
+ helper.instantiate();
+ descriptor = helper.getDescriptor();
+
//
// Ensure that the application servers, adapters and objects
// aren't already registered.
@@ -369,12 +373,15 @@ Database::syncApplicationDescriptor(const ApplicationDescriptorPtr& newDesc)
ex.name = newDesc->name;
throw ex;
}
- ApplicationDescriptorPtr origDesc = p->second;
+ ApplicationDescriptorHelper helper(_communicator, newDesc);
+ helper.instantiate();
+
+
//
// Synchronize the application descriptor.
//
- syncApplicationDescriptorNoSync(origDesc, newDesc, entries);
+ syncApplicationDescriptorNoSync(p->second, helper.getDescriptor(), entries);
}
//
@@ -440,7 +447,7 @@ Database::syncApplicationDescriptorNoSync(const ApplicationDescriptorPtr& origDe
DeploymentException ex;
ex.reason = "adapter `" + e.id + "' is already registered";
throw ex;
- }
+ }
//
// Ensure that the new application objects aren't already