1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#ifndef ConfigurationDatabaseImplXerces_hh_included
#define ConfigurationDatabaseImplXerces_hh_included 1
#include "CaloOnlineTools/HcalOnlineDb/interface/ConfigurationDatabaseImpl.hh"
#include <map>
#include <string>
#include "CaloOnlineTools/HcalOnlineDb/interface/ConfigurationDatabaseStandardXMLParser.hh"
//OCCI include
#include "OnlineDB/Oracle/interface/Oracle.h"
class ConfigurationDatabaseImplXMLFile : public hcal::ConfigurationDatabaseImpl {
public:
ConfigurationDatabaseImplXMLFile();
~ConfigurationDatabaseImplXMLFile() override;
bool canHandleMethod(const std::string& method) const override;
void connect(const std::string& accessor) noexcept(false) override;
void disconnect() override;
unsigned int getFirmwareChecksum(const std::string& board, unsigned int version) noexcept(false) override;
void getZSThresholds(const std::string& tag,
int crate,
int slot,
std::map<hcal::ConfigurationDatabase::ZSChannelId, int>& thresholds) noexcept(false) override;
void getFirmwareMCS(const std::string& board,
unsigned int version,
std::vector<std::string>& mcsLines) noexcept(false) override;
// maximally simple implementation
void getLUTs(
const std::string& tag,
int crate,
int slot,
std::map<hcal::ConfigurationDatabase::LUTId, hcal::ConfigurationDatabase::LUT>& LUTs) noexcept(false) override;
void getLUTChecksums(const std::string& tag,
std::map<hcal::ConfigurationDatabase::LUTId, hcal::ConfigurationDatabase::MD5Fingerprint>&
checksums) noexcept(false) override;
void getPatterns(const std::string& tag,
int crate,
int slot,
std::map<hcal::ConfigurationDatabase::PatternId, hcal::ConfigurationDatabase::HTRPattern>&
patterns) noexcept(false) override;
// added by Gena Kukartsev
//virtual oracle::occi::Connection * getConnection( void );
//virtual oracle::occi::Environment * getEnvironment( void );
private:
std::map<std::string, std::string> extractParams(int beg, int end);
std::map<std::string, std::string> parseWhere(const std::string& where);
std::string createKey(const std::map<std::string, std::string>& params);
std::map<std::string, std::pair<int, int> > m_lookup;
std::string m_buffer;
ConfigurationDatabaseStandardXMLParser m_parser;
};
#endif // ConfigurationDatabaseImplXMLFile_hh_included
|