1 #include <DatabaseUtils/DAQConfig/DLRunConfig.h> 2 #include <DatabaseUtils/DAQConfig/ConfigDataTree.h> 3 #include <DatabaseUtils/DAQConfig/DBColumnParams.h> 4 #include <DatabaseUtils/DAQConfig/DBColumnUtils.h> 5 #include <DatabaseUtils/DAQConfig/NamedConfigUtils.h> 6 #include <NovaDatabase/Table.h> 7 #include <NovaDAQUtilities/EnvVarCache.h> 8 #include <boost/algorithm/string.hpp> 24 DLRunConfig(
const std::vector<int64_t>& subsystemConfigIdList)
27 if (subsystemConfigIdList.size() > 0) {
45 std::vector<int64_t> subsystemConfigIdList;
47 getSubsystemConfigIdAncestry(nameSpec, subsystemConfigIdList)) {
65 int64_t subsystemConfigId;
74 std::vector<int64_t> subsystemConfigIdList;
100 std::vector<int64_t> subsystemConfigIdList;
102 getSubsystemConfigIdAncestryFromGlobalId(idSpec,
107 subsystemConfigIdList)) {
124 int64_t subsystemConfigId = subsystemConfigIdList[0];
127 fname =
"NovaDatabase/tables/DAQConfig/DataLoggerStreams.xml";
131 fname =
"NovaDatabase/tables/DAQConfig/DataLoggerSystemParameters.xml";
140 const int64_t& subsystemConfigId)
142 boost::shared_ptr<NOVADB::Table> dbt;
146 dbt->SetDetector(detName);
149 if (dbUser.length() > 0) {dbt->SetUser(dbUser);}
150 if (! dbt->GetConnection()) {
return false;}
151 if (! dbt->ExistsInDB()) {
return false;}
156 if (! dbt->LoadFromDB()) {
return false;}
158 std::vector<std::string> colNames = dbt->GetColNames();
161 for (
int rowIdx = 0; rowIdx < dbt->NRow(); ++rowIdx) {
162 boost::shared_ptr<SimpleParameterSet>
164 rowPtr = dbt->GetRow(rowIdx);
166 for (uint32_t colIdx = 0; colIdx < colNames.size(); ++colIdx) {
167 std::string colName = boost::to_lower_copy(colNames[colIdx]);
174 colPtr = rowPtr->
Col(colName);
175 if (! colPtr->
Get(valueString)) {
178 streamParamSet->put(colName, valueString);
189 const int64_t& subsystemConfigId)
191 boost::shared_ptr<NOVADB::Table> dbt;
195 dbt->SetDetector(detName);
198 if (dbUser.length() > 0) {dbt->SetUser(dbUser);}
199 if (! dbt->GetConnection()) {
return false;}
200 if (! dbt->ExistsInDB()) {
return false;}
205 if (! dbt->LoadFromDB()) {
return false;}
207 if (dbt->NRow() != 1) {
return false;}
static bool getConfigIdAncestry(const IDSpec &idSpec, std::vector< int64_t > &idList, const std::string &tableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static EnvVarCache & getInstance()
int64_t _primarySubsystemConfigId
bool _fetchSystemData(const std::string &tableDefinitionFileName, const int64_t &subsystemConfigId)
static bool isSubsystemConfigReferenceColumn(const std::string &columnName)
static bool getSubsystemConfigIdFromGlobalName(const GlobalNameSpec &globalNameSpec, const std::string &subsystemName, const std::string &subsystemConfigType, int64_t &subsystemConfigId, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE)
bool _fetchAllData(const std::vector< int64_t > &subsystemConfigIdList)
std::string getEnvVar(std::string name)
static bool isInfrastructureColumn(const std::string &columnName)
DLRunConfig(const std::vector< int64_t > &subsystemConfigIdList)
bool _fetchStreamData(const std::string &tableDefinitionFileName, const int64_t &subsystemConfigId)
static const std::string SUBSYSCFGID_COLUMN_NAME