summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/PropertyNames.cpp7
-rw-r--r--cpp/src/Ice/PropertyNames.h2
-rw-r--r--cpp/src/IceGrid/Client.cpp16
-rw-r--r--cpp/src/IceGrid/DescriptorBuilder.cpp12
-rw-r--r--cpp/src/IceGrid/DescriptorBuilder.h2
-rw-r--r--cpp/src/IceGrid/DescriptorHelper.cpp36
-rw-r--r--cpp/src/IceGrid/DescriptorParser.cpp14
-rw-r--r--cpp/src/IceGrid/IceGridNode.cpp18
-rw-r--r--cpp/src/IceGrid/NodeI.cpp7
-rw-r--r--cpp/src/IceGrid/RegistryI.cpp44
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