diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/PropertyNames.cpp | 7 | ||||
-rw-r--r-- | cpp/src/Ice/PropertyNames.h | 2 | ||||
-rw-r--r-- | cpp/src/IceGrid/Client.cpp | 16 | ||||
-rw-r--r-- | cpp/src/IceGrid/DescriptorBuilder.cpp | 12 | ||||
-rw-r--r-- | cpp/src/IceGrid/DescriptorBuilder.h | 2 | ||||
-rw-r--r-- | cpp/src/IceGrid/DescriptorHelper.cpp | 36 | ||||
-rw-r--r-- | cpp/src/IceGrid/DescriptorParser.cpp | 14 | ||||
-rw-r--r-- | cpp/src/IceGrid/IceGridNode.cpp | 18 | ||||
-rw-r--r-- | cpp/src/IceGrid/NodeI.cpp | 7 | ||||
-rw-r--r-- | cpp/src/IceGrid/RegistryI.cpp | 44 |
10 files changed, 78 insertions, 80 deletions
diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp index cc88fb0c323..d79101a20fe 100644 --- a/cpp/src/Ice/PropertyNames.cpp +++ b/cpp/src/Ice/PropertyNames.cpp @@ -7,7 +7,7 @@ // // ********************************************************************** -// Generated by makeprops.py from file `../config/PropertyNames.def', Wed Oct 12 16:57:50 2005 +// Generated by makeprops.py from file `../config/PropertyNames.def', Thu Oct 13 21:51:09 2005 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -127,7 +127,6 @@ const char* IceInternal::PropertyNames::IceGridProps[] = "IceGrid.Registry.Admin.ThreadPool.SizeMax", "IceGrid.Registry.Admin.ThreadPool.SizeWarn", "IceGrid.Registry.Admin.ThreadPool.StackSize", - "IceGrid.Registry.AdminIdentity", "IceGrid.Registry.Client.AdapterId", "IceGrid.Registry.Client.ReplicaGroupId", "IceGrid.Registry.Client.Endpoints", @@ -147,9 +146,7 @@ const char* IceInternal::PropertyNames::IceGridProps[] = "IceGrid.Registry.Internal.ThreadPool.SizeMax", "IceGrid.Registry.Internal.ThreadPool.SizeWarn", "IceGrid.Registry.Internal.ThreadPool.StackSize", - "IceGrid.Registry.LocatorIdentity", "IceGrid.Registry.NodeSessionTimeout", - "IceGrid.Registry.QueryIdentity", "IceGrid.Registry.Server.AdapterId", "IceGrid.Registry.Server.ReplicaGroupId", "IceGrid.Registry.Server.Endpoints", @@ -158,8 +155,6 @@ const char* IceInternal::PropertyNames::IceGridProps[] = "IceGrid.Registry.Server.ThreadPool.SizeMax", "IceGrid.Registry.Server.ThreadPool.SizeWarn", "IceGrid.Registry.Server.ThreadPool.StackSize", - "IceGrid.Registry.SessionManagerIdentity", - "IceGrid.Registry.TopicManagerIdentity", "IceGrid.Registry.Trace.Application", "IceGrid.Registry.Trace.Adapter", "IceGrid.Registry.Trace.Node", diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h index 65c09015407..64feef1de6a 100644 --- a/cpp/src/Ice/PropertyNames.h +++ b/cpp/src/Ice/PropertyNames.h @@ -7,7 +7,7 @@ // // ********************************************************************** -// Generated by makeprops.py from file `../config/PropertyNames.def', Wed Oct 12 16:57:50 2005 +// Generated by makeprops.py from file `../config/PropertyNames.def', Thu Oct 13 21:51:09 2005 // IMPORTANT: Do not edit this file -- any edits made here will be lost! diff --git a/cpp/src/IceGrid/Client.cpp b/cpp/src/IceGrid/Client.cpp index 061cbf07dbc..693b87f9164 100644 --- a/cpp/src/IceGrid/Client.cpp +++ b/cpp/src/IceGrid/Client.cpp @@ -133,26 +133,14 @@ Client::run(int argc, char* argv[]) const string instanceNameProperty = "IceGrid.InstanceName"; string instanceName = properties->getPropertyWithDefault(instanceNameProperty, "IceGrid"); - const string adminIdProperty = "IceGrid.Registry.AdminIdentity"; - string adminId = properties->getProperty(adminIdProperty); - if(adminId.empty()) - { - adminId = instanceName + "/Admin"; - } - AdminPrx admin = AdminPrx::checkedCast(communicator()->stringToProxy(adminId)); + AdminPrx admin = AdminPrx::checkedCast(communicator()->stringToProxy(instanceName + "/Admin")); if(!admin) { cerr << appName() << ": no valid administrative interface" << endl; return EXIT_FAILURE; } - const string queryIdProperty = "IceGrid.Registry.QueryIdentity"; - string queryId = properties->getProperty(queryIdProperty); - if(queryId.empty()) - { - queryId = instanceName + "/Query"; - } - QueryPrx query = QueryPrx::checkedCast(communicator()->stringToProxy(queryId)); + QueryPrx query = QueryPrx::checkedCast(communicator()->stringToProxy(instanceName + "/Query")); if(!query) { cerr << appName() << ": no valid query interface" << endl; diff --git a/cpp/src/IceGrid/DescriptorBuilder.cpp b/cpp/src/IceGrid/DescriptorBuilder.cpp index fb0345df84e..e7c8a1f810b 100644 --- a/cpp/src/IceGrid/DescriptorBuilder.cpp +++ b/cpp/src/IceGrid/DescriptorBuilder.cpp @@ -167,6 +167,12 @@ ApplicationDescriptorBuilder::setLoadBalancing(const XmlAttributesHelper& attrs) } void +ApplicationDescriptorBuilder::setReplicaGroupDescription(const string& description) +{ + _descriptor.replicaGroups.back().description = description; +} + +void ApplicationDescriptorBuilder::addObject(const XmlAttributesHelper& attrs) { ObjectDescriptor object; @@ -316,6 +322,12 @@ NodeDescriptorBuilder::addServer(const ServerDescriptorPtr& server) _descriptor.servers.push_back(server); } +void +NodeDescriptorBuilder::setDescription(const string& description) +{ + _descriptor.description = description; +} + TemplateDescriptorBuilder::TemplateDescriptorBuilder(ApplicationDescriptorBuilder& application, const XmlAttributesHelper& attrs, bool serviceTemplate) : diff --git a/cpp/src/IceGrid/DescriptorBuilder.h b/cpp/src/IceGrid/DescriptorBuilder.h index 501045dc546..6b84af1b3fa 100644 --- a/cpp/src/IceGrid/DescriptorBuilder.h +++ b/cpp/src/IceGrid/DescriptorBuilder.h @@ -65,6 +65,7 @@ public: void setDescription(const std::string&); void addReplicaGroup(const XmlAttributesHelper&); void setLoadBalancing(const XmlAttributesHelper&); + void setReplicaGroupDescription(const std::string&); void addObject(const XmlAttributesHelper&); virtual void addVariable(const XmlAttributesHelper&); @@ -102,6 +103,7 @@ public: void addVariable(const XmlAttributesHelper&); void addServerInstance(const XmlAttributesHelper&); void addServer(const ServerDescriptorPtr&); + void setDescription(const std::string&); const std::string& getName() const { return _name; } const NodeDescriptor& getDescriptor() const { return _descriptor; } diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp index 273be2878d9..ad7e4d29de2 100644 --- a/cpp/src/IceGrid/DescriptorHelper.cpp +++ b/cpp/src/IceGrid/DescriptorHelper.cpp @@ -371,7 +371,7 @@ Resolver::setContext(const string& context) void Resolver::exception(const string& reason) const { - throw DeploymentException("invalid " + _context + ": " + reason); + throw DeploymentException(_context + ": " + reason); } TemplateDescriptor @@ -1087,7 +1087,7 @@ InstanceHelper::instantiateParams(const Resolver& resolve, if(!unknown.empty()) { ostringstream os; - os << "template `" + tmpl + "' instance unknown parameters: "; + os << "unknown parameters when instantiating `" + tmpl + "' template: "; copy(unknown.begin(), unknown.end(), ostream_iterator<string>(os, " ")); resolve.exception(os.str()); } @@ -1111,7 +1111,7 @@ InstanceHelper::instantiateParams(const Resolver& resolve, if(!missingParams.empty()) { ostringstream os; - os << "template `" + tmpl + "' instance undefined parameters: "; + os << "undefined parameters when instantiating `" + tmpl + "' template: "; copy(missingParams.begin(), missingParams.end(), ostream_iterator<string>(os, " ")); resolve.exception(os.str()); } @@ -1399,6 +1399,11 @@ NodeHelper::operator==(const NodeHelper& helper) const return false; } + if(_instance.description != helper._instance.description) + { + return false; + } + return true; } @@ -1413,6 +1418,7 @@ NodeHelper::instantiate(const Resolver& resolve) const { NodeDescriptor desc = _definition; desc.loadFactor = resolve(_definition.loadFactor, "load factor"); + desc.description = resolve(_definition.description, "description"); return desc; } @@ -1429,6 +1435,11 @@ NodeHelper::diff(const NodeHelper& helper) const update.loadFactor = new BoxedString(_definition.loadFactor); } + if(_definition.description != helper._definition.description) + { + update.description = new BoxedString(_definition.description); + } + update.variables = getDictUpdatedElts(helper._definition.variables, _definition.variables); update.removeVariables = getDictRemovedElts(helper._definition.variables, _definition.variables); @@ -1463,6 +1474,11 @@ NodeHelper::update(const NodeUpdateDescriptor& update, const Resolver& appResolv { _definition.loadFactor = update.loadFactor->value; } + + if(update.description) + { + _definition.description = update.description->value; + } // // Remove the servers and server instances. @@ -1685,6 +1701,10 @@ NodeHelper::print(Output& out) const { out << nl << "load factor = '" << _instance.loadFactor << "'"; } + if(!_instance.description.empty()) + { + out << nl << "description = '" << _instance.description << "'"; + } if(!_instance.variables.empty()) { out << nl << "variables"; @@ -1736,7 +1756,8 @@ NodeHelper::printDiff(Output& out, const NodeHelper& helper) const if(updated.empty() && removed.empty() && variables.empty() && removeVariables.empty() && - _instance.loadFactor == helper._instance.loadFactor) + _instance.loadFactor == helper._instance.loadFactor && + _instance.description == helper._instance.description) { return; } @@ -1752,6 +1773,10 @@ NodeHelper::printDiff(Output& out, const NodeHelper& helper) const { out << nl << "load factor udpated"; } + if(_instance.description != helper._instance.description) + { + out << nl << "description udpated"; + } if(!variables.empty() || !removeVariables.empty()) { out << nl << "variables udpated"; @@ -1829,6 +1854,7 @@ ApplicationHelper::instantiate(const Resolver& resolve) const ReplicaGroupDescriptorSeq::iterator r; for(r = desc.replicaGroups.begin(); r != desc.replicaGroups.end(); ++r) { + r->description = resolve(r->description, "description"); if(r->loadBalancing) { r->loadBalancing = LoadBalancingPolicyPtr::dynamicCast(r->loadBalancing->ice_clone()); @@ -1909,6 +1935,7 @@ ApplicationHelper::diff(const ApplicationHelper& helper) nodeUpdate.servers = node.servers; nodeUpdate.serverInstances = node.serverInstances; nodeUpdate.loadFactor = new BoxedString(node.loadFactor); + nodeUpdate.description = new BoxedString(node.description); update.nodes.push_back(nodeUpdate); } else @@ -1974,6 +2001,7 @@ ApplicationHelper::update(const ApplicationUpdateDescriptor& update) desc.servers = p->servers; desc.serverInstances = p->serverInstances; desc.loadFactor = p->loadFactor ? p->loadFactor->value : ""; + desc.description = p->description ? p->description->value : ""; _nodes.insert(make_pair(p->name, NodeHelper(p->name, desc, resolve))); } else diff --git a/cpp/src/IceGrid/DescriptorParser.cpp b/cpp/src/IceGrid/DescriptorParser.cpp index 2183ed3ee2f..1cacdac14fe 100644 --- a/cpp/src/IceGrid/DescriptorParser.cpp +++ b/cpp/src/IceGrid/DescriptorParser.cpp @@ -460,8 +460,14 @@ DescriptorHandler::endElement(const string& name, int line, int column) { if(_inAdapter) { - assert(_currentCommunicator); - _currentCommunicator->setAdapterDescription(elementValue()); + if(_currentCommunicator) + { + _currentCommunicator->setAdapterDescription(elementValue()); + } + else + { + _currentApplication->setReplicaGroupDescription(elementValue()); + } } else if(_inDbEnv) { @@ -472,6 +478,10 @@ DescriptorHandler::endElement(const string& name, int line, int column) { _currentCommunicator->setDescription(elementValue()); } + else if(_currentNode.get()) + { + _currentNode->setDescription(elementValue()); + } else if(_currentApplication.get()) { _currentApplication->setDescription(elementValue()); diff --git a/cpp/src/IceGrid/IceGridNode.cpp b/cpp/src/IceGrid/IceGridNode.cpp index 949f990793c..fe694d478bc 100644 --- a/cpp/src/IceGrid/IceGridNode.cpp +++ b/cpp/src/IceGrid/IceGridNode.cpp @@ -332,13 +332,8 @@ NodeService::start(int argc, char* argv[]) // collocated locator (this property is passed by the // activator to each activated server). // - const string locatorIdProperty = "IceGrid.Registry.LocatorIdentity"; - string locatorId = properties->getProperty(locatorIdProperty); - if(locatorId.empty()) - { - const string instanceNameProperty = "IceGrid.InstanceName"; - locatorId = properties->getPropertyWithDefault(instanceNameProperty, "IceGrid") + "/Locator"; - } + const string instanceNameProperty = "IceGrid.InstanceName"; + const string locatorId = properties->getPropertyWithDefault(instanceNameProperty, "IceGrid") + "/Locator"; string locatorPrx = locatorId + ":" + properties->getProperty("IceGrid.Registry.Client.Endpoints"); properties->setProperty("Ice.Default.Locator", locatorPrx); } @@ -493,13 +488,8 @@ NodeService::start(int argc, char* argv[]) AdminPrx admin; try { - const string adminIdProperty = "IceGrid.Registry.AdminIdentity"; - string adminId = properties->getPropertyWithDefault(adminIdProperty, "IceGrid/Admin"); - if(adminId.empty()) - { - const string instanceNameProperty = "IceGrid.InstanceName"; - adminId = properties->getPropertyWithDefault(instanceNameProperty, "IceGrid") + "/Admin"; - } + const string instanceNameProperty = "IceGrid.InstanceName"; + const string adminId = properties->getPropertyWithDefault(instanceNameProperty, "IceGrid") + "/Admin"; admin = AdminPrx::checkedCast(communicator()->stringToProxy(adminId)); } catch(const LocalException& ex) diff --git a/cpp/src/IceGrid/NodeI.cpp b/cpp/src/IceGrid/NodeI.cpp index 119fe61a7b8..25f96133ba8 100644 --- a/cpp/src/IceGrid/NodeI.cpp +++ b/cpp/src/IceGrid/NodeI.cpp @@ -469,8 +469,11 @@ NodeI::keepAlive() { try { - Ice::ObjectPrx object = getCommunicator()->stringToProxy("IceGrid/Registry@IceGrid.Registry.Internal"); - RegistryPrx registry = RegistryPrx::uncheckedCast(object); + Ice::PropertiesPtr properties = getCommunicator()->getProperties(); + const string instanceNameProperty = "IceGrid.InstanceName"; + string instanceName = properties->getPropertyWithDefault(instanceNameProperty, "IceGrid"); + Ice::ObjectPrx obj = getCommunicator()->stringToProxy(instanceName + "/Registry@IceGrid.Registry.Internal"); + RegistryPrx registry = RegistryPrx::uncheckedCast(obj); NodeObserverPrx observer; setSession(registry->registerNode(_name, _proxy, _platform.getNodeInfo(), observer), observer); checkConsistency(); diff --git a/cpp/src/IceGrid/RegistryI.cpp b/cpp/src/IceGrid/RegistryI.cpp index 56be770f35e..13cedb583c0 100644 --- a/cpp/src/IceGrid/RegistryI.cpp +++ b/cpp/src/IceGrid/RegistryI.cpp @@ -252,29 +252,17 @@ RegistryI::start(bool nowarn) // bool dynamicReg = properties->getPropertyAsInt("IceGrid.Registry.DynamicRegistration") > 0; ObjectPtr locatorRegistry = new LocatorRegistryI(_database, dynamicReg); - ObjectPrx obj = serverAdapter->add(locatorRegistry, stringToIdentity("IceGrid/" + IceUtil::generateUUID())); + ObjectPrx obj = serverAdapter->add(locatorRegistry, stringToIdentity(instanceName + "/" + IceUtil::generateUUID())); LocatorRegistryPrx locatorRegistryPrx = LocatorRegistryPrx::uncheckedCast(obj->ice_collocationOptimization(false)); ObjectPtr locator = new LocatorI(_communicator, _database, locatorRegistryPrx); - const string locatorIdProperty = "IceGrid.Registry.LocatorIdentity"; - string locatorIdStr = properties->getProperty(locatorIdProperty); - if(locatorIdStr.empty()) - { - locatorIdStr = instanceName + "/Locator"; - } - Identity locatorId = stringToIdentity(locatorIdStr); + Identity locatorId = stringToIdentity(instanceName + "/Locator"); clientAdapter->add(locator, locatorId); // // Create the query interface and register it with the object registry. // QueryPtr query = new QueryI(_communicator, _database); - const string queryIdProperty = "IceGrid.Registry.QueryIdentity"; - string queryIdStr = properties->getProperty(queryIdProperty); - if(queryIdStr.empty()) - { - queryIdStr = instanceName + "/Query"; - } - Identity queryId = stringToIdentity(queryIdStr); + Identity queryId = stringToIdentity(instanceName + "/Query"); clientAdapter->add(query, queryId); ObjectPrx queryPrx = clientAdapter->createDirectProxy(queryId); try @@ -293,13 +281,7 @@ RegistryI::start(bool nowarn) // Create the admin interface and register it with the object registry. // ObjectPtr admin = new AdminI(_database, this, traceLevels); - const string adminIdProperty = "IceGrid.Registry.AdminIdentity"; - string adminIdStr = properties->getProperty(adminIdProperty); - if(adminIdStr.empty()) - { - adminIdStr = instanceName + "/Admin"; - } - Identity adminId = stringToIdentity(adminIdStr); + Identity adminId = stringToIdentity(instanceName + "/Admin"); adminAdapter->add(admin, adminId); ObjectPrx adminPrx = adminAdapter->createDirectProxy(adminId); try @@ -316,7 +298,7 @@ RegistryI::start(bool nowarn) // // Set the IceGrid.Registry.Internal adapter direct proxy directly in the database. // - registryAdapter->add(this, stringToIdentity("IceGrid/Registry")); + registryAdapter->add(this, stringToIdentity(instanceName + "/Registry")); registryAdapter->activate(); Ice::Identity dummy = Ice::stringToIdentity("dummy"); _database->setAdapterDirectProxy("IceGrid.Registry.Internal", "", registryAdapter->createDirectProxy(dummy)); @@ -333,13 +315,7 @@ RegistryI::start(bool nowarn) // // Create the internal IceStorm service. // - const string topicMgrIdProperty = "IceGrid.Registry.TopicManagerIdentity"; - string topicMgrIdStr = properties->getProperty(topicMgrIdProperty); - if(topicMgrIdStr.empty()) - { - topicMgrIdStr = instanceName + "/TopicManager"; - } - Identity topicMgrId = stringToIdentity(topicMgrIdStr); + Identity topicMgrId = stringToIdentity(instanceName + "/TopicManager"); _iceStorm = IceStorm::Service::create(_communicator, registryAdapter, registryAdapter, "IceGrid.Registry", topicMgrId, "Registry"); @@ -385,13 +361,7 @@ RegistryI::start(bool nowarn) // Create the session manager. // ObjectPtr sessionManager = new SessionManagerI(*regTopic, *nodeTopic, _database, _reaper); - const string sessionManagerIdProperty = "IceGrid.Registry.SessionManagerIdentity"; - string sessionManagerIdStr = properties->getProperty(sessionManagerIdProperty); - if(sessionManagerIdStr.empty()) - { - sessionManagerIdStr = instanceName + "/SessionManager"; - } - Identity sessionManagerId = stringToIdentity(sessionManagerIdStr); + Identity sessionManagerId = stringToIdentity(instanceName + "/SessionManager"); adminAdapter->add(sessionManager, sessionManagerId); ObjectPrx sessionManagerPrx = adminAdapter->createDirectProxy(sessionManagerId); try |