1 #include "otsdaq-core/ConfigurationPluginDataFormats/Configurations.h"
2 #include "otsdaq-core/Macros/ConfigurationPluginMacros.h"
9 Configurations::Configurations(
void)
30 Configurations::~Configurations(
void)
52 unsigned int tmpConfigurationGroupKey;
54 for(
unsigned int row=0; row<ConfigurationBase::activeConfigurationView_->getNumberOfRows(); row++)
56 ConfigurationBase::activeConfigurationView_->getValue(tmpConfigurationGroupKey,row,ConfigurationGroupKeyAlias);
57 if(ConfigurationGroupKey == tmpConfigurationGroupKey)
59 ConfigurationBase::activeConfigurationView_->getValue(tmpKOC,row,KOC);
65 std::cout << __COUT_HDR_FL__ << __PRETTY_FUNCTION__ <<
"ERROR: Can't find KOC " << koc << std::endl;
72 ConfigurationVersion Configurations::getConditionVersion(
const ConfigurationGroupKey &ConfigurationGroupKey,
73 std::string koc)
const
75 unsigned int tmpConfigurationGroupKey;
77 unsigned int conditionVersion;
79 for(
unsigned int row=0; row<ConfigurationBase::activeConfigurationView_->getNumberOfRows(); row++)
81 ConfigurationBase::activeConfigurationView_->getValue(tmpConfigurationGroupKey,row,ConfigurationGroupKeyAlias);
82 if(ConfigurationGroupKey == tmpConfigurationGroupKey)
84 ConfigurationBase::activeConfigurationView_->getValue(tmpKOC,row,KOC);
87 ConfigurationBase::activeConfigurationView_->getValue(conditionVersion,row,ConditionVersion);
94 std::cout << __COUT_HDR_FL__ <<
"****************************************************************************************************************************" << std::endl;
95 std::cout << __COUT_HDR_FL__ <<
"\tCan't find KOC " << koc <<
" with ConfigurationGroupKey " << ConfigurationGroupKey <<
" in the Configurations view" << std::endl;
96 std::cout << __COUT_HDR_FL__ <<
"****************************************************************************************************************************" << std::endl;
97 throw std::runtime_error(
"Could not find koc for ConfigurationGroupKey");
106 ConfigurationGroupKey ConfigurationGroupKey, std::string koc,
ConfigurationVersion newKOCVersion)
109 unsigned int row = 0;
110 unsigned int tmpConfigurationGroupKey;
112 unsigned int tmpOldKOCVersion;
113 for(row=0; row<cfgView->getNumberOfRows(); row++)
115 cfgView->getValue(tmpConfigurationGroupKey,row,Configurations::ConfigurationGroupKeyAlias);
116 if(ConfigurationGroupKey == tmpConfigurationGroupKey)
118 cfgView->getValue(tmpKOC,row,Configurations::KOC);
121 cfgView->getValue(tmpOldKOCVersion,row,Configurations::ConditionVersion);
122 std::cout << __COUT_HDR_FL__ <<
"Found ConfigKey(" <<
123 ConfigurationGroupKey <<
") and KOCAlias(" <<
125 " Current version is: " << tmpOldKOCVersion <<
126 " New version is: " << newKOCVersion << std::endl;
127 if(newKOCVersion == tmpOldKOCVersion)
137 std::cout << __COUT_HDR_FL__ <<
"Row found is:" << row << std::endl;
138 cfgView->setValue(newKOCVersion, row, Configurations::ConditionVersion);
139 std::cout << __COUT_HDR_FL__ <<
"Version changed to:" << newKOCVersion << std::endl;
149 std::set<std::string> Configurations::getListOfKocs(ConfigurationGroupKey ConfigurationGroupKey)
const
151 std::set<std::string> kocs;
152 getListOfKocsForView(ConfigurationBase::activeConfigurationView_,kocs,ConfigurationGroupKey);
161 void Configurations::getListOfKocsForView(
ConfigurationView* cfgView, std::set<std::string> &kocs,
162 ConfigurationGroupKey ConfigurationGroupKey)
const
166 std::cout << __COUT_HDR_FL__ <<
"****************************************************************************************************************************" << std::endl;
167 std::cout << __COUT_HDR_FL__ <<
"\tCan't find list of Kocs for null cfgView pointer" << std::endl;
168 std::cout << __COUT_HDR_FL__ <<
"****************************************************************************************************************************" << std::endl;
169 throw std::runtime_error(
"Null cfgView configuration view pointer");
173 unsigned int tmpConfigurationGroupKey;
175 for(
unsigned int row=0; row<cfgView->getNumberOfRows(); row++)
177 cfgView->getValue(tmpConfigurationGroupKey,row,ConfigurationGroupKeyAlias);
178 if(ConfigurationGroupKey == ConfigurationGroupKey::INVALID ||
179 ConfigurationGroupKey == tmpConfigurationGroupKey)
181 cfgView->getValue(tmpKOC,row,KOC);