CMS 3D CMS Logo

DTLVStatusHandler.cc
Go to the documentation of this file.
1 /*
2  * See header file for a description of this class.
3  *
4  * \author Paolo Ronchese INFN Padova
5  *
6  */
7 
8 //-----------------------
9 // This Class' Header --
10 //-----------------------
12 
13 //-------------------------------
14 // Collaborating Class Headers --
15 //-------------------------------
17 
19 
20 #include "RelationalAccess/ISchema.h"
21 #include "RelationalAccess/ITable.h"
22 #include "RelationalAccess/ICursor.h"
23 #include "RelationalAccess/IQuery.h"
24 #include "CoralBase/AttributeList.h"
25 #include "CoralBase/AttributeSpecification.h"
26 #include "CoralBase/Attribute.h"
27 
28 //---------------
29 // C++ Headers --
30 //---------------
31 
32 #include <iostream>
33 
34 //-------------------
35 // Initializations --
36 //-------------------
37 
38 //----------------
39 // Constructors --
40 //----------------
42  : dataTag(ps.getParameter<std::string>("tag")),
43  onlineConnect(ps.getParameter<std::string>("onlineDB")),
44  onlineAuthentication(ps.getParameter<std::string>("onlineAuthentication")),
45  bufferConnect(ps.getParameter<std::string>("bufferDB")),
46  omds_session(),
47  buff_session() {
48  std::cout << " PopCon application for DT DCS data (CCB status) export " << std::endl;
49 }
50 
51 //--------------
52 // Destructor --
53 //--------------
55 
56 //--------------
57 // Operations --
58 //--------------
60  // online DB connection
61  std::cout << "configure omds DbConnection" << std::endl;
64  connection.configure();
65  std::cout << "create omds DbSession" << std::endl;
67  std::cout << "start omds transaction" << std::endl;
69  std::cout << "" << std::endl;
70 
71  // buffer DB connection
72  std::cout << "create buffer DbSession" << std::endl;
74  std::cout << "start buffer transaction" << std::endl;
75  buff_session.transaction().start();
76 
77  // offline info
78 
79  //to access the information on the tag inside the offline database:
80  cond::TagInfo const& ti = tagInfo();
81  unsigned int last = ti.lastInterval.first;
82  std::cout << "latest DCS data (CCB status) already copied for run: " << last << std::endl;
83 
84  if (last == 0) {
85  DTLVStatus* dummyConf = new DTLVStatus(dataTag);
86  cond::Time_t snc = 1;
87  m_to_transfer.push_back(std::make_pair(dummyConf, snc));
88  }
89 
90  //to access the information on last successful log entry for this tag:
91  // cond::LogDBEntry const & lde = logDBEntry();
92 
93  //to access the lastest payload (Ref is a smart pointer)
94  // Ref payload = lastPayload();
95 
96  unsigned lastRun = last;
97  std::cout << "check for new runs since " << lastRun << std::endl;
98 
99  buff_session.transaction().commit();
100  buff_session.close();
102 
103  return;
104 }
105 
~DTLVStatusHandler() override
cond::persistency::Session buff_session
void start(bool readOnly=true)
Definition: Session.cc:18
Transaction & transaction()
Definition: Session.cc:43
void getNewObjects() override
cond::ValidityInterval lastInterval
Definition: Types.h:74
unsigned long long Time_t
Definition: Time.h:14
Session createSession(const std::string &connectionString, bool writeCapable=false)
DTLVStatusHandler(const edm::ParameterSet &ps)
std::string onlineAuthentication
cond::persistency::Session omds_session
std::string onlineConnect
std::string bufferConnect
void setAuthenticationPath(const std::string &p)
cond::TagInfo_t const & tagInfo() const
std::string id() const override