//============================================================================// void Configuration::checkForSoftware(AbstractConfiguration &config) { if(!config.has("path")) throw Exception( "<path> node doesn't exist"); if(!File(config.getString("path")).exists()) throw Exception( "<path> node refers to not exist path or access denied to the folder"); if(!config.has("uri")) throw Exception( "<uri> node doesn't exist"); if(!config.has("schedules")) throw Exception( "<schedules> doesn't exist"); }
//============================================================================// void Configuration::checkForApplication(AbstractConfiguration &config) { if(!config.has("identifier")) throw Exception( "<identifier> node doesn't exist"); if(!config.has("temporary")) throw Exception( "<temporary> node doesn't exist"); if(!File(config.getString("temporary")).exists()) throw Exception( "<temporary> node refers to not exist path or access denied to the folder"); if(!config.has("updateSoftwares")) throw Exception( "<updateSoftwares> node doesn't exist"); }
//============================================================================// void AnalyzerDispatcher::create(AbstractConfiguration &config) { AbstractConfiguration::Keys analyzersCodes; AbstractConfiguration::Keys::iterator iter; config.keys("analyzers.list", analyzersCodes); for(iter = analyzersCodes.begin(); iter != analyzersCodes.end(); ++iter) { string type = config.getString("analyzers.list."+(*iter)+".type"); if(config.has("analyzers.list."+(*iter)+".disabled")) { poco_information_f2(Logger::get(_loggerName), "analyzer type of [%s] with code [%s] disabled", type, string(*iter)); continue; } if(_fabrics->isClass(type)) { poco_information_f1(Logger::get(_loggerName), "create analyzer for type [%s]", type); Analyzer::Arguments args(*iter, config); Analyzer *a = _fabrics->create(type, args); poco_information_f2(Logger::get(_loggerName), "starting analyzer type of [%s] with code [%s]", type, string(a->getCode())); try { a->start(); _analyzers.insert(pair<string, SharedPtr<Analyzer> >(*iter, a)); } catch(exception &e) { delete a; } } else { poco_warning_f1(Logger::get(_loggerName), "unknown analyzer type [%s]... skip this.", type); } } poco_information_f1(Logger::get(_loggerName), "[%d] analyzers was registered", (int)_analyzers.size()); }