CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
ODJBH4Cycle Class Reference

#include <ODJBH4Cycle.h>

Inheritance diagram for ODJBH4Cycle:
IODConfig IDBObject

Public Member Functions

int getId () const
 
int getJBH4ConfigurationID () const
 
std::string getTable () override
 
 ODJBH4Cycle ()
 
bool operator!= (const ODJBH4Cycle &m) const
 
bool operator== (const ODJBH4Cycle &m) const
 
void setId (int id)
 
void setJBH4ConfigurationID (int x)
 
 ~ODJBH4Cycle () override
 
- Public Member Functions inherited from IODConfig
std::string getConfigTag ()
 
void setConfigTag (std::string x)
 
- Public Member Functions inherited from IDBObject
oracle::occi::Connection * getConn () const
 
oracle::occi::Environment * getEnv () const
 
void setConnection (oracle::occi::Environment *env, oracle::occi::Connection *conn)
 
virtual ~IDBObject ()
 

Private Member Functions

void clear ()
 
void fetchData (ODJBH4Cycle *result) noexcept(false)
 
int fetchID () noexcept(false)
 
void insertConfig () noexcept(false)
 
void prepareWrite () noexcept(false) override
 
void setByID (int id) noexcept(false)
 
void writeDB () noexcept(false)
 

Private Attributes

int m_ID
 
int m_jbh4_config_id
 

Friends

class EcalCondDBInterface
 
class ODEcalCycle
 

Additional Inherited Members

- Public Types inherited from IODConfig
typedef oracle::occi::Clob Clob
 
typedef oracle::occi::SQLException SQLException
 
typedef oracle::occi::Statement Statement
 
typedef oracle::occi::Stream Stream
 
- Public Attributes inherited from IODConfig
std::string m_config_tag
 
- Static Public Attributes inherited from IDBObject
static int const ECALDB_NROWS = 1024
 
- Protected Member Functions inherited from IODConfig
void checkPrepare () noexcept(false)
 
void createReadStatement () noexcept(false)
 
void populateClob (Clob &clob, std::string fname, unsigned int bufsize) noexcept(false)
 
unsigned char * readClob (Clob &clob, int size) noexcept(false)
 
void setPrefetchRowCount (int ncount) noexcept(false)
 
void terminateReadStatement () noexcept(false)
 
void terminateWriteStatement () noexcept(false)
 
- Protected Member Functions inherited from IDBObject
void checkConnection () const noexcept(false)
 
- Protected Attributes inherited from IODConfig
Statementm_readStmt
 
Statementm_writeStmt
 
- Protected Attributes inherited from IDBObject
oracle::occi::Connection * m_conn
 
oracle::occi::Environment * m_env
 

Detailed Description

Definition at line 9 of file ODJBH4Cycle.h.

Constructor & Destructor Documentation

◆ ODJBH4Cycle()

ODJBH4Cycle::ODJBH4Cycle ( )

Definition at line 9 of file ODJBH4Cycle.cc.

9  {
10  m_env = nullptr;
11  m_conn = nullptr;
12  m_writeStmt = nullptr;
13  m_readStmt = nullptr;
14  //
15  m_ID = 0;
16  m_jbh4_config_id = 0;
17 }
oracle::occi::Environment * m_env
Definition: IDBObject.h:33
int m_jbh4_config_id
Definition: ODJBH4Cycle.h:33
oracle::occi::Connection * m_conn
Definition: IDBObject.h:34
Statement * m_writeStmt
Definition: IODConfig.h:33
Statement * m_readStmt
Definition: IODConfig.h:34

◆ ~ODJBH4Cycle()

ODJBH4Cycle::~ODJBH4Cycle ( )
override

Definition at line 19 of file ODJBH4Cycle.cc.

19 {}

Member Function Documentation

◆ clear()

void ODJBH4Cycle::clear ( void  )
private

Definition at line 54 of file ODJBH4Cycle.cc.

54 { m_jbh4_config_id = 0; }
int m_jbh4_config_id
Definition: ODJBH4Cycle.h:33

◆ fetchData()

void ODJBH4Cycle::fetchData ( ODJBH4Cycle result)
privatenoexcept

Definition at line 109 of file ODJBH4Cycle.cc.

References MillePedeFileConverter_cfg::e, and mps_fire::result.

109  {
110  this->checkConnection();
111  result->clear();
112 
113  if (result->getId() == 0) {
114  throw(std::runtime_error("ODJBH4Config::fetchData(): no Id defined for this ODJBH4Config "));
115  }
116 
117  try {
118  m_readStmt->setSQL(
119  "SELECT jbh4_configuration_id FROM ecal_jbh4_cycle "
120  "WHERE cycle_id = :1 ");
121 
122  m_readStmt->setInt(1, result->getId());
123  ResultSet *rset = m_readStmt->executeQuery();
124 
125  rset->next();
126 
127  result->setJBH4ConfigurationID(rset->getInt(1));
128 
129  } catch (SQLException &e) {
130  throw(std::runtime_error("ODJBH4Cycle::fetchData(): " + e.getMessage()));
131  }
132 }
void checkConnection() const noexcept(false)
Definition: IDBObject.h:36
void clear()
Definition: ODJBH4Cycle.cc:54
oracle::occi::SQLException SQLException
Definition: IODConfig.h:20
Statement * m_readStmt
Definition: IODConfig.h:34

◆ fetchID()

int ODJBH4Cycle::fetchID ( )
privatenoexcept

Definition at line 56 of file ODJBH4Cycle.cc.

References MillePedeFileConverter_cfg::e.

56  {
57  // Return from memory if available
58  if (m_ID) {
59  return m_ID;
60  }
61 
62  this->checkConnection();
63 
64  try {
65  Statement *stmt = m_conn->createStatement();
66  stmt->setSQL(
67  "SELECT cycle_id, jbh4_configuration_id FROM ecal_jbh4_cycle "
68  "WHERE cycle_id = :1 ");
69  stmt->setInt(1, m_ID);
70  ResultSet *rset = stmt->executeQuery();
71 
72  if (rset->next()) {
73  m_ID = rset->getInt(1);
74  m_jbh4_config_id = rset->getInt(2);
75  } else {
76  m_ID = 0;
77  }
78  m_conn->terminateStatement(stmt);
79  } catch (SQLException &e) {
80  throw(std::runtime_error("ODJBH4Cycle::fetchID: " + e.getMessage()));
81  }
82 
83  return m_ID;
84 }
int m_jbh4_config_id
Definition: ODJBH4Cycle.h:33
oracle::occi::Connection * m_conn
Definition: IDBObject.h:34
void checkConnection() const noexcept(false)
Definition: IDBObject.h:36
oracle::occi::Statement Statement
Definition: IODConfig.h:21
oracle::occi::SQLException SQLException
Definition: IODConfig.h:20

◆ getId()

int ODJBH4Cycle::getId ( void  ) const
inline

Definition at line 20 of file ODJBH4Cycle.h.

References m_ID.

20 { return m_ID; };

◆ getJBH4ConfigurationID()

int ODJBH4Cycle::getJBH4ConfigurationID ( ) const
inline

Definition at line 24 of file ODJBH4Cycle.h.

References m_jbh4_config_id.

24 { return m_jbh4_config_id; }
int m_jbh4_config_id
Definition: ODJBH4Cycle.h:33

◆ getTable()

std::string ODJBH4Cycle::getTable ( )
inlineoverridevirtual

Implements IODConfig.

Definition at line 17 of file ODJBH4Cycle.h.

17 { return "ECAL_JBH4_CYCLE"; }

◆ insertConfig()

void ODJBH4Cycle::insertConfig ( )
privatenoexcept

Definition at line 134 of file ODJBH4Cycle.cc.

References MillePedeFileConverter_cfg::e, and dtFineDelayCorr_cfi::writeDB.

Referenced by ODEcalCycle::writeDB().

134  {
135  try {
136  prepareWrite();
137  writeDB();
138  m_conn->commit();
140  } catch (std::runtime_error &e) {
141  m_conn->rollback();
142  throw(e);
143  } catch (...) {
144  m_conn->rollback();
145  throw(std::runtime_error("EcalCondDBInterface::insertDataSet: Unknown exception caught"));
146  }
147 }
oracle::occi::Connection * m_conn
Definition: IDBObject.h:34
void terminateWriteStatement() noexcept(false)
Definition: IODConfig.h:42
void writeDB() noexcept(false)
Definition: ODJBH4Cycle.cc:34
void prepareWrite() noexcept(false) override
Definition: ODJBH4Cycle.cc:21

◆ operator!=()

bool ODJBH4Cycle::operator!= ( const ODJBH4Cycle m) const
inline

◆ operator==()

bool ODJBH4Cycle::operator== ( const ODJBH4Cycle m) const
inline

◆ prepareWrite()

void ODJBH4Cycle::prepareWrite ( )
overrideprivatevirtualnoexcept

Implements IODConfig.

Definition at line 21 of file ODJBH4Cycle.cc.

References MillePedeFileConverter_cfg::e.

21  {
22  this->checkConnection();
23 
24  try {
25  m_writeStmt = m_conn->createStatement();
26  m_writeStmt->setSQL(
27  "INSERT INTO ECAL_JBH4_Cycle (cycle_id, jbh4_configuration_id ) "
28  "VALUES (:1, :2 )");
29  } catch (SQLException &e) {
30  throw(std::runtime_error("ODJBH4Cycle::prepareWrite(): " + e.getMessage()));
31  }
32 }
oracle::occi::Connection * m_conn
Definition: IDBObject.h:34
Statement * m_writeStmt
Definition: IODConfig.h:33
void checkConnection() const noexcept(false)
Definition: IDBObject.h:36
oracle::occi::SQLException SQLException
Definition: IODConfig.h:20

◆ setByID()

void ODJBH4Cycle::setByID ( int  id)
privatenoexcept

Definition at line 86 of file ODJBH4Cycle.cc.

References MillePedeFileConverter_cfg::e.

86  {
87  this->checkConnection();
88 
89  try {
90  Statement *stmt = m_conn->createStatement();
91  stmt->setSQL(
92  "SELECT cycle_id, jbh4_configuration_id FROM ecal_jbh4_cycle "
93  "WHERE cycle_id = :1 ");
94  stmt->setInt(1, id);
95  ResultSet *rset = stmt->executeQuery();
96 
97  if (rset->next()) {
98  m_ID = rset->getInt(1);
99  m_jbh4_config_id = rset->getInt(2);
100  } else {
101  m_ID = 0;
102  }
103  m_conn->terminateStatement(stmt);
104  } catch (SQLException &e) {
105  throw(std::runtime_error("ODJBH4Cycle::fetchID: " + e.getMessage()));
106  }
107 }
int m_jbh4_config_id
Definition: ODJBH4Cycle.h:33
oracle::occi::Connection * m_conn
Definition: IDBObject.h:34
void checkConnection() const noexcept(false)
Definition: IDBObject.h:36
oracle::occi::Statement Statement
Definition: IODConfig.h:21
oracle::occi::SQLException SQLException
Definition: IODConfig.h:20

◆ setId()

void ODJBH4Cycle::setId ( int  id)
inline

Definition at line 19 of file ODJBH4Cycle.h.

References l1ctLayer2EG_cff::id, and m_ID.

Referenced by ODEcalCycle::writeDB().

◆ setJBH4ConfigurationID()

void ODJBH4Cycle::setJBH4ConfigurationID ( int  x)
inline

Definition at line 23 of file ODJBH4Cycle.h.

References m_jbh4_config_id, and x.

Referenced by ODEcalCycle::writeDB().

◆ writeDB()

void ODJBH4Cycle::writeDB ( )
privatenoexcept

Definition at line 34 of file ODJBH4Cycle.cc.

References MillePedeFileConverter_cfg::e, and getId().

34  {
35  this->checkConnection();
36  this->checkPrepare();
37 
38  try {
39  m_writeStmt->setInt(1, this->getId());
40  m_writeStmt->setInt(2, this->getJBH4ConfigurationID());
41 
42  m_writeStmt->executeUpdate();
43 
44  } catch (SQLException &e) {
45  throw(std::runtime_error("ODJBH4Cycle::writeDB: " + e.getMessage()));
46  }
47 
48  // Now get the ID
49  if (!this->fetchID()) {
50  throw(std::runtime_error("ODJBH4Cycle::writeDB: Failed to write"));
51  }
52 }
Statement * m_writeStmt
Definition: IODConfig.h:33
void checkConnection() const noexcept(false)
Definition: IDBObject.h:36
int getId() const
Definition: ODJBH4Cycle.h:20
int fetchID() noexcept(false)
Definition: ODJBH4Cycle.cc:56
oracle::occi::SQLException SQLException
Definition: IODConfig.h:20
int getJBH4ConfigurationID() const
Definition: ODJBH4Cycle.h:24
void checkPrepare() noexcept(false)
Definition: IODConfig.h:36

Friends And Related Function Documentation

◆ EcalCondDBInterface

friend class EcalCondDBInterface
friend

Definition at line 11 of file ODJBH4Cycle.h.

◆ ODEcalCycle

friend class ODEcalCycle
friend

Definition at line 12 of file ODJBH4Cycle.h.

Member Data Documentation

◆ m_ID

int ODJBH4Cycle::m_ID
private

Definition at line 32 of file ODJBH4Cycle.h.

Referenced by getId(), operator==(), and setId().

◆ m_jbh4_config_id

int ODJBH4Cycle::m_jbh4_config_id
private

Definition at line 33 of file ODJBH4Cycle.h.

Referenced by getJBH4ConfigurationID(), and setJBH4ConfigurationID().