summaryrefslogtreecommitdiff
path: root/cpp/src/IcePack/ServiceBuilder.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2004-06-02 21:17:40 +0000
committerBenoit Foucher <benoit@zeroc.com>2004-06-02 21:17:40 +0000
commitc209ff436f4268b8db689a2dd17615456eea78ce (patch)
tree5feb8607988706851bfdfdd5ba2d3924ba5b8f6c /cpp/src/IcePack/ServiceBuilder.cpp
parentFixed to AMD code generation. (diff)
downloadice-c209ff436f4268b8db689a2dd17615456eea78ce.tar.bz2
ice-c209ff436f4268b8db689a2dd17615456eea78ce.tar.xz
ice-c209ff436f4268b8db689a2dd17615456eea78ce.zip
Merged icepack_refactoring2_branch, many IcePack changes.
Diffstat (limited to 'cpp/src/IcePack/ServiceBuilder.cpp')
-rw-r--r--cpp/src/IcePack/ServiceBuilder.cpp188
1 files changed, 0 insertions, 188 deletions
diff --git a/cpp/src/IcePack/ServiceBuilder.cpp b/cpp/src/IcePack/ServiceBuilder.cpp
deleted file mode 100644
index 39131265d72..00000000000
--- a/cpp/src/IcePack/ServiceBuilder.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2004 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-#include <Ice/Ice.h>
-#include <IcePack/ServiceBuilder.h>
-#include <IcePack/ServerBuilder.h>
-
-using namespace std;
-using namespace IcePack;
-
-namespace IcePack
-{
-
-class ServiceHandler : public ComponentHandler
-{
-public:
-
- ServiceHandler(ServiceBuilder&);
-
- virtual void startElement(const string&, const IceXML::Attributes&, int, int);
-
-private:
-
- ServiceBuilder& _builder;
-};
-
-}
-
-IcePack::ServiceHandler::ServiceHandler(ServiceBuilder& builder) :
- ComponentHandler(builder),
- _builder(builder)
-{
-}
-
-void
-IcePack::ServiceHandler::startElement(const string& name, const IceXML::Attributes& attrs, int line, int column)
-{
- ComponentHandler::startElement(name, attrs, line, column);
-
- if(!isCurrentTargetDeployable())
- {
- return;
- }
-
- if(name == "service")
- {
- string basedir = getAttributeValueWithDefault(attrs, "basedir", "");
- if(!basedir.empty())
- {
- _builder.overrideBaseDir(basedir);
- }
-
- string kind = getAttributeValue(attrs, "kind");
- if(kind == "standard")
- {
- _builder.setKind(ServiceBuilder::ServiceKindStandard);
- }
- else if(kind == "freeze")
- {
- _builder.setKind(ServiceBuilder::ServiceKindFreeze);
- _builder.setDBEnv(getAttributeValueWithDefault(attrs, "dbenv", ""));
- }
-
- _builder.createConfigFile(_builder.substitute("/config/config_${name}"));
- _builder.setEntryPoint(getAttributeValue(attrs, "entry"));
- }
- else if(name == "adapter")
- {
- assert(!_currentAdapterId.empty());
- string adapterName = getAttributeValue(attrs, "name");
- bool registerProcess = getAttributeValueWithDefault(attrs, "register", "false") == "true";
- _builder.getServerBuilder().registerAdapter(adapterName, getAttributeValue(attrs, "endpoints"),
- registerProcess, _currentAdapterId);
- }
- else if(name == "dbproperty")
- {
- string value = getAttributeValueWithDefault(attrs, "value", "");
- if(value.empty())
- {
- value = _builder.toLocation(getAttributeValueWithDefault(attrs, "location", ""));
- }
- _builder.addDatabaseProperty(getAttributeValue(attrs, "name"), value);
- }
-}
-
-IcePack::ServiceBuilder::ServiceBuilder(const NodeInfoPtr& nodeInfo,
- ServerBuilder& serverBuilder,
- const map<string, string>& variables,
- const vector<string>& targets) :
- ComponentBuilder(nodeInfo->getCommunicator(), variables, targets),
- _nodeInfo(nodeInfo),
- _serverBuilder(serverBuilder),
- _dbProperties(Ice::createProperties())
-{
- assert(_variables.back().find("parent") != _variables.back().end());
- assert(_variables.back().find("name") != _variables.back().end());
- assert(_variables.back().find("fqn") != _variables.back().end());
- assert(_variables.back().find("datadir") != _variables.back().end());
-
- //
- // Required for the component builder.
- //
- _objectRegistry = _nodeInfo->getObjectRegistry();
-}
-
-void
-IcePack::ServiceBuilder::parse(const string& descriptor)
-{
- ServiceHandler handler(*this);
-
- ComponentBuilder::parse(descriptor, handler);
-}
-
-ServerBuilder&
-IcePack::ServiceBuilder::getServerBuilder() const
-{
- return _serverBuilder;
-}
-
-void
-IcePack::ServiceBuilder::setKind(ServiceKind kind)
-{
- _kind = kind;
-}
-
-void
-IcePack::ServiceBuilder::setEntryPoint(const string& entry)
-{
- assert(!_configFile.empty());
- _serverBuilder.addProperty("IceBox.Service." + getVariable("name"), entry + " --Ice.Config=" + _configFile);
-}
-
-void
-IcePack::ServiceBuilder::setDBEnv(const string& dir)
-{
- if(_kind != ServiceKindFreeze)
- {
- throw IceXML::ParserException(__FILE__, __LINE__, "database environment is only allowed for Freeze services");
- }
-
- string path;
-
- if(dir.empty())
- {
- //
- // Provides database environment directory only if the
- // database environment attribute is not specified. If it's
- // specified, it's most likely because we share database
- // environments and then it's the responsabilility of the user
- // to manage the database environment directory.
- //
- createDirectory("/dbs/" + getVariable("name"), true);
- path = getVariable("datadir") + "/dbs/" + getVariable("name");
- }
- else
- {
- path = toLocation(dir);
- }
- _serverBuilder.addProperty("IceBox.DBEnvName." + getVariable("name"), getVariable("name"));
- addProperty("Freeze.DbEnv." + getVariable("name") + ".DbHome", path);
-
- string dbConfigFile = path + "/DB_CONFIG";
- generateConfigFile(" ", "BdB.", dbConfigFile, _dbProperties);
-}
-
-void
-IcePack::ServiceBuilder::addDatabaseProperty(const string& name, const string& value)
-{
- _dbProperties->setProperty("BdB." + name, value);
-}
-
-//
-// Compute an adapter id for a given adapter name.
-//
-string
-IcePack::ServiceBuilder::getDefaultAdapterId(const string& name)
-{
- //
- // Concatenate the server and service name to the adapter name.
- //
- return name + "-" + getVariable("parent") + "." + getVariable("name");
-}