30namespace LinguisticProcessing {
49 m_language=manager->getInitializationParameters().language;
57 initModex(configFile,m_language);
60 LERROR <<
"No param 'modexConfig' in Modex definition group";
66initModex(
const std::string& configFile,
71 LINFO <<
"InformationExtraction resources initialization";
81 map<string,string>& resourcesByLanguage=modexResourcesModule.
82 getMapAtKeyOfGroupNamed(
"resourcesByLanguage",
"resourceList");
84 map<string,string>::iterator it=resourcesByLanguage.find(LinguisticData::single().getMediaId(m_language));
85 if (it == resourcesByLanguage.end()) {
86 LERROR <<
"no resources for language '"
87 << LinguisticData::single().getMediaId(m_language)
88 <<
"' in Resources for Modex";
92 std::string resourcesModule=(*it).second;
94 addConfiguration(modexResources,resources);
97 LERROR <<
"missing param 'resourceList' in Resources for Modex in " << configFile;
101 LERROR <<
"missing param 'resourcesByLanguage' in Resources for Modex in " << configFile;
105 LDEBUG <<
"no module 'Resources' for Modex in " << configFile;
112 addConfiguration(modexProcessors,processors);
115 LERROR <<
"no module 'Processors' for Modex in " << configFile;
120 initModexConfig(configParser);
122 LINFO <<
"Modex initialization finished";
131 for (ModuleConfigurationStructure::const_iterator it=modexConfig.begin(),
132 it_end=modexConfig.end(); it!=it_end; it++) {
134 if (commonConfig.find((*it).first)!=commonConfig.end()) {
136 LERROR <<
"cannot add modex configuration '"<<(*it).first<<
"' : already exists";
139 commonConfig.insert(make_pair((*it).first,(*it).second));
145initEntities(
const std::string& filename)
148 initEntities(configuration);
155 LINFO <<
"intialize entities";
161 for (ModuleConfigurationStructure::iterator it=moduleConf.begin(),
162 it_end=moduleConf.end(); it!=it_end; it++) {
164 LinguisticData::changeable().addEntityGroup(groupName);
169 for (deque<string>::const_iterator ent=entityList.begin(),
170 ent_end=entityList.end(); ent!=ent_end; ent++) {
173 LinguisticData::changeable().addEntity(groupName,entityName);
179 LERROR <<
"missing module 'entities' in modex configuration file";
184 LERROR <<
"missing list 'entityList' in modex configuration file";
194 LINFO <<
"intialize Modex";
198 const deque<string>& modexList=
201 for (deque<string>::const_iterator it=modexList.begin(),
202 it_end=modexList.end(); it!=it_end; it++) {
203 const std::string& modexName=(*it);
213 for (deque<string>::const_iterator entityFile=includeEntities.begin(),
214 entityFile_end=includeEntities.end();
215 entityFile!=entityFile_end; entityFile++) {
216 if (*entityFile ==
"this") {
217 initEntities(configParser);
221 initEntities(*entityFile);
235 LERROR <<
"missing module 'modex' in modex configuration file";
239 LERROR <<
"missing group 'modexDefinitions' in modex configuration file";
243 LERROR <<
"missing list 'modexList' in modex configuration file";
252 return m_pipeline->process(analysis);
Holds all data that pass through the ProcessUnits Analysis data are shared pointers,...
std::string & getParamsValueAtKey(const std::string &key)
std::deque< std::string > & getListsValueAtKey(const std::string &key)
GroupConfigurationStructure & getGroupNamed(const std::string &name)
return a message when a 'group' was not found
return a message when a 'list' was not found
return a message when a 'module' is not found
return a message when a 'param' was not found
Parser class for the lima's xml configuration files.
ModuleConfigurationStructure & getModuleConfiguration(const std::string &moduleName)
Use this exception to signal an error in one of the configuration files.
Common::XMLConfigurationFiles::ModuleConfigurationStructure & getModuleConfiguration(MediaId lang)
LimaStatusCode process(AnalysisContent &analysis) const
void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager)
static LinguisticResources & changeable()
singleton accessor
static void logElapsedTime(const std::string &mess, const std::string &taskCategory=std::string(""))
log the number of microseconds since last UpdateCurrentTime
static void updateCurrentTime(const std::string &taskCategory=std::string(""))
store current time for new elapsed time computation
QString findFileInPaths(const QString &paths, const QString &fileName, const QChar &separator)
Find the given file in the given paths.
LimaString utf8stdstring2limastring(const std::string &src)