diff options
author | Benoit Foucher <benoit@zeroc.com> | 2006-01-26 10:49:43 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2006-01-26 10:49:43 +0000 |
commit | fbe5156ee075662335b42efbdbb14b16ebfaf576 (patch) | |
tree | 4c473db7032d42bcd37e1ea8d24e6ddcce281aeb /cpp/src/IceGrid/DescriptorHelper.cpp | |
parent | http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=529 (diff) | |
download | ice-fbe5156ee075662335b42efbdbb14b16ebfaf576.tar.bz2 ice-fbe5156ee075662335b42efbdbb14b16ebfaf576.tar.xz ice-fbe5156ee075662335b42efbdbb14b16ebfaf576.zip |
Fixed a bug which would prevent to define object identity with a category
using variables.
Diffstat (limited to 'cpp/src/IceGrid/DescriptorHelper.cpp')
-rw-r--r-- | cpp/src/IceGrid/DescriptorHelper.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp index f4c6393c583..d7fda548301 100644 --- a/cpp/src/IceGrid/DescriptorHelper.cpp +++ b/cpp/src/IceGrid/DescriptorHelper.cpp @@ -647,8 +647,11 @@ CommunicatorHelper::instantiateImpl(const CommunicatorDescriptorPtr& instance, c { ObjectDescriptor obj; obj.type = resolve(q->type, "object type"); - obj.id.name = resolve(q->id.name, "object identity name", false); - obj.id.category = resolve(q->id.category, "object identity category"); + obj.id = Ice::stringToIdentity(resolve(Ice::identityToString(q->id), "object identity", false)); + if(obj.id.name.empty()) + { + resolve.exception("invalid object identity `" + Ice::identityToString(q->id) + "': name empty"); + } adapter.objects.push_back(obj); } instance->adapters.push_back(adapter); @@ -1989,8 +1992,11 @@ ApplicationHelper::instantiate(const Resolver& resolve) const for(ObjectDescriptorSeq::iterator q = r->objects.begin(); q != r->objects.end(); ++q) { q->type = resolve(q->type, "object type"); - q->id.name = resolve(q->id.name, "object identity name", false); - q->id.category = resolve(q->id.category, "object identity category"); + q->id = Ice::stringToIdentity(resolve(Ice::identityToString(q->id), "object identity", false)); + if(q->id.name.empty()) + { + resolve.exception("invalid object identity `" + Ice::identityToString(q->id) + "': name empty"); + } } } |