46 const std::string& algname,
55 std::string actualalgtype(algtype);
57 if ((actualalgtype.size() > 8) && (actualalgtype.substr(0, 8) ==
"unalias:")) {
58 actualalgtype = actualalgtype.substr(8);
62 actualalgtype = typeAlias->second;
65 algorithm = Algorithm::Factory::create(actualalgtype, algname,
serviceLocator().
get());
69 fatal() <<
"Incompatible interface IAlgorithm version for " << actualalgtype <<
endmsg;
86 this->
error() <<
"Failed to initialize algorithm: [" << algname <<
"]" <<
endmsg;
91 this->
error() <<
"Algorithm of type " << actualalgtype
92 <<
" is unknown (No factory available)." <<
endmsg;
100 this->
error() <<
"More information may be available by setting the global jobOpt \"PluginDebugLevel\" to 1" <<
endmsg;
106 ListAlg::iterator it = std::find(
m_listalg.begin(),
m_listalg.end(), typeName.name());
108 return it->algorithm;
112 if (
createAlgorithm(typeName.type(), typeName.name(), alg,
true).isSuccess()) {
130 m_listOfPtrs.push_back(const_cast<IAlgorithm*>(it->algorithm.get()));
137 ListAlg::iterator it;
139 if (!it->managed)
continue;
140 rc = it->algorithm->sysInitialize();
148 ListAlg::iterator it;
150 if (!it->managed)
continue;
151 rc = it->algorithm->sysStart();
159 ListAlg::iterator it;
161 if (!it->managed)
continue;
162 rc = it->algorithm->sysStop();
170 ListAlg::iterator it =
m_listalg.begin();
173 rc = it->algorithm->sysFinalize();
185 ListAlg::iterator it;
187 if (!it->managed)
continue;
188 rc = it->algorithm->sysReinitialize();
190 this->
error() <<
"Unable to re-initialize algorithm: " << it->algorithm->name() <<
endmsg;
199 ListAlg::iterator it;
201 if (!it->managed)
continue;
202 rc = it->algorithm->sysRestart();
204 this->
error() <<
"Unable to re-initialize algorithm: " << it->algorithm->name() <<
endmsg;