LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
AnnotDotGraphWriter.cpp
Go to the documentation of this file.
1
// Copyright 2002-2022 CEA LIST
2
// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3
//
4
// SPDX-License-Identifier: MIT
5
6
#include "
AnnotDotGraphWriter.h
"
7
8
#include "
linguisticProcessing/common/annotationGraph/AnnotationGraphWriter.h
"
9
#include "
linguisticProcessing/common/annotationGraph/AnnotationData.h
"
10
#include "
common/time/traceUtils.h
"
11
#include "
common/MediaticData/mediaticData.h
"
12
#include "
common/XMLConfigurationFiles/xmlConfigurationFileExceptions.h
"
13
#include "
common/AbstractFactoryPattern/SimpleFactory.h
"
14
#include "
linguisticProcessing/core/LinguisticResources/LinguisticResources.h
"
15
#include "
linguisticProcessing/core/LinguisticAnalysisStructure/AnalysisGraph.h
"
16
#include "
linguisticProcessing/core/LinguisticProcessors/LinguisticMetaData.h
"
17
18
#include <iostream>
19
20
using namespace
std
;
21
using namespace
Lima::LinguisticProcessing::LinguisticAnalysisStructure
;
22
using namespace
Lima::Common::MediaticData
;
23
using namespace
Lima::Common::XMLConfigurationFiles
;
24
using namespace
Lima::Common::AnnotationGraphs
;
25
26
namespace
Lima
27
{
28
namespace
LinguisticProcessing
29
{
30
namespace
Compounds
31
{
32
33
SimpleFactory<MediaProcessUnit,AnnotDotGraphWriter>
annotDotGraphWriterFactory
(
ANNOTDOTGRAPHWRITER_CLASSID
);
34
35
AnnotDotGraphWriter::AnnotDotGraphWriter
()
36
{}
37
38
AnnotDotGraphWriter::~AnnotDotGraphWriter
()
39
{}
40
41
void
AnnotDotGraphWriter::init
(
42
Common::XMLConfigurationFiles::GroupConfigurationStructure
& unitConfiguration,
43
Manager* manager)
44
45
{
50
PTLOGINIT
;
51
m_language
=manager->getInitializationParameters().media;
52
try
53
{
54
m_outputSuffix
=unitConfiguration.
getParamsValueAtKey
(
"outputSuffix"
);
55
}
56
catch
(
NoSuchParam
& )
57
{
58
LWARN
<<
"No param 'outputSuffix' in "
<< unitConfiguration.
getName
()
59
<<
" group for language "
<< (int)
m_language
;
60
LWARN
<<
"use .ag.dot"
;
61
m_outputSuffix
=string(
".ag.dot"
);
62
}
63
try
64
{
65
m_graphId
=unitConfiguration.
getParamsValueAtKey
(
"graph"
);
66
}
67
catch
(
NoSuchParam
& )
68
{
69
LWARN
<<
"No param 'graph' in "
<< unitConfiguration.
getName
()
70
<<
" group for language "
<< (int)
m_language
;
71
LWARN
<<
"use PosGraph"
;
72
m_graphId
=string(
"PosGraph"
);
73
}
74
}
75
76
77
// Each token of the specified path is
78
// searched into the specified dictionary.
79
LimaStatusCode
AnnotDotGraphWriter::process
(
AnalysisContent
& analysis)
const
80
{
81
TimeUtils::updateCurrentTime
();
82
auto
anagraph = std::dynamic_pointer_cast<AnalysisGraph>(analysis.
getData
(
m_graphId
));
83
auto
metadata = std::dynamic_pointer_cast<LinguisticMetaData>(analysis.
getData
(
"LinguisticMetaData"
));
84
if
(metadata == 0)
85
{
86
COMPOUNDSLOGINIT
;
87
LERROR
<<
"no LinguisticMetaData ! abort"
;
88
return
MISSING_DATA
;
89
}
90
if
(anagraph == 0)
91
{
92
COMPOUNDSLOGINIT
;
93
LERROR
<<
"no AnalysisGraph named "
<<
m_graphId
<<
" ! "
;
94
return
MISSING_DATA
;
95
}
96
auto
annotationData = std::dynamic_pointer_cast< AnnotationData >(analysis.
getData
(
"AnnotationData"
));
97
if
(annotationData==0)
98
{
99
COMPOUNDSLOGINIT
;
100
LERROR
<<
"no annotation graph available !"
;
101
return
MISSING_DATA
;
102
}
103
104
string
outputFileName=metadata->getMetaData(
"FileName"
) +
m_outputSuffix
;
105
AnnotationGraphWriter
gw(
106
*annotationData,
107
m_language
);
108
gw.
writeToDotFile
(outputFileName);
109
110
TimeUtils::logElapsedTime
(
"AnnotDotGraphWriter"
);
111
return
SUCCESS_ID
;
112
}
113
114
}
// MorphologicAnalysis
115
}
//namespace LinguisticProcessing
116
}
// Lima
117
118
AnalysisGraph.h
AnnotDotGraphWriter.h
ANNOTDOTGRAPHWRITER_CLASSID
#define ANNOTDOTGRAPHWRITER_CLASSID
Definition
AnnotDotGraphWriter.h:19
AnnotationData.h
This file is the main header file for the data related to annotation graphs.
AnnotationGraphWriter.h
LWARN
#define LWARN
Definition
LimaCommon.h:160
LERROR
#define LERROR
Definition
LimaCommon.h:161
LinguisticMetaData.h
PTLOGINIT
#define PTLOGINIT
Definition
LinguisticProcessingCommon.h:106
COMPOUNDSLOGINIT
#define COMPOUNDSLOGINIT
Definition
LinguisticProcessingCommon.h:109
LinguisticResources.h
SimpleFactory.h
Defines a Factory to create Object of type Base.
Lima::AnalysisContent
Holds all data that pass through the ProcessUnits Analysis data are shared pointers,...
Definition
AnalysisContent.h:37
Lima::AnalysisContent::getData
std::shared_ptr< AnalysisData > getData(const QString &id)
return AnalysisData by id
Definition
AnalysisContent.cpp:39
Lima::Common::AnnotationGraphs::AnnotationGraphWriter
Definition
AnnotationGraphWriter.h:26
Lima::Common::AnnotationGraphs::AnnotationGraphWriter::writeToDotFile
void writeToDotFile(const std::string &dotFileName)
Definition
AnnotationGraphWriter.cpp:242
Lima::Common::XMLConfigurationFiles::GroupConfigurationStructure
Definition
groupConfigurationStructure.h:32
Lima::Common::XMLConfigurationFiles::GroupConfigurationStructure::getParamsValueAtKey
std::string & getParamsValueAtKey(const std::string &key)
Definition
groupConfigurationStructure.cpp:207
Lima::Common::XMLConfigurationFiles::GroupConfigurationStructure::getName
std::string & getName()
Definition
groupConfigurationStructure.cpp:192
Lima::Common::XMLConfigurationFiles::NoSuchParam
return a message when a 'param' was not found
Definition
xmlConfigurationFileExceptions.h:89
Lima::LinguisticProcessing::Compounds::AnnotDotGraphWriter::~AnnotDotGraphWriter
virtual ~AnnotDotGraphWriter()
Definition
AnnotDotGraphWriter.cpp:38
Lima::LinguisticProcessing::Compounds::AnnotDotGraphWriter::init
void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager) override
initialize with parameters from configuration file.
Lima::LinguisticProcessing::Compounds::AnnotDotGraphWriter::m_language
MediaId m_language
Definition
AnnotDotGraphWriter.h:37
Lima::LinguisticProcessing::Compounds::AnnotDotGraphWriter::m_graphId
std::string m_graphId
Definition
AnnotDotGraphWriter.h:38
Lima::LinguisticProcessing::Compounds::AnnotDotGraphWriter::m_outputSuffix
std::string m_outputSuffix
Definition
AnnotDotGraphWriter.h:36
Lima::LinguisticProcessing::Compounds::AnnotDotGraphWriter::AnnotDotGraphWriter
AnnotDotGraphWriter()
Definition
AnnotDotGraphWriter.cpp:35
Lima::LinguisticProcessing::Compounds::AnnotDotGraphWriter::process
LimaStatusCode process(AnalysisContent &analysis) const override
Process on data in analysisContent.
Definition
AnnotDotGraphWriter.cpp:79
Lima::SimpleFactory
Definition
SimpleFactory.h:28
Lima::TimeUtils::logElapsedTime
static void logElapsedTime(const std::string &mess, const std::string &taskCategory=std::string(""))
log the number of microseconds since last UpdateCurrentTime
Definition
traceUtils.cpp:67
Lima::TimeUtils::updateCurrentTime
static void updateCurrentTime(const std::string &taskCategory=std::string(""))
store current time for new elapsed time computation
Definition
traceUtils.cpp:36
mediaticData.h
Lima::Common::AnnotationGraphs
Definition
AnnotationData.cpp:31
Lima::Common::MediaticData
Definition
EntityType.cpp:18
Lima::Common::XMLConfigurationFiles
Definition
MediaAnalysisDumper.h:19
Lima::LinguisticProcessing::Compounds::annotDotGraphWriterFactory
SimpleFactory< MediaProcessUnit, AnnotDotGraphWriter > annotDotGraphWriterFactory(ANNOTDOTGRAPHWRITER_CLASSID)
Lima::LinguisticProcessing::LinguisticAnalysisStructure
Definition
DepTripleDumper.h:45
Lima
NAUTITIA.
Definition
AmosePluginsManager.h:15
Lima::LimaStatusCode
LimaStatusCode
Definition
LimaCommon.h:236
Lima::SUCCESS_ID
@ SUCCESS_ID
Definition
LimaCommon.h:237
Lima::MISSING_DATA
@ MISSING_DATA
Definition
LimaCommon.h:243
std
STL namespace.
traceUtils.h
xmlConfigurationFileExceptions.h
launch exception related to the configuration file parsing
lima_linguisticprocessing
src
linguisticProcessing
core
Compounds
AnnotDotGraphWriter.cpp
Generated by
1.9.8