3 #include "RelationalAccess/IWebCacheControl.h"
41 m_refreshtablelist.clear();
46 std::string
result = m_userconnect;
47 std::string proto(
"frontier://");
49 unsigned int nslash=this->countslash(m_userconnect.substr(proto.size(),m_userconnect.size()-fpos));
53 throw cms::Exception(
"edm::SiteLocalConfigService is not available");
57 if (!m_transactionId.empty()) {
58 size_t l = result.rfind(
'/');
59 result.insert(l,
"(freshkey="+m_transactionId+
')');
67 m_userconnect = userconnect;
70 std::string refreshConnect;
71 std::string realconnect=this->getRealConnectString();
73 if (startRefresh != std::string::npos){
77 if (endRefresh == std::string::npos){
78 refreshConnect = realconnect;
80 refreshConnect = realconnect.substr(startRefresh, endRefresh-startRefresh);
81 if(refreshConnect.substr(0,1) !=
"("){
84 refreshConnect.insert(0,
"http://");
87 std::vector<std::string>::iterator ibeg=m_refreshtablelist.begin();
88 std::vector<std::string>::iterator iend=m_refreshtablelist.end();
89 for(std::vector<std::string>::iterator it=ibeg; it!=iend; ++it){
98 while( slashpos!=std::string::npos){
99 slashpos = input.find(
'/', slashpos );
100 if ( slashpos != std::string::npos ){
const std::string & transactionId() const
DbConnectionConfiguration & configuration()
virtual std::string const lookupCalibConnect(std::string const &input) const =0
void initialize(const std::string &userconnect, const DbConnection &connection)
coral::IWebCacheControl & webCacheControl() const
std::vector< std::string > m_refreshtablelist
std::string m_userconnect
static unsigned int countslash(const std::string &input)
static std::string iovDataTableName()
std::string getRealConnectString() const
static std::string iovTableName()
#define DEFINE_EDM_PLUGIN(factory, type, name)
std::string m_transactionId
bool isTransactional() const