1 #ifndef _DBUTILS_DAQCONFIG_NAMEDCONFIGUTILS_H 2 #define _DBUTILS_DAQCONFIG_NAMEDCONFIGUTILS_H 4 #include <DatabaseUtils/DAQConfig/IDSpec.h> 5 #include <DatabaseUtils/DAQConfig/GlobalNameSpec.h> 6 #include <DatabaseUtils/DAQConfig/SubsystemNameSpec.h> 7 #include <DatabaseUtils/SimpleParameterSet.h> 8 #include <NovaDatabase/Table.h> 9 #include <NovaDAQUtilities/Status.h> 11 #include <boost/shared_ptr.hpp> 73 typedef std::map<GlobalNameSpec, std::vector<GlobalNameSpec> >
75 typedef std::map<SubsystemNameSpec, std::vector<SubsystemNameSpec> >
81 int64_t& globalConfigId,
83 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
87 int64_t& subsystemConfigId,
89 DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE);
92 std::vector<int64_t>& idList,
94 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
98 std::vector<int64_t>& idList,
100 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
105 std::vector<int64_t>& idList,
107 subsystemNamesTableFile =
108 DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE);
115 int64_t& subsystemConfigId,
117 globalNamesTableFile =
118 DEFAULT_GLOBAL_NAMES_TABLE_FILE,
120 subsystemNamesTableFile =
121 DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE);
127 int64_t& subsystemConfigId,
129 globalNamesTableFile =
130 DEFAULT_GLOBAL_NAMES_TABLE_FILE,
132 subsystemNamesTableFile =
133 DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE);
139 std::vector<int64_t>& idList,
141 globalNamesTableFile =
142 DEFAULT_GLOBAL_NAMES_TABLE_FILE,
144 subsystemNamesTableFile =
145 DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE);
149 std::vector<int64_t>& idList,
150 std::vector<SubsystemNameSpec>&
151 subsystemNameSpecList,
153 globalNamesTableFile =
154 DEFAULT_GLOBAL_NAMES_TABLE_FILE,
156 subsystemNamesTableFile =
157 DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE);
159 static std::vector<NamedConfigDetailsPtr>
162 globalNamesTableFile =
163 DEFAULT_GLOBAL_NAMES_TABLE_FILE,
165 subsystemNamesTableFile =
166 DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE);
168 static NamedConfigDetailsPtr
172 subsystemNamesTableFile =
173 DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE,
175 globalNamesTableFile =
176 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
178 static NamedConfigDetailsPtr
181 subsystemNamesTableFile =
182 DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE,
184 globalNamesTableFile =
185 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
187 static NamedConfigDetailsPtr
190 globalNamesTableFile =
191 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
193 static GlobalNameSpecPtr
195 const int& partitionNumber,
197 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
202 int resultOffset,
int resultLimit,
203 GlobalNameSpecList& resultList,
205 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
211 int maxDetailCountPerSummary = 10,
213 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
221 int maxDetailCountPerSummary = 10,
223 subsystemNamesTableFile =
224 DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE);
230 bool overrideIntermediateUpdate,
233 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
239 bool overrideIntermediateUpdate,
242 DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE);
245 bool alsoComplete =
false,
247 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
251 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
253 static std::vector<NamedConfigDetailsPtr>
257 globalNamesTableFile =
258 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
260 static std::vector<NamedConfigDetailsPtr>
263 DEFAULT_GLOBAL_NAMES_TABLE_FILE);
272 static NamedConfigDetailsPtr
273 _getDetails(
const boost::shared_ptr<nova::database::Table>& dbt,
274 const NamedConfigSelectionCriteria& selections);
277 _getId(
const boost::shared_ptr<nova::database::Table>& dbt,
278 const NamedConfigSelectionCriteria& selections,
283 std::vector<int64_t>& idList);
286 _findNextChild(
const boost::shared_ptr<nova::database::Table>& dbt,
287 std::vector<int64_t>& idList);
static bool getSubsystemConfigId(const SubsystemNameSpec &subsystemNameSpec, int64_t &subsystemConfigId, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE)
static const std::string GLOBALCFGID_COLUMN_NAME
static const std::string USAGECOUNT_COLUMN_NAME
std::vector< GlobalNameSpec > GlobalNameSpecList
static const std::string ISCHANGING_COLUMN_NAME
static const std::string DESCRIPTION_COLUMN_NAME
static bool getGlobalConfigId(const GlobalNameSpec &globalNameSpec, int64_t &globalConfigId, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static const std::string DEFAULT_GLOBAL_NAMES_TABLE_FILE
boost::shared_ptr< NamedConfigDetails > NamedConfigDetailsPtr
static const std::string DEFAULT_DCS_GLOBAL_NAMES_TABLE_FILE
static bool getAvailableSubsystemConfigs(IDSpec::MAJOR_SYSTEM_TYPE daqOrSlowControls, const std::string &detectorName, const std::string &subsystemName, const std::string &configType, SubsystemNameSpecMap &resultsTable, int maxDetailCountPerSummary=10, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE)
static bool getConfigIdAncestry(const IDSpec &idSpec, std::vector< int64_t > &idList, const std::string &tableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static GlobalNameSpecPtr getNewestInstanceOfLatestUsedDAQGlobalConfig(const std::string &detectorName, const int &partitionNumber, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static bool getSubsystemConfigIdsFromGlobalId(const IDSpec &idSpec, std::vector< int64_t > &idList, std::vector< SubsystemNameSpec > &subsystemNameSpecList, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE)
static bool getAvailableGlobalConfigs(IDSpec::MAJOR_SYSTEM_TYPE daqOrSlowControls, const std::string &detectorName, GlobalNameSpecMap &resultsTable, int maxDetailCountPerSummary=10, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static const std::string INSERTTIME_COLUMN_NAME
static const int32_t COPY_FOUND_INTERMEDIATE_UPDATE
static const std::string DETECTORID_COLUMN_NAME
static bool _findNextChild(const boost::shared_ptr< nova::database::Table > &dbt, std::vector< int64_t > &idList)
std::map< SubsystemNameSpec, std::vector< SubsystemNameSpec > > SubsystemNameSpecMap
static const std::string ISCOMPLETE_COLUMN_NAME
std::map< std::string, std::string > NamedConfigSelectionCriteria
static NamedConfigDetailsPtr _getDetails(const boost::shared_ptr< nova::database::Table > &dbt, const NamedConfigSelectionCriteria &selections)
std::map< GlobalNameSpec, std::vector< GlobalNameSpec > > GlobalNameSpecMap
static bool getSubsystemConfigIdAncestry(const SubsystemNameSpec &subsystemNameSpec, std::vector< int64_t > &idList, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE)
static NamedConfigDetailsPtr getNewestGlobalConfigFromSubsystemName(const SubsystemNameSpec &subsystemNameSpec, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static const std::string DCMOPMODE_COLUMN_NAME
static const std::string CONFIGTYPE_COLUMN_NAME
static bool incrementUsageCount(const IDSpec &idSpec, const std::string &tableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static std::vector< NamedConfigDetailsPtr > getSubsystemConfigsFromGlobalId(const IDSpec &idSpec, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE)
static novadaq::Status copyGlobalConfig(const IDSpec &sourceId, bool makeParentChildLink, const SimpleParameterSet &valuesToOverride, std::string baselineTimestamp, bool overrideIntermediateUpdate, int64_t &resultId, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static const std::string UPDATEUSER_COLUMN_NAME
boost::shared_ptr< GlobalNameSpec > GlobalNameSpecPtr
static const std::string DETECTORNAME_COLUMN_NAME
static const std::string UPDATETIME_COLUMN_NAME
static const std::string ID_COLUMN_NAME
static const std::string SUBSYSTEMNAME_COLUMN_NAME
static std::vector< NamedConfigDetailsPtr > getConfigDetailAncestry(const IDSpec &idSpec, const std::string &tableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static const int32_t COPY_SUCCEEDED
static novadaq::Status copySubsystemConfig(const IDSpec &sourceId, bool makeParentChildLink, const SimpleParameterSet &valuesToOverride, std::string baselineTimestamp, bool overrideIntermediateUpdate, int64_t &resultId, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE)
static bool _getId(const boost::shared_ptr< nova::database::Table > &dbt, const NamedConfigSelectionCriteria &selections, int64_t &id)
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)
static NamedConfigDetailsPtr getNewestGlobalConfigFromSubsystemId(const IDSpec &idSpec, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static const std::string NDOS_DETECTOR_NAME
static const std::string DEFAULT_DCS_SUBSYSTEM_NAMES_TABLE_FILE
static NamedConfigDetailsPtr getNewestGlobalConfigFromGlobalId(const IDSpec &idSpec, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static const std::string FAR_DETECTOR_NAME
std::map< std::string, std::string > NamedConfigDetails
static bool _findNextAncestor(const boost::shared_ptr< nova::database::Table > &dbt, std::vector< int64_t > &idList)
static const int32_t COPY_FOUND_UPDATE_IN_PROGRESS
static const std::string PARENTID_COLUMN_NAME
static bool markConfigDone(const IDSpec &idSpec, bool alsoComplete=false, const std::string &tableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static const std::string ISOBSOLETE_COLUMN_NAME
static bool getRecentGlobalConfigs(IDSpec::MAJOR_SYSTEM_TYPE daqOrSlowControls, const std::string &detectorName, int resultOffset, int resultLimit, GlobalNameSpecList &resultList, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static const std::string DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE
static bool getSubsystemConfigIdFromGlobalId(const IDSpec &idSpec, 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)
static bool getFieldValue(const NamedConfigDetailsPtr &details, const std::string &fieldName, std::string &fieldValue)
static const std::string LATEST_TIME_STRING
static const std::string NAME_COLUMN_NAME
static bool getGlobalConfigIdAncestry(const GlobalNameSpec &globalNameSpec, std::vector< int64_t > &idList, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)
static const std::string INSERTUSER_COLUMN_NAME
static const std::string SUBSYSCFGID_COLUMN_NAME
static const std::string NEAR_DETECTOR_NAME
static const int32_t COPY_FAILED
static bool getSubsystemConfigIdAncestryFromGlobalId(const IDSpec &globalConfigId, const std::string &subsystemName, const std::string &subsystemConfigType, std::vector< int64_t > &idList, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE, const std::string &subsystemNamesTableFile=DEFAULT_SUBSYSTEM_NAMES_TABLE_FILE)
static std::vector< NamedConfigDetailsPtr > getGlobalConfigDetailAncestry(const GlobalNameSpec &globalNameSpec, const std::string &globalNamesTableFile=DEFAULT_GLOBAL_NAMES_TABLE_FILE)