28namespace LinguisticProcessing {
29namespace SpecificEntities {
50 LDEBUG <<
"SpecificEntitiesMicros initialization";
53 const auto& microManager =
static_cast<const LanguageData&
>(MediaticData::single().mediaData(language)).getPropertyCodeManager().getPropertyManager(
"MICRO");
62 auto entityName = QString::fromStdString(entity.first);
64 LDEBUG <<
"Adding categories to entity " << entityName;
70 type =
static_cast<const MediaticData&
>(MediaticData::single()).getEntityType(entityName);
75 for (
auto micro: entity.second)
77 auto code = microManager.getPropertyValue(micro);
81 LERROR <<
"SpecificEntitiesMicros::init on entity" << entityName
83 <<
"linguistic code is not defined for language"
84 << MediaticData::single().getMediaId(language);
89 LDEBUG <<
"Adding " << micro << code <<
" to EntityType " << type;
91 m_micros[type].insert(code);
99 LERROR << entityName <<
" is not a defined specific entity";
107 map<EntityType,set<LinguisticCode> >::const_iterator it=m_micros.find(type);
108 if (it==m_micros.end())
111 LERROR <<
"no microcategories defined for type " << type <<
" ("
114 throw LimaException( (QString(QLatin1String(
"no microcategories defined for type %1"))).arg(MediaticData::single().getEntityName(type)).toUtf8().constData() );
116 return &((*it).second);
#define LIMA_EXCEPTION(X)
This macro writes the message X to a previously configured error stream before throwing a LimaExcepti...
Defines a Factory to create Object of type Base.
#define SPECIFICENTITIESMICROS_CLASSID
const std::map< std::string, std::deque< std::string > > & getLists()
Manage initialization of InitializableObjects using configuration module and parameters.
const InitializationParameters & getInitializationParameters() const
get Initialization Parameters
The main LIMA exception class.
virtual const char * what() const override
~SpecificEntitiesMicros()
void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager) override
const std::set< LinguisticCode > * getMicros(const Common::MediaticData::EntityType &type)
static const MediaticData & single()
const singleton accessor
std::string limastring2utf8stdstring(const Lima::LimaString &phrase, uint32_t size0)
Convert a wide string to a string , in dest up to size bytes.
SimpleFactory< AbstractResource, SpecificEntitiesMicros > SpecificEntitiesMicrosFactory(SPECIFICENTITIESMICROS_CLASSID)
static const struct TextHtmlEntity entities[]