LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
EventTemplateFilling.cpp
Go to the documentation of this file.
1// Copyright 2002-2013 CEA LIST
2// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3//
4// SPDX-License-Identifier: MIT
5
6/************************************************************************
7 *
8 * @file EventTemplateFilling.cpp
9 * @author besancon (besanconr@zoe.cea.fr)
10 * @date Thu Sep 01 2011
11 * copyright Copyright (C) 2011 by CEA - LIST
12 *
13 ***********************************************************************/
14
16#include "EventTemplateData.h"
17
27
28using namespace Lima::Common::AnnotationGraphs;
31using namespace std;
32
33namespace Lima {
34namespace LinguisticProcessing {
35namespace EventAnalysis {
36
37//----------------------------------------------------------------------
38// factory for process unit
40
45
49
52 Manager* manager)
53
54{
55 MediaId language=manager->getInitializationParameters().media;
56
57 ApplyRecognizer::init(unitConfiguration,manager);
58
59 try {
60 std::string templateResource=unitConfiguration.getParamsValueAtKey("eventTemplate");
61 auto res=LinguisticResources::single().getResource(language,templateResource);
62 if (res) {
63 m_templateDefinition = std::dynamic_pointer_cast<EventTemplateDefinitionResource>(res);
64 }
65 }
68 LERROR << "EventTemplateFilling: Missing 'eventTemplate' parameter in EventTemplateFilling definition";
69 //throw InvalidConfiguration;
70 }
71 catch (std::exception& e) {
73 LERROR << "EventTemplateFilling: Missing resource for 'eventTemplate' parameter for language" << language << ":" << e.what();
74 //throw InvalidConfiguration;
75 }
76}
77
79{
81 LDEBUG << "EventTemplateFilling process";
83
84 // create EventTemplateData
85 auto eventData = std::dynamic_pointer_cast<EventTemplateData>(analysis.getData("EventTemplateData"));
86 if (eventData==0) {
87 LDEBUG << "EventTemplateFilling: create new data 'EventTemplateData'";
88 eventData = std::make_shared<EventTemplateData>();
89 analysis.setData("EventTemplateData", eventData);
90 }
91
92 // set a temporary template definition resource that can be accessed
93 // by the actions called in the ApplyRecognizer
94 analysis.setData("EventTemplateFillingTemplateDefinition",
95 std::make_shared<EventTemplateDefinitionData>(m_templateDefinition));
96
97 LimaStatusCode returnCode=SUCCESS_ID;
98 returnCode=ApplyRecognizer::process(analysis);
99
100 // remove temporary data
101 analysis.removeData("EventTemplateFillingTemplateDefinition");
102
103 TimeUtils::logElapsedTime("EventTemplateFilling");
104 return returnCode;
105}
106
107} // end namespace
108} // end namespace
109} // end namespace
This file is the main header file for the data related to annotation graphs.
#define EVENTTEMPLATEFILLING_CLASSID
#define LDEBUG
Definition LimaCommon.h:157
#define LERROR
Definition LimaCommon.h:161
#define EVENTANALYSISLOGINIT
Defines a Factory to create Object of type Base.
Holds all data that pass through the ProcessUnits Analysis data are shared pointers,...
void removeData(const QString &id)
remove the analysisData with the given id
std::shared_ptr< AnalysisData > getData(const QString &id)
return AnalysisData by id
void setData(const QString &id, std::shared_ptr< AnalysisData > data)
set an analysisData with the given id.
return a message when a 'param' was not found
Manage initialization of InitializableObjects using configuration module and parameters.
const InitializationParameters & getInitializationParameters() const
get Initialization Parameters
void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager) override
initialize with parameters from configuration file.
LimaStatusCode process(AnalysisContent &analysis) const override
Process on data in analysisContent.
LimaStatusCode process(AnalysisContent &analysis) const override
Process on data in analysisContent.
void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager) override
initialize with parameters from configuration file.
static const LinguisticResources & single()
const singleton accessor
Definition Singleton.h:51
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
NAUTITIA.
LimaStatusCode
Definition LimaCommon.h:236
@ SUCCESS_ID
Definition LimaCommon.h:237
STL namespace.
launch exception related to the configuration file parsing