38namespace LinguisticProcessing
66 m_language=manager->getInitializationParameters().media;
76 auto metadata = std::dynamic_pointer_cast<LinguisticMetaData>(analysis.
getData(
"LinguisticMetaData"));
80 LERROR <<
"no LinguisticMetaData ! abort";
85 if (!
openLogFile(out,metadata->getMetaData(
"FileName")))
88 LERROR <<
"Can't open log file ";
92 auto posTokenList=std::dynamic_pointer_cast<AnalysisGraph>(analysis.
getData(
"PosGraph"));
97 out <<
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" << endl;
98 out <<
"<vertices>" << endl;
102 boost::tie(vxItr,vxItrEnd) = vertices(*posGraph);
103 for (;vxItr!=vxItrEnd;vxItr++)
108 if (ft == 0 || dw == 0)
127 out <<
"<vertex id=\"" << *vxItr <<
"\" position=\"" << pos <<
"\" length=\"" << len <<
"\" >" << endl;
128 std::set<StringsPoolIndex> lemmas = dw->
allLemma();
129 std::set<StringsPoolIndex>::const_iterator lemmaIt, lemmaIt_end;
130 lemmaIt = lemmas.begin(); lemmaIt_end = lemmas.end();
131 for (; lemmaIt != lemmaIt_end; lemmaIt++)
135 out <<
" <macro>" << smacro <<
"</macro>" << endl;
136 out <<
" <micro>" << smicro <<
"</micro>" << endl;
137 boost::tie(inItr,inItrEnd) = in_edges(*vxItr,*posGraph);
138 for (;inItr!=inItrEnd;inItr++)
140 out <<
" <pred id=\"" << source(*inItr,*posGraph) <<
"\"/>" << endl;
142 out <<
"</vertex>" << endl;
144 out <<
"</vertices>" << endl;
LinguisticGraph::in_edge_iterator LinguisticGraphInEdgeIt
LinguisticGraph::vertex_iterator LinguisticGraphVertexIt
boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, LinguisticVertexProperties > LinguisticGraph
Property to identify the chains in the graph.
Defines a Factory to create Object of type Base.
Holds all data that pass through the ProcessUnits Analysis data are shared pointers,...
std::shared_ptr< AnalysisData > getData(const QString &id)
return AnalysisData by id
const std::string & getPropertySymbolicValue(const LinguisticCode &value) const
The coded property value can hold several property data.
const PropertyAccessor & getPropertyAccessor() const
give the corresponding PropertyAccessor
A generic process unit to log information in files: contains some common informations such as : outpu...
bool openLogFile(std::ofstream &output, const std::string &sourceFile) const
virtual void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager) override
initialize with parameters from configuration file.
Holds morphosyntactic informations.
LinguisticCode firstValue(const Common::PropertyCode::PropertyAccessor &propertyAccessor) const
Return the first non empty value for the given accessor.
std::set< StringsPoolIndex > allLemma() const
holds surface data of a token
uint64_t position() const
void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager) override
initialize with parameters from configuration file.
DisambiguatedGraphXmlLogger()
virtual ~DisambiguatedGraphXmlLogger()
LimaStatusCode process(AnalysisContent &analysis) const override
Process on data in analysisContent.
static const MediaticData & single()
const 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
std::string limastring2utf8stdstring(const Lima::LimaString &phrase, uint32_t size0)
Convert a wide string to a string , in dest up to size bytes.
SimpleFactory< MediaProcessUnit, DisambiguatedGraphXmlLogger > disambiguatedGraphXmlLoggerFactory("DisambiguatedGraphXmlLogger")